VIP-SMUR / 24Sp-Mobility-1

0 stars 0 forks source link

Pedestrian Environment Index (PEI) Project Overview

Introduction and Overview

This project implements the Pedestrian Environment Index (PEI) methodology, a composite measure of walkability. It uses four key subindices:

Workflow

  1. Subindex Calculation: Each Jupyter Notebook file (*_generator.ipynb) processes a Census block group shapefile to compute its respective subindex score. The output is saved as either a CSV or GeoJSON file.
  2. PEI Compilation: The PEI_generator.ipynb notebook takes the outputs from the subindex generators and computes the final PEI score for each block group.
  3. Visualization: The results are presented as a map, visualizing the PEI scores across census block groups.

Note: To ensure consistency and ease of use, we are in the process of consolidating all output files into the GeoJSON format.

Detailed Index Calculations and Methodologies

Commercial Density Index (CDI)

Description

For this index, we gather the count of the different types of amenities in each block group. We then normalize the value by dividing each count by the greatest value for commercial density index within the region.

Parameters

Amenities & Tags Used

Returns

Value for the commercial density Index, normalized by the maximum commercial density within the area.

Intersection Density Index Generator

Description

This Python script analyzes a GeoJSON file containing block group data, calculating the Intersection Density Index (IDI) for each block group. It outputs a CSV file detailing these IDI values, providing insights into intersection patterns within the analyzed area.

Parameters

Returns

Workflow

  1. Reading GeoJSON data: Extracts the geometry of polygons from a file.
  2. Intersection Data Extraction: OSMNX is used to extract intersection data for a specified block.
  3. Equivalency Factor Calculation: The number of roads connecting each intersection in a polygon is determined, as is the total of the Equivalency factors of all intersections in a block.
  4. Population Density Calculation: Calculates IDI per block by dividing equivalency factor sums by respective areas. Normalize all IDIs.
  5. return file: generates a CSV with the data and IDI values required for creating visualizations in IDI_visualization.ipynb.

Land Diversity Index Generator

Description

This Python script analyzes a GeoJSON file containing block group data, calculating the Land Diversity Index (LDI) for each block group. It outputs a CSV file detailing these LDI values, providing insights into diversity within the analyzed area.

Parameters

Returns

Workflow

  1. Reading GeoJSON data: Extracts the geometry of polygons from a file.
  2. Land Use Data Extraction: OSMNX is used to extract Land use data for a specified block.
  3. Entropy Calculation: This is the first step of calculating LDI and the entropy is calculated for each block.
  4. Land Diversity Calculation: Calculates LDI per block by normalizing the entropies of all the blocks
  5. return file: generates a CSV with the data and LDI values required for creating visualizations in LDI_visualization.ipynb.

Population Density Index Generator

Description

This function retrieves the population data for each block group within the given geographic areas from the U.S. Census Bureau's API and merges it with an existing GeoDataFrame containing block group geometries. The result includes added columns for population density and PDI (normalized population density relative to the maximum value in the dataset).

Parameters

Returns

Raises

Workflow

  1. API Key Validation: Checks for the presence of an API key either directly through the parameter or within a local file.
  2. FIPS Code Extraction: Extracts the state and unique county FIPS codes from the GeoDataFrame.
  3. Census Data Retrieval: Uses the Census API to fetch population data for each block group in the specified counties and state.
  4. Data Integration: The fetched data is integrated into the original GeoDataFrame, converting population data to a usable format and creating new columns for population and population density.
  5. Population Density Calculation: Calculates the population density and normalized population density, adding these metrics to the GeoDataFrame.
  6. Data Cleaning: Cleans up the GeoDataFrame by removing unnecessary columns and ensuring proper indexing and geometry settings.