Adding notebook to create score dissolve (#333)

This commit is contained in:
Nat Hillard 2021-07-21 16:10:32 -04:00 committed by GitHub
parent 14e6a98008
commit a7cdf1c021
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 1184 additions and 76 deletions

View file

@ -0,0 +1,914 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"source": [
"import pandas as pd\n",
"import geopandas as gpd\n",
"import math\n",
"import pathlib\n",
"import os\n",
"import sys"
],
"outputs": [],
"metadata": {}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"module_path = os.path.abspath(os.path.join(\"..\"))\n",
"if module_path not in sys.path:\n",
" sys.path.append(module_path)"
],
"outputs": [],
"metadata": {}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"def merge_and_simplify_file(file_name: str, usa_df: pd.DataFrame):\n",
" state_gdf = gpd.read_file(file_name)\n",
" state_repr = state_gdf.to_crs(\"+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs\")\n",
" state_merged = state_repr.merge(usa_df, on=\"GEOID10\", how=\"left\")\n",
" state_merged_simplified = state_merged[\n",
" [\"GEOID10\", \"Score D (percentile)\", \"geometry\"]\n",
" ].reset_index(drop=True)\n",
" state_merged_simplified.rename(\n",
" columns={\"Score D (percentile)\": \"D_SCORE\"}, inplace=True\n",
" )\n",
" return state_merged_simplified\n",
"\n",
"\n",
"def aggregate_to_tracts(block_group_df: pd.DataFrame):\n",
" # The tract identifier is the first 11 digits of the GEOID\n",
" block_group_df[\"tract\"] = block_group_df.apply(\n",
" lambda row: row[\"GEOID10\"][0:11], axis=1\n",
" )\n",
" state_tracts = block_group_df.dissolve(by=\"tract\", aggfunc=\"mean\")\n",
" return state_tracts\n",
"\n",
"\n",
"def create_buckets_from_tracts(state_tracts: pd.DataFrame, num_buckets: int):\n",
" # assign tracts to buckets by D_SCORE\n",
" state_tracts.sort_values(\"D_SCORE\", inplace=True)\n",
" D_SCORE_bucket = []\n",
" num_buckets = num_buckets\n",
" bucket_size = math.ceil(len(state_tracts.index) / num_buckets)\n",
" for i in range(len(state_tracts.index)):\n",
" D_SCORE_bucket.extend([math.floor(i / bucket_size)])\n",
" state_tracts[\"D_SCORE_bucket\"] = D_SCORE_bucket\n",
" return state_tracts\n",
"\n",
"\n",
"def aggregate_buckets(state_tracts: pd.DataFrame, agg_func: str):\n",
" # dissolve tracts by bucket\n",
" state_attr = state_tracts[[\"D_SCORE\", \"D_SCORE_bucket\", \"geometry\"]].reset_index(\n",
" drop=True\n",
" )\n",
" state_dissolve = state_attr.dissolve(by=\"D_SCORE_bucket\", aggfunc=agg_func)\n",
" return state_dissolve\n",
"\n",
"\n",
"def breakup_multipolygons(state_bucketed_df: pd.DataFrame, num_buckets: int):\n",
" compressed = []\n",
" for i in range(num_buckets):\n",
" for j in range(len(state_bucketed_df[\"geometry\"][i].geoms)):\n",
" compressed.append(\n",
" [\n",
" state_bucketed_df[\"D_SCORE\"][i],\n",
" state_bucketed_df[\"geometry\"][i].geoms[j],\n",
" ]\n",
" )\n",
" return compressed\n",
"\n",
"\n",
"def write_to_file(compressed: pd.DataFrame, file_name: str):\n",
" gdf_compressed = gpd.GeoDataFrame(\n",
" compressed, columns=[\"D_SCORE\", \"geometry\"], crs=\"EPSG:4326\"\n",
" )\n",
" gdf_compressed.to_file(CENSUS_GEOJSON_DIR / f\"{file_name}_low.geojson\", driver=\"GeoJSON\")\n",
"\n",
"\n",
"def process_file(file_name: str, usa_df: pd.DataFrame, num_buckets:int):\n",
" print(f\"Processing file {file_name}...\")\n",
" state_merged_simplified = merge_and_simplify_file(file_name, usa_df)\n",
" state_tracts = aggregate_to_tracts(state_merged_simplified)\n",
" state_tracts = create_buckets_from_tracts(state_tracts, num_buckets)\n",
" state_bucketed_df = aggregate_buckets(state_tracts, \"mean\")\n",
" compressed = breakup_multipolygons(state_bucketed_df, num_buckets)\n",
" write_to_file(compressed, file_name)"
],
"outputs": [],
"metadata": {}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"DATA_DIR = pathlib.Path.cwd().parent / \"data\"\n",
"CENSUS_GEOJSON_DIR = DATA_DIR / \"census\" / \"geojson\"\n",
"CEJST_DATA_PATH = DATA_DIR / \"score\" / \"csv\" / \"usa.csv\"\n",
"score_df = pd.read_csv(CEJST_DATA_PATH, dtype={\"GEOID10\": \"object\"})"
],
"outputs": [],
"metadata": {
"id": "Ia5bqxS2LJqe"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"master_df = gpd.GeoDataFrame()"
],
"outputs": [],
"metadata": {
"id": "Dtf5qD50JvCw"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"for file_name in CENSUS_GEOJSON_DIR.rglob('*.json'):\n",
" state_gdf = gpd.read_file(file_name)\n",
" master_df = master_df.append(state_gdf)"
],
"outputs": [],
"metadata": {
"id": "PNdw8bERJyKk"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"master_df = master_df.to_crs(\"+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs\")"
],
"outputs": [],
"metadata": {
"id": "B5SS9y2pLwks"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"master_df.shape"
],
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(220742, 13)"
]
},
"metadata": {
"tags": []
},
"execution_count": 68
}
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "_C6vaR9HQeLa",
"outputId": "fab3bc7f-e716-431e-bc76-bd26289ea4a4"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"master_df.head(2)"
],
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" STATEFP10 ... geometry\n",
"0 01 ... POLYGON ((-85.17240 31.82508, -85.17334 31.824...\n",
"1 01 ... POLYGON ((-85.16283 31.81051, -85.16284 31.813...\n",
"\n",
"[2 rows x 13 columns]"
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>STATEFP10</th>\n",
" <th>COUNTYFP10</th>\n",
" <th>TRACTCE10</th>\n",
" <th>BLKGRPCE10</th>\n",
" <th>GEOID10</th>\n",
" <th>NAMELSAD10</th>\n",
" <th>MTFCC10</th>\n",
" <th>FUNCSTAT10</th>\n",
" <th>ALAND10</th>\n",
" <th>AWATER10</th>\n",
" <th>INTPTLAT10</th>\n",
" <th>INTPTLON10</th>\n",
" <th>geometry</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>01</td>\n",
" <td>005</td>\n",
" <td>950500</td>\n",
" <td>2</td>\n",
" <td>010059505002</td>\n",
" <td>Block Group 2</td>\n",
" <td>G5030</td>\n",
" <td>S</td>\n",
" <td>191306077</td>\n",
" <td>605058</td>\n",
" <td>+31.7728221</td>\n",
" <td>-085.3325011</td>\n",
" <td>POLYGON ((-85.17240 31.82508, -85.17334 31.824...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>01</td>\n",
" <td>005</td>\n",
" <td>950500</td>\n",
" <td>1</td>\n",
" <td>010059505001</td>\n",
" <td>Block Group 1</td>\n",
" <td>G5030</td>\n",
" <td>S</td>\n",
" <td>44574612</td>\n",
" <td>8952734</td>\n",
" <td>+31.7523221</td>\n",
" <td>-085.2009470</td>\n",
" <td>POLYGON ((-85.16283 31.81051, -85.16284 31.813...</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"metadata": {
"tags": []
},
"execution_count": 69
}
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "oMoubjqCQiw5",
"outputId": "6195ffbc-6275-40c6-bb6a-e0a6bd1e71f0"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"usa_df = pd.read_csv(CEJST_DATA_PATH, dtype={\"GEOID10\": \"object\"})"
],
"outputs": [],
"metadata": {
"id": "bAMmGSgzVml0"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"usa_merged = master_df.merge(usa_df, on=\"GEOID10\", how=\"left\")"
],
"outputs": [],
"metadata": {
"id": "U7M7dExdV2Vh"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"usa_merged.head(2)"
],
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" STATEFP10 COUNTYFP10 ... Score E (percentile) Score E (top 25th percentile)\n",
"0 01 005 ... 0.576986 False\n",
"1 01 005 ... 0.670349 False\n",
"\n",
"[2 rows x 98 columns]"
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>STATEFP10</th>\n",
" <th>COUNTYFP10</th>\n",
" <th>TRACTCE10</th>\n",
" <th>BLKGRPCE10</th>\n",
" <th>GEOID10</th>\n",
" <th>NAMELSAD10</th>\n",
" <th>MTFCC10</th>\n",
" <th>FUNCSTAT10</th>\n",
" <th>ALAND10</th>\n",
" <th>AWATER10</th>\n",
" <th>INTPTLAT10</th>\n",
" <th>INTPTLON10</th>\n",
" <th>geometry</th>\n",
" <th>Housing burden (percent)</th>\n",
" <th>Total population</th>\n",
" <th>Air toxics cancer risk</th>\n",
" <th>Respiratory hazard index</th>\n",
" <th>Diesel particulate matter</th>\n",
" <th>Particulate matter (PM2.5)</th>\n",
" <th>Ozone</th>\n",
" <th>Traffic proximity and volume</th>\n",
" <th>Proximity to RMP sites</th>\n",
" <th>Proximity to TSDF sites</th>\n",
" <th>Proximity to NPL sites</th>\n",
" <th>Wastewater discharge</th>\n",
" <th>Percent pre-1960s housing (lead paint indicator)</th>\n",
" <th>Individuals under 5 years old</th>\n",
" <th>Individuals over 64 years old</th>\n",
" <th>Linguistic isolation (percent)</th>\n",
" <th>Percent of households in linguistic isolation</th>\n",
" <th>Poverty (Less than 200% of federal poverty line)</th>\n",
" <th>Percent individuals age 25 or over with less than high school degree</th>\n",
" <th>Unemployed civilians (percent)</th>\n",
" <th>Housing + Transportation Costs % Income for the Regional Typical Household</th>\n",
" <th>GEOID10 (percentile)</th>\n",
" <th>Housing burden (percent) (percentile)</th>\n",
" <th>Total population (percentile)</th>\n",
" <th>Air toxics cancer risk (percentile)</th>\n",
" <th>Respiratory hazard index (percentile)</th>\n",
" <th>Diesel particulate matter (percentile)</th>\n",
" <th>...</th>\n",
" <th>Air toxics cancer risk (min-max normalized)</th>\n",
" <th>Respiratory hazard index (min-max normalized)</th>\n",
" <th>Diesel particulate matter (min-max normalized)</th>\n",
" <th>Particulate matter (PM2.5) (min-max normalized)</th>\n",
" <th>Ozone (min-max normalized)</th>\n",
" <th>Traffic proximity and volume (min-max normalized)</th>\n",
" <th>Proximity to RMP sites (min-max normalized)</th>\n",
" <th>Proximity to TSDF sites (min-max normalized)</th>\n",
" <th>Proximity to NPL sites (min-max normalized)</th>\n",
" <th>Wastewater discharge (min-max normalized)</th>\n",
" <th>Percent pre-1960s housing (lead paint indicator) (min-max normalized)</th>\n",
" <th>Individuals under 5 years old (min-max normalized)</th>\n",
" <th>Individuals over 64 years old (min-max normalized)</th>\n",
" <th>Linguistic isolation (percent) (min-max normalized)</th>\n",
" <th>Percent of households in linguistic isolation (min-max normalized)</th>\n",
" <th>Poverty (Less than 200% of federal poverty line) (min-max normalized)</th>\n",
" <th>Percent individuals age 25 or over with less than high school degree (min-max normalized)</th>\n",
" <th>Unemployed civilians (percent) (min-max normalized)</th>\n",
" <th>Housing + Transportation Costs % Income for the Regional Typical Household (min-max normalized)</th>\n",
" <th>Score A</th>\n",
" <th>Score B</th>\n",
" <th>Socioeconomic Factors</th>\n",
" <th>Sensitive populations</th>\n",
" <th>Environmental effects</th>\n",
" <th>Exposures</th>\n",
" <th>Pollution Burden</th>\n",
" <th>Population Characteristics</th>\n",
" <th>Score C</th>\n",
" <th>Score D</th>\n",
" <th>Score E</th>\n",
" <th>Score A (percentile)</th>\n",
" <th>Score A (top 25th percentile)</th>\n",
" <th>Score B (percentile)</th>\n",
" <th>Score B (top 25th percentile)</th>\n",
" <th>Score C (percentile)</th>\n",
" <th>Score C (top 25th percentile)</th>\n",
" <th>Score D (percentile)</th>\n",
" <th>Score D (top 25th percentile)</th>\n",
" <th>Score E (percentile)</th>\n",
" <th>Score E (top 25th percentile)</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>01</td>\n",
" <td>005</td>\n",
" <td>950500</td>\n",
" <td>2</td>\n",
" <td>010059505002</td>\n",
" <td>Block Group 2</td>\n",
" <td>G5030</td>\n",
" <td>S</td>\n",
" <td>191306077</td>\n",
" <td>605058</td>\n",
" <td>+31.7728221</td>\n",
" <td>-085.3325011</td>\n",
" <td>POLYGON ((-85.17240 31.82508, -85.17334 31.824...</td>\n",
" <td>0.176565</td>\n",
" <td>923.0</td>\n",
" <td>44.636463</td>\n",
" <td>0.784089</td>\n",
" <td>0.121767</td>\n",
" <td>9.536056</td>\n",
" <td>34.660008</td>\n",
" <td>0.880242</td>\n",
" <td>0.295180</td>\n",
" <td>0.023752</td>\n",
" <td>0.019262</td>\n",
" <td>0.050677</td>\n",
" <td>0.20177</td>\n",
" <td>0.047671</td>\n",
" <td>0.286024</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.276273</td>\n",
" <td>0.181102</td>\n",
" <td>0.159836</td>\n",
" <td>64.0</td>\n",
" <td>0.000631</td>\n",
" <td>0.25485</td>\n",
" <td>0.272930</td>\n",
" <td>0.944257</td>\n",
" <td>0.982043</td>\n",
" <td>0.082062</td>\n",
" <td>...</td>\n",
" <td>0.025691</td>\n",
" <td>0.181789</td>\n",
" <td>0.020039</td>\n",
" <td>0.444097</td>\n",
" <td>0.190363</td>\n",
" <td>0.000023</td>\n",
" <td>0.016043</td>\n",
" <td>0.000054</td>\n",
" <td>0.002143</td>\n",
" <td>1.179715e-07</td>\n",
" <td>0.20177</td>\n",
" <td>0.090801</td>\n",
" <td>0.286024</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.276273</td>\n",
" <td>0.181102</td>\n",
" <td>0.159836</td>\n",
" <td>0.322034</td>\n",
" <td>0.597295</td>\n",
" <td>0.335222</td>\n",
" <td>0.638895</td>\n",
" <td>0.535636</td>\n",
" <td>0.381877</td>\n",
" <td>0.494252</td>\n",
" <td>0.456794</td>\n",
" <td>0.587265</td>\n",
" <td>0.268259</td>\n",
" <td>0.149124</td>\n",
" <td>0.529853</td>\n",
" <td>0.617238</td>\n",
" <td>False</td>\n",
" <td>0.61452</td>\n",
" <td>False</td>\n",
" <td>0.615988</td>\n",
" <td>False</td>\n",
" <td>0.565349</td>\n",
" <td>False</td>\n",
" <td>0.576986</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>01</td>\n",
" <td>005</td>\n",
" <td>950500</td>\n",
" <td>1</td>\n",
" <td>010059505001</td>\n",
" <td>Block Group 1</td>\n",
" <td>G5030</td>\n",
" <td>S</td>\n",
" <td>44574612</td>\n",
" <td>8952734</td>\n",
" <td>+31.7523221</td>\n",
" <td>-085.2009470</td>\n",
" <td>POLYGON ((-85.16283 31.81051, -85.16284 31.813...</td>\n",
" <td>0.176565</td>\n",
" <td>818.0</td>\n",
" <td>44.636463</td>\n",
" <td>0.784089</td>\n",
" <td>0.121767</td>\n",
" <td>9.536056</td>\n",
" <td>34.660008</td>\n",
" <td>60.055410</td>\n",
" <td>0.232153</td>\n",
" <td>0.027767</td>\n",
" <td>0.018079</td>\n",
" <td>0.007115</td>\n",
" <td>0.00000</td>\n",
" <td>0.007335</td>\n",
" <td>0.264059</td>\n",
" <td>0.039261</td>\n",
" <td>0.038369</td>\n",
" <td>0.391198</td>\n",
" <td>0.186147</td>\n",
" <td>0.053125</td>\n",
" <td>80.0</td>\n",
" <td>0.000626</td>\n",
" <td>0.25485</td>\n",
" <td>0.200764</td>\n",
" <td>0.944257</td>\n",
" <td>0.982043</td>\n",
" <td>0.082062</td>\n",
" <td>...</td>\n",
" <td>0.025691</td>\n",
" <td>0.181789</td>\n",
" <td>0.020039</td>\n",
" <td>0.444097</td>\n",
" <td>0.190363</td>\n",
" <td>0.001598</td>\n",
" <td>0.012618</td>\n",
" <td>0.000063</td>\n",
" <td>0.002011</td>\n",
" <td>1.656256e-08</td>\n",
" <td>0.00000</td>\n",
" <td>0.013971</td>\n",
" <td>0.264059</td>\n",
" <td>0.039261</td>\n",
" <td>0.038369</td>\n",
" <td>0.391198</td>\n",
" <td>0.186147</td>\n",
" <td>0.053125</td>\n",
" <td>0.412429</td>\n",
" <td>0.693861</td>\n",
" <td>0.477826</td>\n",
" <td>0.728309</td>\n",
" <td>0.557538</td>\n",
" <td>0.264424</td>\n",
" <td>0.530404</td>\n",
" <td>0.441744</td>\n",
" <td>0.642924</td>\n",
" <td>0.284008</td>\n",
" <td>0.159628</td>\n",
" <td>0.589397</td>\n",
" <td>0.723269</td>\n",
" <td>False</td>\n",
" <td>0.73044</td>\n",
" <td>False</td>\n",
" <td>0.661758</td>\n",
" <td>False</td>\n",
" <td>0.608434</td>\n",
" <td>False</td>\n",
" <td>0.670349</td>\n",
" <td>False</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>2 rows × 98 columns</p>\n",
"</div>"
]
},
"metadata": {
"tags": []
},
"execution_count": 72
}
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Sr25DUkxWVhg",
"outputId": "1e804075-0f7d-4174-82d7-e21b8519c8bf"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"usa_merged_compressed = gpd.GeoDataFrame(usa_merged, crs=\"EPSG:4326\")"
],
"outputs": [],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ANMlAB8Qmtu8",
"outputId": "44934741-90a9-4664-fab5-2c39b348d2be"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"usa_merged_compressed.to_file(CENSUS_GEOJSON_DIR / \"usa_merged.geojson\", driver=\"GeoJSON\")"
],
"outputs": [],
"metadata": {
"id": "PBPD9LQctvPJ"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"usa_simplified = usa_merged[\n",
" [\"GEOID10\", \"Score D (percentile)\", \"geometry\"]\n",
" ].reset_index(drop=True)"
],
"outputs": [],
"metadata": {
"id": "qAAEr1z-WZAT"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"usa_simplified.rename(\n",
" columns={\"Score D (percentile)\": \"D_SCORE\"}, inplace=True\n",
" )"
],
"outputs": [],
"metadata": {
"id": "SCNUjEbzWg-o"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"usa_cbg_compressed = gpd.GeoDataFrame(\n",
" usa_simplified, columns=[\"D_SCORE\", \"geometry\"], crs=\"EPSG:4326\"\n",
" )"
],
"outputs": [],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Ej70uX0AmW0J",
"outputId": "88908f5e-b62d-494f-f0ea-649089b6652a"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"usa_cbg_compressed.to_file(CENSUS_GEOJSON_DIR / \"usa_cbg_scoreD.geojson\", driver=\"GeoJSON\")"
],
"outputs": [],
"metadata": {
"id": "UE12dWmame3I"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"usa_tracts = aggregate_to_tracts(usa_simplified)"
],
"outputs": [],
"metadata": {
"id": "wWFBduQQXGtM"
}
},
{
"cell_type": "code",
"execution_count": 76,
"source": [
"num_buckets = 10"
],
"outputs": [],
"metadata": {
"id": "L-PTnEWOpDtX"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"tracts_compressed = gpd.GeoDataFrame(\n",
" usa_tracts, columns=[\"D_SCORE\", \"geometry\"], crs=\"EPSG:4326\"\n",
" )"
],
"outputs": [],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "kTJafXcqXC01",
"outputId": "bd197952-76b7-4f99-edef-983f20d7acfb"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"tracts_compressed.to_file(CENSUS_GEOJSON_DIR / \"usa_tracts_score.geojson\", driver=\"GeoJSON\")"
],
"outputs": [],
"metadata": {
"id": "E2Nh97IlYhCF"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"usa_bucketed = create_buckets_from_tracts(usa_tracts)"
],
"outputs": [],
"metadata": {
"id": "557zPMWFZC8R"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"usa_aggregated = aggregate_buckets(usa_bucketed, agg_func=\"mean\")"
],
"outputs": [],
"metadata": {
"id": "k6RRdKlsaO0a"
}
},
{
"cell_type": "code",
"execution_count": 80,
"source": [
"usa_aggregated.shape"
],
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(10, 2)"
]
},
"metadata": {
"tags": []
},
"execution_count": 80
}
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "-cm5eET2pA1Z",
"outputId": "8d5d2e80-ad62-41d5-f1b0-922345f92d62"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"compressed = breakup_multipolygons(usa_aggregated, num_buckets)"
],
"outputs": [],
"metadata": {
"id": "4ZvJra-RaZ4v"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"len(compressed)"
],
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"36836"
]
},
"metadata": {
"tags": []
},
"execution_count": 82
}
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "RDS7Q2WAb4Rx",
"outputId": "dcd28a31-083d-482e-b000-b4cd1046d4c2"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"gdf_compressed = gpd.GeoDataFrame(\n",
" compressed, columns=[\"D_SCORE\", \"geometry\"], crs=\"EPSG:4326\"\n",
" )"
],
"outputs": [],
"metadata": {
"id": "VXTv8UuXb-qU"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"gdf_compressed.shape"
],
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(36836, 2)"
]
},
"metadata": {
"tags": []
},
"execution_count": 84
}
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "5v7TyB_rcRgT",
"outputId": "997625cc-c57a-4335-9b27-a08e4f8ad117"
}
},
{
"cell_type": "code",
"execution_count": null,
"source": [
"gdf_compressed.to_file(CENSUS_GEOJSON_DIR / f\"usa_low.geojson\", driver=\"GeoJSON\")"
],
"outputs": [],
"metadata": {
"id": "5eAnPL8McJpn"
}
}
],
"metadata": {
"colab": {
"name": "Score_Dissolve_Script",
"provenance": []
},
"kernelspec": {
"display_name": "Python 3.9.5 ('.venv': venv)",
"language": "python",
"name": "python395jvsc74a57bd0935cbd69f49565f763db1e6a6adc70b468d078eb4d5856e64428cea33b57a041"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

View file

@ -63,7 +63,7 @@ python-versions = "*"
[[package]]
name = "black"
version = "21.6b0"
version = "21.7b0"
description = "The uncompromising code formatter."
category = "dev"
optional = false
@ -75,7 +75,7 @@ click = ">=7.1.2"
mypy-extensions = ">=0.4.3"
pathspec = ">=0.8.1,<1"
regex = ">=2020.1.8"
toml = ">=0.10.1"
tomli = ">=0.2.6,<2.0.0"
typed-ast = {version = ">=1.4.2", markers = "python_version < \"3.8\""}
typing-extensions = {version = ">=3.7.4", markers = "python_version < \"3.8\""}
@ -87,7 +87,7 @@ uvloop = ["uvloop (>=0.15.2)"]
[[package]]
name = "bleach"
version = "3.3.0"
version = "3.3.1"
description = "An easy safelist-based HTML-sanitizing tool."
category = "main"
optional = false
@ -130,12 +130,15 @@ python-versions = "*"
pycparser = "*"
[[package]]
name = "chardet"
version = "4.0.0"
description = "Universal encoding detector for Python 2 and 3"
name = "charset-normalizer"
version = "2.0.3"
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
python-versions = ">=3.5.0"
[package.extras]
unicode_backport = ["unicodedata2"]
[[package]]
name = "click"
@ -149,6 +152,34 @@ python-versions = ">=3.6"
colorama = {version = "*", markers = "platform_system == \"Windows\""}
importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
[[package]]
name = "click-plugins"
version = "1.1.1"
description = "An extension module for click to enable registering CLI commands via setuptools entry-points."
category = "main"
optional = false
python-versions = "*"
[package.dependencies]
click = ">=4.0"
[package.extras]
dev = ["pytest (>=3.6)", "pytest-cov", "wheel", "coveralls"]
[[package]]
name = "cligj"
version = "0.7.2"
description = "Click params for commmand line interfaces to GeoJSON"
category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4"
[package.dependencies]
click = ">=4.0"
[package.extras]
test = ["pytest-cov"]
[[package]]
name = "colorama"
version = "0.4.4"
@ -206,13 +237,50 @@ category = "main"
optional = false
python-versions = ">=2.7"
[[package]]
name = "fiona"
version = "1.8.20"
description = "Fiona reads and writes spatial data files"
category = "main"
optional = false
python-versions = "*"
[package.dependencies]
attrs = ">=17"
certifi = "*"
click = ">=4.0"
click-plugins = ">=1.0"
cligj = ">=0.5"
munch = "*"
six = ">=1.7"
[package.extras]
all = ["pytest (>=3)", "boto3 (>=1.2.4)", "pytest-cov", "shapely", "mock"]
calc = ["shapely"]
s3 = ["boto3 (>=1.2.4)"]
test = ["pytest (>=3)", "pytest-cov", "boto3 (>=1.2.4)", "mock"]
[[package]]
name = "geopandas"
version = "0.9.0"
description = "Geographic pandas extensions"
category = "main"
optional = false
python-versions = ">=3.6"
[package.dependencies]
fiona = ">=1.8"
pandas = ">=0.24.0"
pyproj = ">=2.2.0"
shapely = ">=1.6"
[[package]]
name = "idna"
version = "2.10"
version = "3.2"
description = "Internationalized Domain Names in Applications (IDNA)"
category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
python-versions = ">=3.5"
[[package]]
name = "importlib-metadata"
@ -232,20 +300,21 @@ testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytes
[[package]]
name = "ipykernel"
version = "6.0.1"
version = "6.0.3"
description = "IPython Kernel for Jupyter"
category = "main"
optional = false
python-versions = ">=3.7"
[package.dependencies]
debugpy = ">=1.0.0"
appnope = {version = "*", markers = "platform_system == \"Darwin\""}
debugpy = ">=1.0.0,<2.0"
importlib-metadata = {version = "<4", markers = "python_version < \"3.8.0\""}
ipython = ">=7.23.1"
jupyter-client = "*"
matplotlib-inline = {version = ">=0.1.0,<0.2.0appnope", markers = "platform_system == \"Darwin\""}
tornado = ">=4.2"
traitlets = ">=4.1.0"
ipython = ">=7.23.1,<8.0"
jupyter-client = "<7.0"
matplotlib-inline = ">=0.1.0,<0.2.0"
tornado = ">=4.2,<7.0"
traitlets = ">=4.1.0,<6.0"
[package.extras]
test = ["pytest (!=5.3.4)", "pytest-cov", "flaky", "nose", "ipyparallel"]
@ -566,6 +635,21 @@ category = "main"
optional = false
python-versions = "*"
[[package]]
name = "munch"
version = "2.5.0"
description = "A dot-accessible dictionary (a la JavaScript objects)"
category = "main"
optional = false
python-versions = "*"
[package.dependencies]
six = "*"
[package.extras]
testing = ["pytest", "coverage", "astroid (>=1.5.3,<1.6.0)", "pylint (>=1.7.2,<1.8.0)", "astroid (>=2.0)", "pylint (>=2.3.1,<2.4.0)"]
yaml = ["PyYAML (>=5.1.0)"]
[[package]]
name = "mypy"
version = "0.910"
@ -699,7 +783,7 @@ test = ["pytest", "coverage", "requests", "nbval", "selenium", "pytest-cov", "re
[[package]]
name = "numpy"
version = "1.21.0"
version = "1.21.1"
description = "NumPy is the fundamental package for array computing with Python."
category = "main"
optional = false
@ -754,11 +838,11 @@ testing = ["docopt", "pytest (<6.0.0)"]
[[package]]
name = "pathspec"
version = "0.8.1"
version = "0.9.0"
description = "Utility library for gitignore style pattern matching of file paths."
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
[[package]]
name = "pexpect"
@ -841,6 +925,17 @@ category = "main"
optional = false
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
[[package]]
name = "pyproj"
version = "3.1.0"
description = "Python interface to PROJ (cartographic projections and coordinate transformations library)"
category = "main"
optional = false
python-versions = ">=3.7"
[package.dependencies]
certifi = "*"
[[package]]
name = "pyrsistent"
version = "0.18.0"
@ -851,7 +946,7 @@ python-versions = ">=3.6"
[[package]]
name = "python-dateutil"
version = "2.8.1"
version = "2.8.2"
description = "Extensions to the standard Python datetime module"
category = "main"
optional = false
@ -944,21 +1039,21 @@ python-versions = "*"
[[package]]
name = "requests"
version = "2.25.1"
version = "2.26.0"
description = "Python HTTP for Humans."
category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
[package.dependencies]
certifi = ">=2017.4.17"
chardet = ">=3.0.2,<5"
idna = ">=2.5,<3"
charset-normalizer = {version = ">=2.0.0,<2.1.0", markers = "python_version >= \"3\""}
idna = {version = ">=2.5,<4", markers = "python_version >= \"3\""}
urllib3 = ">=1.21.1,<1.27"
[package.extras]
security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)"]
socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"]
use_chardet_on_py3 = ["chardet (>=3.0.2,<5)"]
[[package]]
name = "send2trash"
@ -971,6 +1066,19 @@ python-versions = "*"
[package.extras]
win32 = ["pywin32"]
[[package]]
name = "shapely"
version = "1.7.1"
description = "Geometric objects, predicates, and operations"
category = "main"
optional = false
python-versions = "*"
[package.extras]
all = ["numpy", "pytest", "pytest-cov"]
test = ["pytest", "pytest-cov"]
vectorized = ["numpy"]
[[package]]
name = "six"
version = "1.16.0"
@ -1014,6 +1122,14 @@ category = "dev"
optional = false
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
[[package]]
name = "tomli"
version = "1.0.4"
description = "A lil' TOML parser"
category = "dev"
optional = false
python-versions = ">=3.6"
[[package]]
name = "tornado"
version = "6.1"
@ -1115,7 +1231,7 @@ testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytes
[metadata]
lock-version = "1.1"
python-versions = "^3.7.1"
content-hash = "52ad5ba35e7d93fa44ce1b0040073618f990a30bdd90b8828e7b3270bbaf8385"
content-hash = "406b3a54060fb9905fca2ad0109ec916313f66a3c4f2bf79297877c521ce1820"
[metadata.files]
appdirs = [
@ -1163,12 +1279,12 @@ backcall = [
{file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"},
]
black = [
{file = "black-21.6b0-py3-none-any.whl", hash = "sha256:dfb8c5a069012b2ab1e972e7b908f5fb42b6bbabcba0a788b86dc05067c7d9c7"},
{file = "black-21.6b0.tar.gz", hash = "sha256:dc132348a88d103016726fe360cb9ede02cecf99b76e3660ce6c596be132ce04"},
{file = "black-21.7b0-py3-none-any.whl", hash = "sha256:1c7aa6ada8ee864db745b22790a32f94b2795c253a75d6d9b5e439ff10d23116"},
{file = "black-21.7b0.tar.gz", hash = "sha256:c8373c6491de9362e39271630b65b964607bc5c79c83783547d76c839b3aa219"},
]
bleach = [
{file = "bleach-3.3.0-py2.py3-none-any.whl", hash = "sha256:6123ddc1052673e52bab52cdc955bcb57a015264a1c57d37bea2f6b817af0125"},
{file = "bleach-3.3.0.tar.gz", hash = "sha256:98b3170739e5e83dd9dc19633f074727ad848cbedb6026708c8ac2d3b697a433"},
{file = "bleach-3.3.1-py2.py3-none-any.whl", hash = "sha256:ae976d7174bba988c0b632def82fdc94235756edfb14e6558a9c5be555c9fb78"},
{file = "bleach-3.3.1.tar.gz", hash = "sha256:306483a5a9795474160ad57fce3ddd1b50551e981eed8e15a582d34cef28aafa"},
]
censusdata = [
{file = "CensusData-1.13.tar.gz", hash = "sha256:c2cc6ea93cb704f84fe4dda84925884c220bdf5dc8e5dd1a4b63a068f6a16ba8"},
@ -1219,14 +1335,22 @@ cffi = [
{file = "cffi-1.14.6-cp39-cp39-win_amd64.whl", hash = "sha256:818014c754cd3dba7229c0f5884396264d51ffb87ec86e927ef0be140bfdb0d2"},
{file = "cffi-1.14.6.tar.gz", hash = "sha256:c9a875ce9d7fe32887784274dd533c57909b7b1dcadcc128a2ac21331a9765dd"},
]
chardet = [
{file = "chardet-4.0.0-py2.py3-none-any.whl", hash = "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5"},
{file = "chardet-4.0.0.tar.gz", hash = "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa"},
charset-normalizer = [
{file = "charset-normalizer-2.0.3.tar.gz", hash = "sha256:c46c3ace2d744cfbdebceaa3c19ae691f53ae621b39fd7570f59d14fb7f2fd12"},
{file = "charset_normalizer-2.0.3-py3-none-any.whl", hash = "sha256:88fce3fa5b1a84fdcb3f603d889f723d1dd89b26059d0123ca435570e848d5e1"},
]
click = [
{file = "click-8.0.1-py3-none-any.whl", hash = "sha256:fba402a4a47334742d782209a7c79bc448911afe1149d07bdabdf480b3e2f4b6"},
{file = "click-8.0.1.tar.gz", hash = "sha256:8c04c11192119b1ef78ea049e0a6f0463e4c48ef00a30160c704337586f3ad7a"},
]
click-plugins = [
{file = "click-plugins-1.1.1.tar.gz", hash = "sha256:46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b"},
{file = "click_plugins-1.1.1-py2.py3-none-any.whl", hash = "sha256:5d262006d3222f5057fd81e1623d4443e41dcda5dc815c06b442aa3c02889fc8"},
]
cligj = [
{file = "cligj-0.7.2-py3-none-any.whl", hash = "sha256:c1ca117dbce1fe20a5809dc96f01e1c2840f6dcc939b3ddbb1111bf330ba82df"},
{file = "cligj-0.7.2.tar.gz", hash = "sha256:a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27"},
]
colorama = [
{file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"},
{file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"},
@ -1305,17 +1429,32 @@ entrypoints = [
{file = "entrypoints-0.3-py2.py3-none-any.whl", hash = "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19"},
{file = "entrypoints-0.3.tar.gz", hash = "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451"},
]
fiona = [
{file = "Fiona-1.8.20-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:02880556540e36ad6aac97687799d9b3093c354787a47bc0e73026c7fc15f1b3"},
{file = "Fiona-1.8.20-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:3f668c471fa2f8c9c0a9ca83639cb2c8dcc93edc3d93d43dba2f9e8da38ad53e"},
{file = "Fiona-1.8.20-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:54f81039e913d0f88728ef23edf5a69038dec94dea54f4c799f972ba8e2a7d40"},
{file = "Fiona-1.8.20-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:328340a448bed5c43d119f61f760368a04d13a302c59d2fccb051a3ff021f4b8"},
{file = "Fiona-1.8.20-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:03f910380dbe684730b59b817aa030e6e9a3ee79211b66c6db2d1c8fe6ea12de"},
{file = "Fiona-1.8.20-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:bef100ebd82afb9a4d67096216e82611b82ca9341330e4805832d7ff8c9bc1f7"},
{file = "Fiona-1.8.20-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5e1cef608c6de9039eaa65b395024096e3189ab0559a5a328c68c4690c3302ce"},
{file = "Fiona-1.8.20-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e72e4a5b84ec410be531d4fe4c1a5c87c6c0e92d01116c145c0f1b33f81c8080"},
{file = "Fiona-1.8.20.tar.gz", hash = "sha256:a70502d2857b82f749c09cb0dea3726787747933a2a1599b5ab787d74e3c143b"},
]
geopandas = [
{file = "geopandas-0.9.0-py2.py3-none-any.whl", hash = "sha256:79f6e557ba0dba76eec44f8351b1c6b42a17c38f5f08fef347e98fe4dae563c7"},
{file = "geopandas-0.9.0.tar.gz", hash = "sha256:63972ab4dc44c4029f340600dcb83264eb8132dd22b104da0b654bef7f42630a"},
]
idna = [
{file = "idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"},
{file = "idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6"},
{file = "idna-3.2-py3-none-any.whl", hash = "sha256:14475042e284991034cb48e06f6851428fb14c4dc953acd9be9a5e95c7b6dd7a"},
{file = "idna-3.2.tar.gz", hash = "sha256:467fbad99067910785144ce333826c71fb0e63a425657295239737f7ecd125f3"},
]
importlib-metadata = [
{file = "importlib_metadata-3.10.1-py3-none-any.whl", hash = "sha256:2ec0faae539743ae6aaa84b49a169670a465f7f5d64e6add98388cc29fd1f2f6"},
{file = "importlib_metadata-3.10.1.tar.gz", hash = "sha256:c9356b657de65c53744046fa8f7358afe0714a1af7d570c00c3835c2d724a7c1"},
]
ipykernel = [
{file = "ipykernel-6.0.1-py3-none-any.whl", hash = "sha256:9a8576cb70a70cc8c63b0b6671e5f4767917071204653a5934e9b2c8680cec74"},
{file = "ipykernel-6.0.1.tar.gz", hash = "sha256:a4f51c53c7be3f93d75c25839183fa2dfa24908fc650dfd023b276c7a080dc73"},
{file = "ipykernel-6.0.3-py3-none-any.whl", hash = "sha256:9f9f41a14caf2fde2b7802446adf83885afcbf50585a46d6c687292599a3c3af"},
{file = "ipykernel-6.0.3.tar.gz", hash = "sha256:0df34a78c7e1422800d6078cde65ccdcdb859597046c338c759db4dbc535c58f"},
]
ipython = [
{file = "ipython-7.25.0-py3-none-any.whl", hash = "sha256:aa21412f2b04ad1a652e30564fff6b4de04726ce875eab222c8430edc6db383a"},
@ -1476,6 +1615,10 @@ mistune = [
{file = "mistune-0.8.4-py2.py3-none-any.whl", hash = "sha256:88a1051873018da288eee8538d476dffe1262495144b33ecb586c4ab266bb8d4"},
{file = "mistune-0.8.4.tar.gz", hash = "sha256:59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e"},
]
munch = [
{file = "munch-2.5.0-py2.py3-none-any.whl", hash = "sha256:6f44af89a2ce4ed04ff8de41f70b226b984db10a91dcc7b9ac2efc1c77022fdd"},
{file = "munch-2.5.0.tar.gz", hash = "sha256:2d735f6f24d4dba3417fa448cae40c6e896ec1fdab6cdb5e6510999758a4dbd2"},
]
mypy = [
{file = "mypy-0.910-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:a155d80ea6cee511a3694b108c4494a39f42de11ee4e61e72bc424c490e46457"},
{file = "mypy-0.910-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:b94e4b785e304a04ea0828759172a15add27088520dc7e49ceade7834275bedb"},
@ -1526,34 +1669,34 @@ notebook = [
{file = "notebook-6.4.0.tar.gz", hash = "sha256:9c4625e2a2aa49d6eae4ce20cbc3d8976db19267e32d2a304880e0c10bf8aef9"},
]
numpy = [
{file = "numpy-1.21.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d5caa946a9f55511e76446e170bdad1d12d6b54e17a2afe7b189112ed4412bb8"},
{file = "numpy-1.21.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ac4fd578322842dbda8d968e3962e9f22e862b6ec6e3378e7415625915e2da4d"},
{file = "numpy-1.21.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:598fe100b2948465cf3ed64b1a326424b5e4be2670552066e17dfaa67246011d"},
{file = "numpy-1.21.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c55407f739f0bfcec67d0df49103f9333edc870061358ac8a8c9e37ea02fcd2"},
{file = "numpy-1.21.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:75579acbadbf74e3afd1153da6177f846212ea2a0cc77de53523ae02c9256513"},
{file = "numpy-1.21.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cc367c86eb87e5b7c9592935620f22d13b090c609f1b27e49600cd033b529f54"},
{file = "numpy-1.21.0-cp37-cp37m-win32.whl", hash = "sha256:d89b0dc7f005090e32bb4f9bf796e1dcca6b52243caf1803fdd2b748d8561f63"},
{file = "numpy-1.21.0-cp37-cp37m-win_amd64.whl", hash = "sha256:eda2829af498946c59d8585a9fd74da3f810866e05f8df03a86f70079c7531dd"},
{file = "numpy-1.21.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:1a784e8ff7ea2a32e393cc53eb0003eca1597c7ca628227e34ce34eb11645a0e"},
{file = "numpy-1.21.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bba474a87496d96e61461f7306fba2ebba127bed7836212c360f144d1e72ac54"},
{file = "numpy-1.21.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fd0a359c1c17f00cb37de2969984a74320970e0ceef4808c32e00773b06649d9"},
{file = "numpy-1.21.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e4d5a86a5257843a18fb1220c5f1c199532bc5d24e849ed4b0289fb59fbd4d8f"},
{file = "numpy-1.21.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:620732f42259eb2c4642761bd324462a01cdd13dd111740ce3d344992dd8492f"},
{file = "numpy-1.21.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9205711e5440954f861ceeea8f1b415d7dd15214add2e878b4d1cf2bcb1a914"},
{file = "numpy-1.21.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ad09f55cc95ed8d80d8ab2052f78cc21cb231764de73e229140d81ff49d8145e"},
{file = "numpy-1.21.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a1f2fb2da242568af0271455b89aee0f71e4e032086ee2b4c5098945d0e11cf6"},
{file = "numpy-1.21.0-cp38-cp38-win32.whl", hash = "sha256:e58ddb53a7b4959932f5582ac455ff90dcb05fac3f8dcc8079498d43afbbde6c"},
{file = "numpy-1.21.0-cp38-cp38-win_amd64.whl", hash = "sha256:d2910d0a075caed95de1a605df00ee03b599de5419d0b95d55342e9a33ad1fb3"},
{file = "numpy-1.21.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a290989cd671cd0605e9c91a70e6df660f73ae87484218e8285c6522d29f6e38"},
{file = "numpy-1.21.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3537b967b350ad17633b35c2f4b1a1bbd258c018910b518c30b48c8e41272717"},
{file = "numpy-1.21.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ccc6c650f8700ce1e3a77668bb7c43e45c20ac06ae00d22bdf6760b38958c883"},
{file = "numpy-1.21.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:709884863def34d72b183d074d8ba5cfe042bc3ff8898f1ffad0209161caaa99"},
{file = "numpy-1.21.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:bebab3eaf0641bba26039fb0b2c5bf9b99407924b53b1ea86e03c32c64ef5aef"},
{file = "numpy-1.21.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf680682ad0a3bef56dae200dbcbac2d57294a73e5b0f9864955e7dd7c2c2491"},
{file = "numpy-1.21.0-cp39-cp39-win32.whl", hash = "sha256:d95d16204cd51ff1a1c8d5f9958ce90ae190be81d348b514f9be39f878b8044a"},
{file = "numpy-1.21.0-cp39-cp39-win_amd64.whl", hash = "sha256:2ba579dde0563f47021dcd652253103d6fd66165b18011dce1a0609215b2791e"},
{file = "numpy-1.21.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3c40e6b860220ed862e8097b8f81c9af6d7405b723f4a7af24a267b46f90e461"},
{file = "numpy-1.21.0.zip", hash = "sha256:e80fe25cba41c124d04c662f33f6364909b985f2eb5998aaa5ae4b9587242cce"},
{file = "numpy-1.21.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:38e8648f9449a549a7dfe8d8755a5979b45b3538520d1e735637ef28e8c2dc50"},
{file = "numpy-1.21.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fd7d7409fa643a91d0a05c7554dd68aa9c9bb16e186f6ccfe40d6e003156e33a"},
{file = "numpy-1.21.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a75b4498b1e93d8b700282dc8e655b8bd559c0904b3910b144646dbbbc03e062"},
{file = "numpy-1.21.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1412aa0aec3e00bc23fbb8664d76552b4efde98fb71f60737c83efbac24112f1"},
{file = "numpy-1.21.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e46ceaff65609b5399163de5893d8f2a82d3c77d5e56d976c8b5fb01faa6b671"},
{file = "numpy-1.21.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:c6a2324085dd52f96498419ba95b5777e40b6bcbc20088fddb9e8cbb58885e8e"},
{file = "numpy-1.21.1-cp37-cp37m-win32.whl", hash = "sha256:73101b2a1fef16602696d133db402a7e7586654682244344b8329cdcbbb82172"},
{file = "numpy-1.21.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7a708a79c9a9d26904d1cca8d383bf869edf6f8e7650d85dbc77b041e8c5a0f8"},
{file = "numpy-1.21.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95b995d0c413f5d0428b3f880e8fe1660ff9396dcd1f9eedbc311f37b5652e16"},
{file = "numpy-1.21.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:635e6bd31c9fb3d475c8f44a089569070d10a9ef18ed13738b03049280281267"},
{file = "numpy-1.21.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4a3d5fb89bfe21be2ef47c0614b9c9c707b7362386c9a3ff1feae63e0267ccb6"},
{file = "numpy-1.21.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8a326af80e86d0e9ce92bcc1e65c8ff88297de4fa14ee936cb2293d414c9ec63"},
{file = "numpy-1.21.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:791492091744b0fe390a6ce85cc1bf5149968ac7d5f0477288f78c89b385d9af"},
{file = "numpy-1.21.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0318c465786c1f63ac05d7c4dbcecd4d2d7e13f0959b01b534ea1e92202235c5"},
{file = "numpy-1.21.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9a513bd9c1551894ee3d31369f9b07460ef223694098cf27d399513415855b68"},
{file = "numpy-1.21.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:91c6f5fc58df1e0a3cc0c3a717bb3308ff850abdaa6d2d802573ee2b11f674a8"},
{file = "numpy-1.21.1-cp38-cp38-win32.whl", hash = "sha256:978010b68e17150db8765355d1ccdd450f9fc916824e8c4e35ee620590e234cd"},
{file = "numpy-1.21.1-cp38-cp38-win_amd64.whl", hash = "sha256:9749a40a5b22333467f02fe11edc98f022133ee1bfa8ab99bda5e5437b831214"},
{file = "numpy-1.21.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d7a4aeac3b94af92a9373d6e77b37691b86411f9745190d2c351f410ab3a791f"},
{file = "numpy-1.21.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d9e7912a56108aba9b31df688a4c4f5cb0d9d3787386b87d504762b6754fbb1b"},
{file = "numpy-1.21.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:25b40b98ebdd272bc3020935427a4530b7d60dfbe1ab9381a39147834e985eac"},
{file = "numpy-1.21.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8a92c5aea763d14ba9d6475803fc7904bda7decc2a0a68153f587ad82941fec1"},
{file = "numpy-1.21.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:05a0f648eb28bae4bcb204e6fd14603de2908de982e761a2fc78efe0f19e96e1"},
{file = "numpy-1.21.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f01f28075a92eede918b965e86e8f0ba7b7797a95aa8d35e1cc8821f5fc3ad6a"},
{file = "numpy-1.21.1-cp39-cp39-win32.whl", hash = "sha256:88c0b89ad1cc24a5efbb99ff9ab5db0f9a86e9cc50240177a571fbe9c2860ac2"},
{file = "numpy-1.21.1-cp39-cp39-win_amd64.whl", hash = "sha256:01721eefe70544d548425a07c80be8377096a54118070b8a62476866d5208e33"},
{file = "numpy-1.21.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2d4d1de6e6fb3d28781c73fbde702ac97f03d79e4ffd6598b880b2d95d62ead4"},
{file = "numpy-1.21.1.zip", hash = "sha256:dff4af63638afcc57a3dfb9e4b26d434a7a602d225b42d746ea7fe2edf1342fd"},
]
packaging = [
{file = "packaging-21.0-py3-none-any.whl", hash = "sha256:c86254f9220d55e31cc94d69bade760f0847da8000def4dfe1c6b872fd14ff14"},
@ -1588,8 +1731,8 @@ parso = [
{file = "parso-0.8.2.tar.gz", hash = "sha256:12b83492c6239ce32ff5eed6d3639d6a536170723c6f3f1506869f1ace413398"},
]
pathspec = [
{file = "pathspec-0.8.1-py2.py3-none-any.whl", hash = "sha256:aa0cb481c4041bf52ffa7b0d8fa6cd3e88a2ca4879c533c9153882ee2556790d"},
{file = "pathspec-0.8.1.tar.gz", hash = "sha256:86379d6b86d75816baba717e64b1a3a3469deb93bb76d613c9ce79edc5cb68fd"},
{file = "pathspec-0.9.0-py2.py3-none-any.whl", hash = "sha256:7d15c4ddb0b5c802d161efc417ec1a2558ea2653c2e8ad9c19098201dc1c993a"},
{file = "pathspec-0.9.0.tar.gz", hash = "sha256:e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1"},
]
pexpect = [
{file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"},
@ -1627,6 +1770,27 @@ pyparsing = [
{file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"},
{file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"},
]
pyproj = [
{file = "pyproj-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8eda240225971b5cd0bac2d399ed6222068f0598ee92d5f6e847bd2019d2c8b0"},
{file = "pyproj-3.1.0-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:ae237492767e0225f99b53a0fd7110fde2b7e7cabc105bbc243c151a7497de88"},
{file = "pyproj-3.1.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:b635e7e21fea5af74e90fc9e54d1a4c27078efdce6f214101c98dd93afae599a"},
{file = "pyproj-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa87df0982aa0f4477478899d9c930cc0f97cd6d8a4ce84c43ac88ccf86d1da7"},
{file = "pyproj-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:10dad599b9f7ce2194996dc25f1000e0aa15754ecef9db46b624713959c67957"},
{file = "pyproj-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:a162ed199cd2ec392cffe20b2fa3381b68e7a166d55f3f060eceb8d517e4f46d"},
{file = "pyproj-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1e88ebc4e08e661e9011b5c1ebfb32f0d311963a9824a6effb4168c7e07918b1"},
{file = "pyproj-3.1.0-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:da88abc5e2f6a8fb07533855a57ca2a31845f58901a87f821b68b0db6b023978"},
{file = "pyproj-3.1.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:911d773da9fa4d4f3f7580173858c391e3ee0b61acaf0be303baab323d2eae78"},
{file = "pyproj-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f8a8d982bde211e65dc2de1f8f36cf162f9cc7fcd8a7625046ea265284e5e65"},
{file = "pyproj-3.1.0-cp38-cp38-win32.whl", hash = "sha256:c4193e1069d165476b2d0f7d882b7712b3eab6e2e6fe2a0a78ef40de825a1f28"},
{file = "pyproj-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:b6c74bbec679199746a3e02c0e0fad093c3652df96dd63e086a2fbf2afe9dc0e"},
{file = "pyproj-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:04c185102e659439c5bd428ac5473d36ef795fca8e225bbbe78e20643d804ec0"},
{file = "pyproj-3.1.0-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:ebbba7707fe83a01e54bce8e3e7342feb0b3e0d74ff8c28df12f8bc59b76827c"},
{file = "pyproj-3.1.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9cc464a1c51baad28ffb7a233116e8d4ce4c560b32039fa986d0f992ac3c431f"},
{file = "pyproj-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f3ad09cf3352bf5664794042b28d98781362ec8d9774ad73f28a1a0101a27f1"},
{file = "pyproj-3.1.0-cp39-cp39-win32.whl", hash = "sha256:ae5534fa7a3b74f20534694d297fce6f7483890ff6ca404394ecf372f3c589d4"},
{file = "pyproj-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:808f5992320e9631b2e45444028a65cd6ba3ee40229292934178ef07020a5ffd"},
{file = "pyproj-3.1.0.tar.gz", hash = "sha256:67b94f4e694ae33fc90dfb7da0e6b5ed5f671dd0acc2f6cf46e9c39d56e16e1a"},
]
pyrsistent = [
{file = "pyrsistent-0.18.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f4c8cabb46ff8e5d61f56a037974228e978f26bfefce4f61a4b1ac0ba7a2ab72"},
{file = "pyrsistent-0.18.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:da6e5e818d18459fa46fac0a4a4e543507fe1110e808101277c5a2b5bab0cd2d"},
@ -1651,8 +1815,8 @@ pyrsistent = [
{file = "pyrsistent-0.18.0.tar.gz", hash = "sha256:773c781216f8c2900b42a7b638d5b517bb134ae1acbebe4d1e8f1f41ea60eb4b"},
]
python-dateutil = [
{file = "python-dateutil-2.8.1.tar.gz", hash = "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c"},
{file = "python_dateutil-2.8.1-py2.py3-none-any.whl", hash = "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a"},
{file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"},
{file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"},
]
pytz = [
{file = "pytz-2021.1-py2.py3-none-any.whl", hash = "sha256:eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798"},
@ -1794,13 +1958,38 @@ regex = [
{file = "regex-2021.7.6.tar.gz", hash = "sha256:8394e266005f2d8c6f0bc6780001f7afa3ef81a7a2111fa35058ded6fce79e4d"},
]
requests = [
{file = "requests-2.25.1-py2.py3-none-any.whl", hash = "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e"},
{file = "requests-2.25.1.tar.gz", hash = "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804"},
{file = "requests-2.26.0-py2.py3-none-any.whl", hash = "sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24"},
{file = "requests-2.26.0.tar.gz", hash = "sha256:b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7"},
]
send2trash = [
{file = "Send2Trash-1.7.1-py3-none-any.whl", hash = "sha256:c20fee8c09378231b3907df9c215ec9766a84ee20053d99fbad854fe8bd42159"},
{file = "Send2Trash-1.7.1.tar.gz", hash = "sha256:17730aa0a33ab82ed6ca76be3bb25f0433d0014f1ccf63c979bab13a5b9db2b2"},
]
shapely = [
{file = "Shapely-1.7.1-1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:46da0ea527da9cf9503e66c18bab6981c5556859e518fe71578b47126e54ca93"},
{file = "Shapely-1.7.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:4c10f317e379cc404f8fc510cd9982d5d3e7ba13a9cfd39aa251d894c6366798"},
{file = "Shapely-1.7.1-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:17df66e87d0fe0193910aeaa938c99f0b04f67b430edb8adae01e7be557b141b"},
{file = "Shapely-1.7.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:da38ed3d65b8091447dc3717e5218cc336d20303b77b0634b261bc5c1aa2bae8"},
{file = "Shapely-1.7.1-cp35-cp35m-win32.whl", hash = "sha256:8e7659dd994792a0aad8fb80439f59055a21163e236faf2f9823beb63a380e19"},
{file = "Shapely-1.7.1-cp35-cp35m-win_amd64.whl", hash = "sha256:791477edb422692e7dc351c5ed6530eb0e949a31b45569946619a0d9cd5f53cb"},
{file = "Shapely-1.7.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e3afccf0437edc108eef1e2bb9cc4c7073e7705924eb4cd0bf7715cd1ef0ce1b"},
{file = "Shapely-1.7.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:8f15b6ce67dcc05b61f19c689b60f3fe58550ba994290ff8332f711f5aaa9840"},
{file = "Shapely-1.7.1-cp36-cp36m-win32.whl", hash = "sha256:60e5b2282619249dbe8dc5266d781cc7d7fb1b27fa49f8241f2167672ad26719"},
{file = "Shapely-1.7.1-cp36-cp36m-win_amd64.whl", hash = "sha256:de618e67b64a51a0768d26a9963ecd7d338a2cf6e9e7582d2385f88ad005b3d1"},
{file = "Shapely-1.7.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:182716ffb500d114b5d1b75d7fd9d14b7d3414cef3c38c0490534cc9ce20981a"},
{file = "Shapely-1.7.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:4f3c59f6dbf86a9fc293546de492f5e07344e045f9333f3a753f2dda903c45d1"},
{file = "Shapely-1.7.1-cp37-cp37m-win32.whl", hash = "sha256:6871acba8fbe744efa4f9f34e726d070bfbf9bffb356a8f6d64557846324232b"},
{file = "Shapely-1.7.1-cp37-cp37m-win_amd64.whl", hash = "sha256:35be1c5d869966569d3dfd4ec31832d7c780e9df760e1fe52131105685941891"},
{file = "Shapely-1.7.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:052eb5b9ba756808a7825e8a8020fb146ec489dd5c919e7d139014775411e688"},
{file = "Shapely-1.7.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:90a3e2ae0d6d7d50ff2370ba168fbd416a53e7d8448410758c5d6a5920646c1d"},
{file = "Shapely-1.7.1-cp38-cp38-win32.whl", hash = "sha256:a3774516c8a83abfd1ddffb8b6ec1b0935d7fe6ea0ff5c31a18bfdae567b4eba"},
{file = "Shapely-1.7.1-cp38-cp38-win_amd64.whl", hash = "sha256:6593026cd3f5daaea12bcc51ae5c979318070fefee210e7990cb8ac2364e79a1"},
{file = "Shapely-1.7.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:617bf046a6861d7c6b44d2d9cb9e2311548638e684c2cd071d8945f24a926263"},
{file = "Shapely-1.7.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:b40cc7bb089ae4aa9ddba1db900b4cd1bce3925d2a4b5837b639e49de054784f"},
{file = "Shapely-1.7.1-cp39-cp39-win32.whl", hash = "sha256:2df5260d0f2983309776cb41bfa85c464ec07018d88c0ecfca23d40bfadae2f1"},
{file = "Shapely-1.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:a5c3a50d823c192f32615a2a6920e8c046b09e07a58eba220407335a9cd2e8ea"},
{file = "Shapely-1.7.1.tar.gz", hash = "sha256:1641724c1055459a7e2b8bbe47ba25bdc89554582e62aec23cb3f3ca25f9b129"},
]
six = [
{file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
{file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
@ -1817,6 +2006,10 @@ toml = [
{file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"},
{file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"},
]
tomli = [
{file = "tomli-1.0.4-py3-none-any.whl", hash = "sha256:0713b16ff91df8638a6a694e295c8159ab35ba93e3424a626dd5226d386057be"},
{file = "tomli-1.0.4.tar.gz", hash = "sha256:be670d0d8d7570fd0ea0113bd7bb1ba3ac6706b4de062cc4c952769355c9c268"},
]
tornado = [
{file = "tornado-6.1-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:d371e811d6b156d82aa5f9a4e08b58debf97c302a35714f6f45e35139c332e32"},
{file = "tornado-6.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:0d321a39c36e5f2c4ff12b4ed58d41390460f798422c4504e09eb5678e09998c"},

View file

@ -1,26 +1,27 @@
[tool.poetry]
authors = ["Your Name <you@example.com>"]
description = "ETL and Generation of Justice 40 Score"
name = "score"
version = "0.1.0"
description = "ETL and Generation of Justice 40 Score"
authors = ["Your Name <you@example.com>"]
[tool.poetry.dependencies]
python = "^3.7.1"
CensusData = "^1.13"
click = "^8.0.1"
dynaconf = "^3.1.4"
geopandas = "^0.9.0"
ipython = "^7.24.1"
jupyter = "^1.0.0"
jupyter-contrib-nbextensions = "^0.5.1"
numpy = "^1.21.0"
pandas = "^1.2.5"
python = "^3.7.1"
requests = "^2.25.1"
types-requests = "^2.25.0"
[tool.poetry.dev-dependencies]
mypy = "^0.910"
black = {version = "^21.6b0", allow-prereleases = true}
mypy = "^0.910"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
requires = ["poetry-core>=1.0.0"]