Skip to content

Parcel File

HU DONG edited this page Feb 2, 2024 · 26 revisions

The default naming convention for the BKRCast land use file is parcel_urbansim.txt. You can configure the location and default file name for the parcel file in input_configuration.py. This file serves as a pivotal component in the BKRCast model, encapsulating essential information about land use attributes.

The employment data by parcel in BKRCast is sourced from or derived from Employment Security Department (ESD) data. It is important to note that this information is subject to a confidentiality agreement with ESD. This underscores the significance of handling and utilizing the employment data in accordance with the terms specified in the confidentiality agreement to ensure compliance and protect sensitive information.

Data Source

Subject to data availability and horizon year, some or all of the following datasets will be used in assembling a parcel file.

  1. Parcel files (base year and future years) from PSRC
  2. Parcel data of Commercial sqft by category and density and number of households, derived from King County Assessor's data (only available for base year)
  3. Detailed local estimate of commercial sqft (by category and density) and number of households by parcel provided by partner cities of Bellevue, Kirkland and Redmond.

If employment data is provided by local jurisdiction, we can replace the PSRC's job estimate with the local estimate.

Employment Category

Land Use Grouping NAICS Codes Definitions
Educational 6111 - Public Educ (K-12) 6111   Elementary and Secondary Schools
Food Service 722 722 Food Services and Drinking Places
Government 92, 6113, Gov, Public Educ (higher) 92   Public Administration
6113 Colleges, Universities, and Professional Schools
Industrial 22, 31-33, 42, 48-49 22 Utilities
31-33 Manufacturing
42 wholesale Trade
48-49 Transportation and Warehousing
Medical 62 62 Health Care and Social Assistance
Office (other) 51-56 51 Information
52 Finance and Insurance
53 Real Estate and Rental and Leasing
54 Professional, Scientific, and Technical Services
55 Management of Companies and Enterprises
56 Administrative and Support, Waste Management and Remediation Services
Retail 44-45 44-45 Retail Trade
Service (other) 71,721,81 71 Arts, Entertainment, and Recreation
721 Accommodation
81 Other Services (except Public Administration)
Other Sector 11,21,23 11 Agriculture, Forestry, Fishing and Hunting
21 Mining, Quarrying, and Oil and Gas Extraction
23 Construction

How to Assemble a Parcel File from SQFT Data

General Approach

Use an appropriate parcel file from PSRC as the base. Replace jobs in BKR area with local estimates. If the derived King County assessor's data is available, use it to replace PSRC's data. In addition to number of jobs, number of parking stalls and parking rate (both short term and long term) are also needed. Usually PSRC's data is used unless better data is available.

Local estimate from Bellevue uses commercial sqft instead of number of jobs. The commercial sqft is separated by nine employment categories, Each category is further divided by five different densities: VeryLow, Low, Medimium, High, and VeryHigh. Number of jobs by employment category is converted through commercial sqft and conversion rates.

Input Files

All input files are text file, except synthetic population file, which is in H5 format.

File Data Source Purpose File Type
Parcel File SoundCast or BKRCast As base. Data will be carried forward if not replaced by other data text, separated by ' '
King County derived data King County use converted jobs in King County area (except BKR) csv
Local commercial sqft estimate Partner cities local estimate for its jurisdication csv
Conversion factors BKR to convert sqft to jobs csv
Subarea adjustment factor BKR Conversion factors only consider average condition. Some job centers need to be treated differently. csv
TAZ adjustment factors BKR Certain TAZ may need special treatment due to its unique characteristics. csv
Synthetic population BKR or PSRC Provide number of households by parcel to parcel file h5

The file assembling is done through a number of Python utility tools. Subject to data availability and horizoon year, exact steps to create a parcel file could be slightly different. Below are major steps for a few scenarios.

BKRCast Base Year Consistent with a PSRC Base Year

