j40-cejst-2/data/data-pipeline/data_pipeline/ipython/tribal_and_tracts_overlap.ipynb
lucasmbrown-usds 5ff988ab29 updating pylint
2022-09-30 13:43:41 -04:00

1422 lines
54 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"id": "f0b6f7e2",
"metadata": {},
"outputs": [],
"source": [
"import geopandas as gpd\n",
"import pyogrio\n",
"from data_pipeline.etl.sources.census.etl import CensusETL\n",
"from data_pipeline.etl.sources.tribal.etl import TribalETL\n",
"\n",
"import time\n",
"\n",
"begin = time.time()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "1e3e65af",
"metadata": {},
"outputs": [
{
"data": {
"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>tribalId</th>\n",
" <th>landAreaName</th>\n",
" <th>Classification</th>\n",
" <th>geometry</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>LAR0001</td>\n",
" <td>Cheyenne River LAR</td>\n",
" <td>1</td>\n",
" <td>MULTIPOLYGON (((-100.49935 45.47125, -100.4993...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>LAR0002</td>\n",
" <td>Crow Creek LAR</td>\n",
" <td>1</td>\n",
" <td>POLYGON ((-99.42137 44.27733, -99.42138 44.273...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>LAR0003</td>\n",
" <td>Flandreau LAR</td>\n",
" <td>1</td>\n",
" <td>MULTIPOLYGON (((-96.56655 44.08786, -96.57165 ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>LAR0004</td>\n",
" <td>Fort Berthold LAR</td>\n",
" <td>1</td>\n",
" <td>POLYGON ((-102.78362 47.99900, -102.78192 47.9...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>LAR0005</td>\n",
" <td>Lake Traverse (Sisseton) LAR</td>\n",
" <td>1</td>\n",
" <td>MULTIPOLYGON (((-97.28946 45.76084, -97.28955 ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>592</th>\n",
" <td>{0886416F-643E-497E-89D3-E9CC0240158D}</td>\n",
" <td>Chilkat</td>\n",
" <td>None</td>\n",
" <td>POINT (-135.88440 59.40390)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>593</th>\n",
" <td>{2029C35B-86D7-4751-A946-EA0772C81A80}</td>\n",
" <td>Chilkoot</td>\n",
" <td>None</td>\n",
" <td>POINT (-135.44500 59.23580)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>594</th>\n",
" <td>{24DF6536-95CB-4964-94DF-16E440ABCA92}</td>\n",
" <td>Craig</td>\n",
" <td>None</td>\n",
" <td>POINT (-133.14830 55.47640)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>595</th>\n",
" <td>{ACDE097A-9BDA-4FCA-9DB7-297DA6B73F88}</td>\n",
" <td>Douglas</td>\n",
" <td>None</td>\n",
" <td>POINT (-134.41970 58.30190)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>596</th>\n",
" <td>{5E1D1895-FF41-4B11-9EDB-0C1254A360C4}</td>\n",
" <td>Agdaagux</td>\n",
" <td>None</td>\n",
" <td>POINT (-162.31030 55.06170)</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>597 rows × 4 columns</p>\n",
"</div>"
],
"text/plain": [
" tribalId landAreaName \\\n",
"0 LAR0001 Cheyenne River LAR \n",
"1 LAR0002 Crow Creek LAR \n",
"2 LAR0003 Flandreau LAR \n",
"3 LAR0004 Fort Berthold LAR \n",
"4 LAR0005 Lake Traverse (Sisseton) LAR \n",
".. ... ... \n",
"592 {0886416F-643E-497E-89D3-E9CC0240158D} Chilkat \n",
"593 {2029C35B-86D7-4751-A946-EA0772C81A80} Chilkoot \n",
"594 {24DF6536-95CB-4964-94DF-16E440ABCA92} Craig \n",
"595 {ACDE097A-9BDA-4FCA-9DB7-297DA6B73F88} Douglas \n",
"596 {5E1D1895-FF41-4B11-9EDB-0C1254A360C4} Agdaagux \n",
"\n",
" Classification geometry \n",
"0 1 MULTIPOLYGON (((-100.49935 45.47125, -100.4993... \n",
"1 1 POLYGON ((-99.42137 44.27733, -99.42138 44.273... \n",
"2 1 MULTIPOLYGON (((-96.56655 44.08786, -96.57165 ... \n",
"3 1 POLYGON ((-102.78362 47.99900, -102.78192 47.9... \n",
"4 1 MULTIPOLYGON (((-97.28946 45.76084, -97.28955 ... \n",
".. ... ... \n",
"592 None POINT (-135.88440 59.40390) \n",
"593 None POINT (-135.44500 59.23580) \n",
"594 None POINT (-133.14830 55.47640) \n",
"595 None POINT (-134.41970 58.30190) \n",
"596 None POINT (-162.31030 55.06170) \n",
"\n",
"[597 rows x 4 columns]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Load Tribal geojson\n",
"tribal_gdf = gpd.read_file(\n",
" TribalETL().NATIONAL_TRIBAL_GEOJSON_PATH,\n",
" # Use `pyogrio` because it's vectorized and faster.\n",
" engine=\"pyogrio\",\n",
")\n",
"\n",
"tribal_gdf"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "89fedd44",
"metadata": {},
"outputs": [
{
"data": {
"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>tribalId</th>\n",
" <th>landAreaName</th>\n",
" <th>Classification</th>\n",
" <th>geometry</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>LAR0001</td>\n",
" <td>Cheyenne River LAR</td>\n",
" <td>1</td>\n",
" <td>MULTIPOLYGON (((-100.49935 45.47125, -100.4993...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>LAR0002</td>\n",
" <td>Crow Creek LAR</td>\n",
" <td>1</td>\n",
" <td>POLYGON ((-99.42137 44.27733, -99.42138 44.273...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>LAR0003</td>\n",
" <td>Flandreau LAR</td>\n",
" <td>1</td>\n",
" <td>MULTIPOLYGON (((-96.56655 44.08786, -96.57165 ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>LAR0004</td>\n",
" <td>Fort Berthold LAR</td>\n",
" <td>1</td>\n",
" <td>POLYGON ((-102.78362 47.99900, -102.78192 47.9...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>LAR0005</td>\n",
" <td>Lake Traverse (Sisseton) LAR</td>\n",
" <td>1</td>\n",
" <td>MULTIPOLYGON (((-97.28946 45.76084, -97.28955 ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>365</th>\n",
" <td>TSA0354</td>\n",
" <td>Seminole TSA</td>\n",
" <td>None</td>\n",
" <td>POLYGON ((-96.49048 34.90423, -96.49146 34.903...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>366</th>\n",
" <td>TSA0355</td>\n",
" <td>Seneca Cayuga TSA</td>\n",
" <td>None</td>\n",
" <td>POLYGON ((-94.61803 36.62531, -94.62083 36.625...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>367</th>\n",
" <td>TSA0356</td>\n",
" <td>Tonkawa TSA</td>\n",
" <td>None</td>\n",
" <td>POLYGON ((-97.24698 36.68082, -97.24697 36.677...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>368</th>\n",
" <td>TSA0357</td>\n",
" <td>Wichita Caddo and Delaware TSA</td>\n",
" <td>None</td>\n",
" <td>POLYGON ((-97.99931 35.36425, -97.99948 35.360...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>369</th>\n",
" <td>TSA0358</td>\n",
" <td>Wyandotte TSA</td>\n",
" <td>None</td>\n",
" <td>POLYGON ((-94.61820 36.82030, -94.61821 36.816...</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>370 rows × 4 columns</p>\n",
"</div>"
],
"text/plain": [
" tribalId landAreaName Classification \\\n",
"0 LAR0001 Cheyenne River LAR 1 \n",
"1 LAR0002 Crow Creek LAR 1 \n",
"2 LAR0003 Flandreau LAR 1 \n",
"3 LAR0004 Fort Berthold LAR 1 \n",
"4 LAR0005 Lake Traverse (Sisseton) LAR 1 \n",
".. ... ... ... \n",
"365 TSA0354 Seminole TSA None \n",
"366 TSA0355 Seneca Cayuga TSA None \n",
"367 TSA0356 Tonkawa TSA None \n",
"368 TSA0357 Wichita Caddo and Delaware TSA None \n",
"369 TSA0358 Wyandotte TSA None \n",
"\n",
" geometry \n",
"0 MULTIPOLYGON (((-100.49935 45.47125, -100.4993... \n",
"1 POLYGON ((-99.42137 44.27733, -99.42138 44.273... \n",
"2 MULTIPOLYGON (((-96.56655 44.08786, -96.57165 ... \n",
"3 POLYGON ((-102.78362 47.99900, -102.78192 47.9... \n",
"4 MULTIPOLYGON (((-97.28946 45.76084, -97.28955 ... \n",
".. ... \n",
"365 POLYGON ((-96.49048 34.90423, -96.49146 34.903... \n",
"366 POLYGON ((-94.61803 36.62531, -94.62083 36.625... \n",
"367 POLYGON ((-97.24698 36.68082, -97.24697 36.677... \n",
"368 POLYGON ((-97.99931 35.36425, -97.99948 35.360... \n",
"369 POLYGON ((-94.61820 36.82030, -94.61821 36.816... \n",
"\n",
"[370 rows x 4 columns]"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Drop the points from the Tribal data (because these cannot be joined to a (Multi)Polygon tract data frame)\n",
"tribal_gdf = tribal_gdf[tribal_gdf.geom_type != \"Point\"]\n",
"tribal_gdf"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "5940556f",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"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>GEOID10</th>\n",
" <th>NAME10</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>20</td>\n",
" <td>071</td>\n",
" <td>958100</td>\n",
" <td>20071958100</td>\n",
" <td>9581</td>\n",
" <td>Census Tract 9581</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>2016176814</td>\n",
" <td>0</td>\n",
" <td>+38.4804076</td>\n",
" <td>-101.8059837</td>\n",
" <td>POLYGON ((-101.79971 38.69806, -101.79097 38.6...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>20</td>\n",
" <td>175</td>\n",
" <td>965600</td>\n",
" <td>20175965600</td>\n",
" <td>9656</td>\n",
" <td>Census Tract 9656</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>1603575701</td>\n",
" <td>2204351</td>\n",
" <td>+37.1805849</td>\n",
" <td>-100.8547406</td>\n",
" <td>POLYGON ((-101.06766 37.20440, -101.06768 37.2...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>20</td>\n",
" <td>175</td>\n",
" <td>965700</td>\n",
" <td>20175965700</td>\n",
" <td>9657</td>\n",
" <td>Census Tract 9657</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>9466451</td>\n",
" <td>358282</td>\n",
" <td>+37.0625361</td>\n",
" <td>-100.9131437</td>\n",
" <td>POLYGON ((-100.94250 37.06497, -100.94251 37.0...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>20</td>\n",
" <td>043</td>\n",
" <td>020300</td>\n",
" <td>20043020300</td>\n",
" <td>203</td>\n",
" <td>Census Tract 203</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>211593206</td>\n",
" <td>7045771</td>\n",
" <td>+39.7881238</td>\n",
" <td>-094.9734666</td>\n",
" <td>POLYGON ((-94.95518 39.90129, -94.95475 39.901...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>20</td>\n",
" <td>043</td>\n",
" <td>020200</td>\n",
" <td>20043020200</td>\n",
" <td>202</td>\n",
" <td>Census Tract 202</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>352687026</td>\n",
" <td>2968059</td>\n",
" <td>+39.7540484</td>\n",
" <td>-095.1060098</td>\n",
" <td>POLYGON ((-95.02575 39.88295, -95.02585 39.883...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>74129</th>\n",
" <td>35</td>\n",
" <td>049</td>\n",
" <td>000600</td>\n",
" <td>35049000600</td>\n",
" <td>6</td>\n",
" <td>Census Tract 6</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>1629471</td>\n",
" <td>0</td>\n",
" <td>+35.6758519</td>\n",
" <td>-105.9446097</td>\n",
" <td>POLYGON ((-105.95207 35.67367, -105.95215 35.6...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>74130</th>\n",
" <td>35</td>\n",
" <td>049</td>\n",
" <td>000700</td>\n",
" <td>35049000700</td>\n",
" <td>7</td>\n",
" <td>Census Tract 7</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>1285597</td>\n",
" <td>0</td>\n",
" <td>+35.6802004</td>\n",
" <td>-105.9558818</td>\n",
" <td>POLYGON ((-105.96221 35.67223, -105.96245 35.6...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>74131</th>\n",
" <td>35</td>\n",
" <td>049</td>\n",
" <td>000800</td>\n",
" <td>35049000800</td>\n",
" <td>8</td>\n",
" <td>Census Tract 8</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>1916797</td>\n",
" <td>0</td>\n",
" <td>+35.6805095</td>\n",
" <td>-105.9703558</td>\n",
" <td>POLYGON ((-105.98159 35.67739, -105.98143 35.6...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>74132</th>\n",
" <td>35</td>\n",
" <td>049</td>\n",
" <td>000900</td>\n",
" <td>35049000900</td>\n",
" <td>9</td>\n",
" <td>Census Tract 9</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>2545563</td>\n",
" <td>0</td>\n",
" <td>+35.6692966</td>\n",
" <td>-105.9755351</td>\n",
" <td>POLYGON ((-105.96362 35.67616, -105.96365 35.6...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>74133</th>\n",
" <td>35</td>\n",
" <td>049</td>\n",
" <td>001001</td>\n",
" <td>35049001001</td>\n",
" <td>10.01</td>\n",
" <td>Census Tract 10.01</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>2617281</td>\n",
" <td>0</td>\n",
" <td>+35.6647341</td>\n",
" <td>-105.9468629</td>\n",
" <td>POLYGON ((-105.94510 35.65705, -105.94563 35.6...</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>74134 rows × 13 columns</p>\n",
"</div>"
],
"text/plain": [
" STATEFP10 COUNTYFP10 TRACTCE10 GEOID10 NAME10 NAMELSAD10 \\\n",
"0 20 071 958100 20071958100 9581 Census Tract 9581 \n",
"1 20 175 965600 20175965600 9656 Census Tract 9656 \n",
"2 20 175 965700 20175965700 9657 Census Tract 9657 \n",
"3 20 043 020300 20043020300 203 Census Tract 203 \n",
"4 20 043 020200 20043020200 202 Census Tract 202 \n",
"... ... ... ... ... ... ... \n",
"74129 35 049 000600 35049000600 6 Census Tract 6 \n",
"74130 35 049 000700 35049000700 7 Census Tract 7 \n",
"74131 35 049 000800 35049000800 8 Census Tract 8 \n",
"74132 35 049 000900 35049000900 9 Census Tract 9 \n",
"74133 35 049 001001 35049001001 10.01 Census Tract 10.01 \n",
"\n",
" MTFCC10 FUNCSTAT10 ALAND10 AWATER10 INTPTLAT10 INTPTLON10 \\\n",
"0 G5020 S 2016176814 0 +38.4804076 -101.8059837 \n",
"1 G5020 S 1603575701 2204351 +37.1805849 -100.8547406 \n",
"2 G5020 S 9466451 358282 +37.0625361 -100.9131437 \n",
"3 G5020 S 211593206 7045771 +39.7881238 -094.9734666 \n",
"4 G5020 S 352687026 2968059 +39.7540484 -095.1060098 \n",
"... ... ... ... ... ... ... \n",
"74129 G5020 S 1629471 0 +35.6758519 -105.9446097 \n",
"74130 G5020 S 1285597 0 +35.6802004 -105.9558818 \n",
"74131 G5020 S 1916797 0 +35.6805095 -105.9703558 \n",
"74132 G5020 S 2545563 0 +35.6692966 -105.9755351 \n",
"74133 G5020 S 2617281 0 +35.6647341 -105.9468629 \n",
"\n",
" geometry \n",
"0 POLYGON ((-101.79971 38.69806, -101.79097 38.6... \n",
"1 POLYGON ((-101.06766 37.20440, -101.06768 37.2... \n",
"2 POLYGON ((-100.94250 37.06497, -100.94251 37.0... \n",
"3 POLYGON ((-94.95518 39.90129, -94.95475 39.901... \n",
"4 POLYGON ((-95.02575 39.88295, -95.02585 39.883... \n",
"... ... \n",
"74129 POLYGON ((-105.95207 35.67367, -105.95215 35.6... \n",
"74130 POLYGON ((-105.96221 35.67223, -105.96245 35.6... \n",
"74131 POLYGON ((-105.98159 35.67739, -105.98143 35.6... \n",
"74132 POLYGON ((-105.96362 35.67616, -105.96365 35.6... \n",
"74133 POLYGON ((-105.94510 35.65705, -105.94563 35.6... \n",
"\n",
"[74134 rows x 13 columns]"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Load Census tracts geojson\n",
"census_tract_gdf = gpd.read_file(\n",
" CensusETL.NATIONAL_TRACT_JSON_PATH,\n",
" # Use `pyogrio` because it's vectorized and faster.\n",
" engine=\"pyogrio\",\n",
")\n",
"\n",
"census_tract_gdf"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "595b2a2a",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/lx/xmq8p65j71v9xq2bhsd2j5w40000gp/T/ipykernel_768/2956500515.py:2: UserWarning: Geometry is in a geographic CRS. Results from 'area' are likely incorrect. Use 'GeoSeries.to_crs()' to re-project geometries to a projected CRS before this operation.\n",
"\n",
" census_tract_gdf[\"area_tract\"] = census_tract_gdf.area\n"
]
},
{
"data": {
"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>GEOID10</th>\n",
" <th>NAME10</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>area_tract</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>20</td>\n",
" <td>071</td>\n",
" <td>958100</td>\n",
" <td>20071958100</td>\n",
" <td>9581</td>\n",
" <td>Census Tract 9581</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>2016176814</td>\n",
" <td>0</td>\n",
" <td>+38.4804076</td>\n",
" <td>-101.8059837</td>\n",
" <td>POLYGON ((-101.79971 38.69806, -101.79097 38.6...</td>\n",
" <td>0.208156</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>20</td>\n",
" <td>175</td>\n",
" <td>965600</td>\n",
" <td>20175965600</td>\n",
" <td>9656</td>\n",
" <td>Census Tract 9656</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>1603575701</td>\n",
" <td>2204351</td>\n",
" <td>+37.1805849</td>\n",
" <td>-100.8547406</td>\n",
" <td>POLYGON ((-101.06766 37.20440, -101.06768 37.2...</td>\n",
" <td>0.162976</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>20</td>\n",
" <td>175</td>\n",
" <td>965700</td>\n",
" <td>20175965700</td>\n",
" <td>9657</td>\n",
" <td>Census Tract 9657</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>9466451</td>\n",
" <td>358282</td>\n",
" <td>+37.0625361</td>\n",
" <td>-100.9131437</td>\n",
" <td>POLYGON ((-100.94250 37.06497, -100.94251 37.0...</td>\n",
" <td>0.000995</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>20</td>\n",
" <td>043</td>\n",
" <td>020300</td>\n",
" <td>20043020300</td>\n",
" <td>203</td>\n",
" <td>Census Tract 203</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>211593206</td>\n",
" <td>7045771</td>\n",
" <td>+39.7881238</td>\n",
" <td>-094.9734666</td>\n",
" <td>POLYGON ((-94.95518 39.90129, -94.95475 39.901...</td>\n",
" <td>0.022990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>20</td>\n",
" <td>043</td>\n",
" <td>020200</td>\n",
" <td>20043020200</td>\n",
" <td>202</td>\n",
" <td>Census Tract 202</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>352687026</td>\n",
" <td>2968059</td>\n",
" <td>+39.7540484</td>\n",
" <td>-095.1060098</td>\n",
" <td>POLYGON ((-95.02575 39.88295, -95.02585 39.883...</td>\n",
" <td>0.037373</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>74129</th>\n",
" <td>35</td>\n",
" <td>049</td>\n",
" <td>000600</td>\n",
" <td>35049000600</td>\n",
" <td>6</td>\n",
" <td>Census Tract 6</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>1629471</td>\n",
" <td>0</td>\n",
" <td>+35.6758519</td>\n",
" <td>-105.9446097</td>\n",
" <td>POLYGON ((-105.95207 35.67367, -105.95215 35.6...</td>\n",
" <td>0.000162</td>\n",
" </tr>\n",
" <tr>\n",
" <th>74130</th>\n",
" <td>35</td>\n",
" <td>049</td>\n",
" <td>000700</td>\n",
" <td>35049000700</td>\n",
" <td>7</td>\n",
" <td>Census Tract 7</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>1285597</td>\n",
" <td>0</td>\n",
" <td>+35.6802004</td>\n",
" <td>-105.9558818</td>\n",
" <td>POLYGON ((-105.96221 35.67223, -105.96245 35.6...</td>\n",
" <td>0.000128</td>\n",
" </tr>\n",
" <tr>\n",
" <th>74131</th>\n",
" <td>35</td>\n",
" <td>049</td>\n",
" <td>000800</td>\n",
" <td>35049000800</td>\n",
" <td>8</td>\n",
" <td>Census Tract 8</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>1916797</td>\n",
" <td>0</td>\n",
" <td>+35.6805095</td>\n",
" <td>-105.9703558</td>\n",
" <td>POLYGON ((-105.98159 35.67739, -105.98143 35.6...</td>\n",
" <td>0.000191</td>\n",
" </tr>\n",
" <tr>\n",
" <th>74132</th>\n",
" <td>35</td>\n",
" <td>049</td>\n",
" <td>000900</td>\n",
" <td>35049000900</td>\n",
" <td>9</td>\n",
" <td>Census Tract 9</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>2545563</td>\n",
" <td>0</td>\n",
" <td>+35.6692966</td>\n",
" <td>-105.9755351</td>\n",
" <td>POLYGON ((-105.96362 35.67616, -105.96365 35.6...</td>\n",
" <td>0.000253</td>\n",
" </tr>\n",
" <tr>\n",
" <th>74133</th>\n",
" <td>35</td>\n",
" <td>049</td>\n",
" <td>001001</td>\n",
" <td>35049001001</td>\n",
" <td>10.01</td>\n",
" <td>Census Tract 10.01</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>2617281</td>\n",
" <td>0</td>\n",
" <td>+35.6647341</td>\n",
" <td>-105.9468629</td>\n",
" <td>POLYGON ((-105.94510 35.65705, -105.94563 35.6...</td>\n",
" <td>0.000261</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>74134 rows × 14 columns</p>\n",
"</div>"
],
"text/plain": [
" STATEFP10 COUNTYFP10 TRACTCE10 GEOID10 NAME10 NAMELSAD10 \\\n",
"0 20 071 958100 20071958100 9581 Census Tract 9581 \n",
"1 20 175 965600 20175965600 9656 Census Tract 9656 \n",
"2 20 175 965700 20175965700 9657 Census Tract 9657 \n",
"3 20 043 020300 20043020300 203 Census Tract 203 \n",
"4 20 043 020200 20043020200 202 Census Tract 202 \n",
"... ... ... ... ... ... ... \n",
"74129 35 049 000600 35049000600 6 Census Tract 6 \n",
"74130 35 049 000700 35049000700 7 Census Tract 7 \n",
"74131 35 049 000800 35049000800 8 Census Tract 8 \n",
"74132 35 049 000900 35049000900 9 Census Tract 9 \n",
"74133 35 049 001001 35049001001 10.01 Census Tract 10.01 \n",
"\n",
" MTFCC10 FUNCSTAT10 ALAND10 AWATER10 INTPTLAT10 INTPTLON10 \\\n",
"0 G5020 S 2016176814 0 +38.4804076 -101.8059837 \n",
"1 G5020 S 1603575701 2204351 +37.1805849 -100.8547406 \n",
"2 G5020 S 9466451 358282 +37.0625361 -100.9131437 \n",
"3 G5020 S 211593206 7045771 +39.7881238 -094.9734666 \n",
"4 G5020 S 352687026 2968059 +39.7540484 -095.1060098 \n",
"... ... ... ... ... ... ... \n",
"74129 G5020 S 1629471 0 +35.6758519 -105.9446097 \n",
"74130 G5020 S 1285597 0 +35.6802004 -105.9558818 \n",
"74131 G5020 S 1916797 0 +35.6805095 -105.9703558 \n",
"74132 G5020 S 2545563 0 +35.6692966 -105.9755351 \n",
"74133 G5020 S 2617281 0 +35.6647341 -105.9468629 \n",
"\n",
" geometry area_tract \n",
"0 POLYGON ((-101.79971 38.69806, -101.79097 38.6... 0.208156 \n",
"1 POLYGON ((-101.06766 37.20440, -101.06768 37.2... 0.162976 \n",
"2 POLYGON ((-100.94250 37.06497, -100.94251 37.0... 0.000995 \n",
"3 POLYGON ((-94.95518 39.90129, -94.95475 39.901... 0.022990 \n",
"4 POLYGON ((-95.02575 39.88295, -95.02585 39.883... 0.037373 \n",
"... ... ... \n",
"74129 POLYGON ((-105.95207 35.67367, -105.95215 35.6... 0.000162 \n",
"74130 POLYGON ((-105.96221 35.67223, -105.96245 35.6... 0.000128 \n",
"74131 POLYGON ((-105.98159 35.67739, -105.98143 35.6... 0.000191 \n",
"74132 POLYGON ((-105.96362 35.67616, -105.96365 35.6... 0.000253 \n",
"74133 POLYGON ((-105.94510 35.65705, -105.94563 35.6... 0.000261 \n",
"\n",
"[74134 rows x 14 columns]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Create a measure for the entire census tract area\n",
"census_tract_gdf[\"area_tract\"] = census_tract_gdf.area\n",
"census_tract_gdf"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "0ea396ed",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/lx/xmq8p65j71v9xq2bhsd2j5w40000gp/T/ipykernel_768/1353983773.py:2: UserWarning: `keep_geom_type=True` in overlay resulted in 1123 dropped geometries of different geometry types than df1 has. Set `keep_geom_type=False` to retain all geometries\n",
" gdf_joined = gpd.overlay(census_tract_gdf, tribal_gdf, how=\"union\")\n"
]
}
],
"source": [
"# Performing overlay funcion\n",
"gdf_joined = gpd.overlay(census_tract_gdf, tribal_gdf, how=\"union\")"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "7fb3ef69",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/lx/xmq8p65j71v9xq2bhsd2j5w40000gp/T/ipykernel_768/2727120487.py:3: UserWarning: Geometry is in a geographic CRS. Results from 'area' are likely incorrect. Use 'GeoSeries.to_crs()' to re-project geometries to a projected CRS before this operation.\n",
"\n",
" gdf_joined['area_joined'] = gdf_joined.area\n"
]
},
{
"data": {
"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>GEOID10</th>\n",
" <th>NAME10</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>area_tract</th>\n",
" <th>tribalId</th>\n",
" <th>landAreaName</th>\n",
" <th>Classification</th>\n",
" <th>geometry</th>\n",
" <th>area_joined</th>\n",
" <th>tribal_area_as_a_share_of_tract_area</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>20</td>\n",
" <td>043</td>\n",
" <td>020100</td>\n",
" <td>20043020100</td>\n",
" <td>201</td>\n",
" <td>Census Tract 201</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>454634616.0</td>\n",
" <td>2601186.0</td>\n",
" <td>+39.8206800</td>\n",
" <td>-095.2567279</td>\n",
" <td>0.048098</td>\n",
" <td>LAR0210</td>\n",
" <td>Iowa LAR</td>\n",
" <td>1</td>\n",
" <td>POLYGON ((-95.33994 39.97506, -95.33994 39.975...</td>\n",
" <td>4.998139e-04</td>\n",
" <td>0.010391</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>20</td>\n",
" <td>013</td>\n",
" <td>480600</td>\n",
" <td>20013480600</td>\n",
" <td>4806</td>\n",
" <td>Census Tract 4806</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>882293538.0</td>\n",
" <td>1376818.0</td>\n",
" <td>+39.8596443</td>\n",
" <td>-095.6255187</td>\n",
" <td>0.093019</td>\n",
" <td>LAR0210</td>\n",
" <td>Iowa LAR</td>\n",
" <td>1</td>\n",
" <td>POLYGON ((-95.45656 40.00025, -95.45528 40.000...</td>\n",
" <td>3.209294e-03</td>\n",
" <td>0.034502</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>31</td>\n",
" <td>147</td>\n",
" <td>964500</td>\n",
" <td>31147964500</td>\n",
" <td>9645</td>\n",
" <td>Census Tract 9645</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>677848509.0</td>\n",
" <td>6076731.0</td>\n",
" <td>+40.1522236</td>\n",
" <td>-095.5858870</td>\n",
" <td>0.072289</td>\n",
" <td>LAR0210</td>\n",
" <td>Iowa LAR</td>\n",
" <td>1</td>\n",
" <td>MULTIPOLYGON (((-95.38162 40.02744, -95.38119 ...</td>\n",
" <td>1.476624e-03</td>\n",
" <td>0.020427</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>29</td>\n",
" <td>087</td>\n",
" <td>960300</td>\n",
" <td>29087960300</td>\n",
" <td>9603</td>\n",
" <td>Census Tract 9603</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>412869716.0</td>\n",
" <td>6745159.0</td>\n",
" <td>+39.9730230</td>\n",
" <td>-095.1479701</td>\n",
" <td>0.044239</td>\n",
" <td>LAR0210</td>\n",
" <td>Iowa LAR</td>\n",
" <td>1</td>\n",
" <td>POLYGON ((-95.38119 40.02755, -95.38162 40.027...</td>\n",
" <td>1.965514e-07</td>\n",
" <td>0.000004</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>20</td>\n",
" <td>085</td>\n",
" <td>082600</td>\n",
" <td>20085082600</td>\n",
" <td>826</td>\n",
" <td>Census Tract 826</td>\n",
" <td>G5020</td>\n",
" <td>S</td>\n",
" <td>690868809.0</td>\n",
" <td>947758.0</td>\n",
" <td>+39.4553966</td>\n",
" <td>-095.6731404</td>\n",
" <td>0.072404</td>\n",
" <td>LAR0211</td>\n",
" <td>Kickapoo (Kansas) LAR</td>\n",
" <td>1</td>\n",
" <td>POLYGON ((-95.71031 39.65308, -95.69902 39.653...</td>\n",
" <td>5.285627e-06</td>\n",
" <td>0.000073</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>76317</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>TSA0353</td>\n",
" <td>Sac and Fox TSA</td>\n",
" <td>None</td>\n",
" <td>MULTIPOLYGON (((-96.62002 35.75143, -96.62001 ...</td>\n",
" <td>6.560647e-17</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>76318</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>TSA0354</td>\n",
" <td>Seminole TSA</td>\n",
" <td>None</td>\n",
" <td>MULTIPOLYGON (((-96.77536 35.03300, -96.77536 ...</td>\n",
" <td>7.207055e-18</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>76319</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>TSA0355</td>\n",
" <td>Seneca Cayuga TSA</td>\n",
" <td>None</td>\n",
" <td>POLYGON ((-94.61836 36.74340, -94.61836 36.743...</td>\n",
" <td>7.016721e-18</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>76320</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>TSA0356</td>\n",
" <td>Tonkawa TSA</td>\n",
" <td>None</td>\n",
" <td>MULTIPOLYGON (((-97.24698 36.69942, -97.24692 ...</td>\n",
" <td>2.612218e-17</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>76321</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>TSA0358</td>\n",
" <td>Wyandotte TSA</td>\n",
" <td>None</td>\n",
" <td>POLYGON ((-94.61828 36.78970, -94.61834 36.795...</td>\n",
" <td>1.555259e-18</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>76322 rows × 19 columns</p>\n",
"</div>"
],
"text/plain": [
" STATEFP10 COUNTYFP10 TRACTCE10 GEOID10 NAME10 NAMELSAD10 \\\n",
"0 20 043 020100 20043020100 201 Census Tract 201 \n",
"1 20 013 480600 20013480600 4806 Census Tract 4806 \n",
"2 31 147 964500 31147964500 9645 Census Tract 9645 \n",
"3 29 087 960300 29087960300 9603 Census Tract 9603 \n",
"4 20 085 082600 20085082600 826 Census Tract 826 \n",
"... ... ... ... ... ... ... \n",
"76317 NaN NaN NaN NaN NaN NaN \n",
"76318 NaN NaN NaN NaN NaN NaN \n",
"76319 NaN NaN NaN NaN NaN NaN \n",
"76320 NaN NaN NaN NaN NaN NaN \n",
"76321 NaN NaN NaN NaN NaN NaN \n",
"\n",
" MTFCC10 FUNCSTAT10 ALAND10 AWATER10 INTPTLAT10 INTPTLON10 \\\n",
"0 G5020 S 454634616.0 2601186.0 +39.8206800 -095.2567279 \n",
"1 G5020 S 882293538.0 1376818.0 +39.8596443 -095.6255187 \n",
"2 G5020 S 677848509.0 6076731.0 +40.1522236 -095.5858870 \n",
"3 G5020 S 412869716.0 6745159.0 +39.9730230 -095.1479701 \n",
"4 G5020 S 690868809.0 947758.0 +39.4553966 -095.6731404 \n",
"... ... ... ... ... ... ... \n",
"76317 NaN NaN NaN NaN NaN NaN \n",
"76318 NaN NaN NaN NaN NaN NaN \n",
"76319 NaN NaN NaN NaN NaN NaN \n",
"76320 NaN NaN NaN NaN NaN NaN \n",
"76321 NaN NaN NaN NaN NaN NaN \n",
"\n",
" area_tract tribalId landAreaName Classification \\\n",
"0 0.048098 LAR0210 Iowa LAR 1 \n",
"1 0.093019 LAR0210 Iowa LAR 1 \n",
"2 0.072289 LAR0210 Iowa LAR 1 \n",
"3 0.044239 LAR0210 Iowa LAR 1 \n",
"4 0.072404 LAR0211 Kickapoo (Kansas) LAR 1 \n",
"... ... ... ... ... \n",
"76317 NaN TSA0353 Sac and Fox TSA None \n",
"76318 NaN TSA0354 Seminole TSA None \n",
"76319 NaN TSA0355 Seneca Cayuga TSA None \n",
"76320 NaN TSA0356 Tonkawa TSA None \n",
"76321 NaN TSA0358 Wyandotte TSA None \n",
"\n",
" geometry area_joined \\\n",
"0 POLYGON ((-95.33994 39.97506, -95.33994 39.975... 4.998139e-04 \n",
"1 POLYGON ((-95.45656 40.00025, -95.45528 40.000... 3.209294e-03 \n",
"2 MULTIPOLYGON (((-95.38162 40.02744, -95.38119 ... 1.476624e-03 \n",
"3 POLYGON ((-95.38119 40.02755, -95.38162 40.027... 1.965514e-07 \n",
"4 POLYGON ((-95.71031 39.65308, -95.69902 39.653... 5.285627e-06 \n",
"... ... ... \n",
"76317 MULTIPOLYGON (((-96.62002 35.75143, -96.62001 ... 6.560647e-17 \n",
"76318 MULTIPOLYGON (((-96.77536 35.03300, -96.77536 ... 7.207055e-18 \n",
"76319 POLYGON ((-94.61836 36.74340, -94.61836 36.743... 7.016721e-18 \n",
"76320 MULTIPOLYGON (((-97.24698 36.69942, -97.24692 ... 2.612218e-17 \n",
"76321 POLYGON ((-94.61828 36.78970, -94.61834 36.795... 1.555259e-18 \n",
"\n",
" tribal_area_as_a_share_of_tract_area \n",
"0 0.010391 \n",
"1 0.034502 \n",
"2 0.020427 \n",
"3 0.000004 \n",
"4 0.000073 \n",
"... ... \n",
"76317 NaN \n",
"76318 NaN \n",
"76319 NaN \n",
"76320 NaN \n",
"76321 NaN \n",
"\n",
"[76322 rows x 19 columns]"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Calculate overlap\n",
"# Calculating the areas of the newly-created geometries\n",
"gdf_joined[\"area_joined\"] = gdf_joined.area\n",
"\n",
"# Calculating the areas of the newly-created geometries in relation\n",
"# to the original grid cells\n",
"gdf_joined[\"tribal_area_as_a_share_of_tract_area\"] = (\n",
" gdf_joined[\"area_joined\"] / gdf_joined[\"area_tract\"]\n",
")\n",
"gdf_joined"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "042da05e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" GEOID10 landAreaName tribal_area_as_a_share_of_tract_area\n",
"0 01051030800 Poarch Creek LAR 0.002467\n",
"1 01053970400 Poarch Creek LAR 0.002367\n",
"2 01053970500 Poarch Creek LAR 0.000682\n",
"3 01101005408 Poarch Creek LAR 0.001391\n",
"4 02130000100 Annette Island LAR 0.000038\n",
"... ... ... ...\n",
"2585 56013940300 Wind River LAR 0.204039\n",
"2586 56013940400 Wind River LAR 0.053289\n",
"2587 56017967900 Wind River LAR 0.191189\n",
"2588 56033000600 Crow LAR 0.000565\n",
"2589 56035000102 Wind River LAR 0.000140\n",
"\n",
"[2590 rows x 3 columns]\n"
]
}
],
"source": [
"# Aggregating the results\n",
"results = gdf_joined.groupby([\"GEOID10\", \"landAreaName\"]).agg(\n",
" {\"tribal_area_as_a_share_of_tract_area\": \"sum\"}\n",
")\n",
"\n",
"results = results.reset_index()\n",
"\n",
"results.to_csv(\n",
" \"~/Downloads/tribal_area_as_a_share_of_tract_area.csv\", index=False\n",
")\n",
"\n",
"# Printing results\n",
"print(results)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "34524a94",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Time taken to execute the function is 140.10310292243958\n"
]
}
],
"source": [
"end = time.time()\n",
"\n",
"print(\"Time taken to execute the ETL is\", end - begin)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"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.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}