If a BKRCast base year is consistent with PSRC's base year, request parcel file (parcels_urbansim.txt) and synthetic population (hhs_and_persons.h5) file from PSRC. Follow the steps below to assemble a base year parcel file.

  1. Run Convert_PSRC_TAZ_to_BKRCastTAZ_in_parcel.py on the PSRC parcel file to convert PSRC TAZ to BKRCast TAZ.
  2. Run Convert_PSRC_TAZ_to_BKRCastTAZ_pop.py on the PSRC synthetic population to convert PSRC TAZ to BKRCast TAZ.
  3. Run replace_kingcounty_sqft_with_local_estimate.py on King County Assessor's data to replace a subset of KCA data with local estimate.
  4. RunUpdateParcelFileByParcel.py to assemble final parcel file for BKRCast.

BKRCast Base Year Inconsistent with PSRC Base Years

If BKRCast base year is inconsistent with PSRC's base year, follow these steps.

  1. Request parcel file (parcels_urbansim.txt for two different PSRC's horizon year so that BKRCast base year is in between. Run Convert_PSRC_TAZ_to_BKRCastTAZ_in_parcel.py on the PSRC parcel files to convert PSRC TAZ to BKRCast TAZ.
  2. Run PopulationSim to create synthetic population for the base year.
  3. Run Interpolate_parcel_files.py on the two converted parcel files to generate an interpolated parcel file that is consistent with BKRCast base year.
  4. Run replace_kingcounty_sqft_with_local_estimate.py on King County Assessor's data to replace a subset of KCA data with local estimate.
  5. RunUpdateParcelFileByParcel.py to assemble final parcel file for BKRCast.
  6. (optional)restore_parking_cost.py to restore parking information (number of stalls and cost for short term and long term) to a particular model year settings.

Create Parcel File for Concurrecy

  1. Clean the permit dataset. There is no tool to automate file cleaning so far. A few things are highlighted:
  • PIN could be duplicated.
  • PSRC_ID is missing. Need to run GIS to map PIN to PSRC_ID.
  • Some permit data will replace existing land use, while others are incremental.
  1. Run prepare_household_for_concurrency.py. This could have been done when creating synthetic population for concurrecy.
    Prepare_household_for_concurrency
  2. Run replace_kingcounty_sqft_with_local_estimate.py.
    replace_kingcounty_sqft_with_local_estimate
  3. Run UpdateParcelFilebyParcel.py to assemble final parcel file.
    UpdateParcelFileByParcel

How to Assemble a Parcel File from Employment Data

General Approach

This approach is much more straightforward. Starting from the PSRC parcel file, replace its number of jobs with job estimate from local jurisdiction. At the end, we need to transfer number of households data from synthetized population to the parcel file. If necessary, the parking cost needs to be adjusted as well.

Input Files

All input files are text file, except synthetic population file, which is in H5 format.

File Data Source Purpose File Type
Parcel File SoundCast or BKRCast As base. Data will be carried forward if not replaced by other data text, separated by ' '
Synthetic population BKR or PSRC Provide number of households by parcel to parcel file h5
Job estimate from local jurisdiction Local jurisdiction This data will replace PSRC's job estimate. text file, separated by ','

Base Year and Future Year Parcels

The step-by-step procedure of creating a parcel file for base year or future year scenario is identical. The differences are input files.

  1. Run prepare_land_use_step_1.py. This script will retrieve jobs and sqft data from land use file provided by local jurisdiction and save them to different data files.
    prepare_land_use_step_1_py.png
  2. Run interpolate_parcel_file2.py, if the base year is not consistent with PSRC's base year. This script will generate a parcels_urbansim.txt by interpolating PSRC's base year and future year parcel files. We do not need to run this script if base year happens to be consistent with PSRC's base year.
    interpolate_parcel_file2_py.png
  3. Run restore_parking_cost.py. This script will set the parking cost to a source parcel file.
    restore_parking_cost_py.png
  4. Run replace_parcel_columns_with_new_tables.py. This script will replace PSRC's job estimate with estimate from local jurisdiction.
    replace_parcel_columns_with_new_tables_py.png
  5. Run sync_population_to_parcel.py. This script will copy number of households per parcel from synthetic population to the parcel file.
    sync_population_to_parcel_py.png
Clone this wiki locally