Created
May 8, 2024 02:23
-
-
Save calebrob6/8a4ce8386aa96bf49d1e49a5ebca58e1 to your computer and use it in GitHub Desktop.
How do the areas of a set of polygons and their rasterized equivalents differ as a function of spatial resolution of the rasterized versions?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import subprocess\n", | |
"import fiona\n", | |
"import fiona.transform\n", | |
"import rasterio\n", | |
"import matplotlib.pyplot as plt\n", | |
"import rasterio.features\n", | |
"import shapely.geometry\n", | |
"from tqdm import tqdm" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def pct_difference(a, b):\n", | |
" return 100 * abs(a - b) / a" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"914825.4856150832" | |
] | |
}, | |
"execution_count": 3, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"reference_area = 0\n", | |
"shapes = []\n", | |
"with fiona.open(\"reference_geometries.geojson\") as f:\n", | |
" for row in f:\n", | |
" geom = row[\"geometry\"]\n", | |
" shape = shapely.geometry.shape(geom)\n", | |
" reference_area += shape.area\n", | |
" shapes.append(shape)\n", | |
"reference_area " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 26, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"schema = {\n", | |
" \"geometry\": \"MultiPolygon\",\n", | |
" \"properties\": {\"value\": \"int\"}\n", | |
"}\n", | |
"for i, shape in enumerate(shapes):\n", | |
" with fiona.open(f\"individual_shapes/{i}_original.geojson\", \"w\", driver=\"GeoJSON\", crs=\"EPSG:6933\", schema=schema) as f:\n", | |
" if shape.type == \"Polygon\":\n", | |
" shape = shapely.geometry.MultiPolygon([shape])\n", | |
" f.write({\n", | |
" \"geometry\": shapely.geometry.mapping(shape),\n", | |
" \"properties\": {\"value\": 1}\n", | |
" })" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|██████████| 200/200 [04:17<00:00, 1.29s/it]\n" | |
] | |
} | |
], | |
"source": [ | |
"for i in tqdm(range(len(shapes))):\n", | |
" for all_touched in [False, True]:\n", | |
" for res in [0.3, 0.5, 1, 5, 10, 30, 500]:\n", | |
" input_fn = f\"individual_shapes/{i}_original.geojson\"\n", | |
" output_fn = f\"output/rasterized_{i}_{res}m.tif\" if not all_touched else f\"output/rasterized_{i}_{res}m_at.tif\"\n", | |
" command = [\n", | |
" \"gdal_rasterize\",\n", | |
" \"-q\",\n", | |
" \"-of\", \"GTiff\",\n", | |
" \"-tr\", str(res), str(res),\n", | |
" \"-init\", \"0\",\n", | |
" \"-burn\", \"1\",\n", | |
" ]\n", | |
" if all_touched:\n", | |
" command.append(\"-at\")\n", | |
" command.extend([\n", | |
" input_fn,\n", | |
" output_fn\n", | |
" ])\n", | |
" subprocess.call(command)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|██████████| 200/200 [00:00<00:00, 300.45it/s]\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"False 0.3 0.005387433544165001\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|██████████| 200/200 [00:00<00:00, 353.96it/s]\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"False 0.5 0.01675025646888502\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|██████████| 200/200 [00:00<00:00, 384.93it/s]\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"False 1 0.04705658312457399\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|██████████| 200/200 [00:00<00:00, 395.70it/s]\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"False 5 0.7734246286684989\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|██████████| 200/200 [00:00<00:00, 401.70it/s]\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"False 10 2.26551248746076\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|██████████| 200/200 [00:00<00:00, 398.30it/s]\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"False 30 14.803422919949575\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|██████████| 200/200 [00:00<00:00, 409.83it/s]\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"False 500 100.0\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|██████████| 200/200 [00:00<00:00, 313.49it/s]\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"True 0.3 1.168849638871485\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|██████████| 200/200 [00:00<00:00, 360.30it/s]\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"True 0.5 1.9558937377970373\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|██████████| 200/200 [00:00<00:00, 393.69it/s]\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"True 1 3.91719677123148\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|██████████| 200/200 [00:00<00:00, 402.18it/s]\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"True 5 20.361753942575728\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|██████████| 200/200 [00:00<00:00, 404.18it/s]\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"True 10 42.07081245950928\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|██████████| 200/200 [00:00<00:00, 405.43it/s]\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"True 30 143.19392441326173\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|██████████| 200/200 [00:00<00:00, 413.18it/s]" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"True 500 5392.850908740741\n" | |
] | |
}, | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"\n" | |
] | |
} | |
], | |
"source": [ | |
"results = {}\n", | |
"for all_touched in [False, True]:\n", | |
" for res in [0.3, 0.5, 1, 5, 10, 30, 500]:\n", | |
" total_area = 0\n", | |
" for i in tqdm(range(len(shapes))):\n", | |
" input_fn = f\"output/rasterized_{i}_{res}m.tif\" if not all_touched else f\"output/rasterized_{i}_{res}m_at.tif\"\n", | |
" with rasterio.open(input_fn) as f:\n", | |
" xres, yres = f.res\n", | |
" data = f.read(1)\n", | |
" total_area += ((data == 1).sum() * xres * yres)\n", | |
" print(all_touched, res, pct_difference(reference_area, total_area))\n", | |
" results[(res, all_touched)] = pct_difference(reference_area, total_area)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 21, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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t7fHxcWF7t278+233942ro8++ojWrVtja2uLn58fL7zwArm5uSU+MzdlZGQwa9YsWrdujZ2dHa6urvTr148dO3aUqBsREYFGoyE3N5dXX32VwMBArKysmD17No899hgajYa9e/eWGtfMmTPRaDSl/j74p19++YUrV67w4IMPlji2fPlyNBoNy5cvZ8OGDYSHh2Nvb0+DBg2YMWMGer0egBUrVhAcHIydnR2NGjXi7bffLvVenp6eREREsHbtWjIzM/81NlE9pOVImB13d3cATp8+TUhISJnPy8/Pp2/fvmRmZvL444+TlZXFN998wyOPPEJycjLPPPOMoe62bdtYsGABffr0ITw8HCsrKw4ePMiHH37Ir7/+yoEDB3BxcQFgypQpLF++nMOHDzN58mTDQNl/G4dQnnsYKy8vj969e5OZmcmgQYOwtLTE29sbgB9++IHhw4djYWHB4MGD8fPz48SJEyxevJhff/2VPXv2UK9ePQA2btzIwIEDcXV1ZfDgwfj6+pKUlMThw4f54osveOqppwz3XLNmDQ8//DA2NjY89NBDeHl58dtvv/Haa6/x66+/snXrVmxtbSv0vIqKiIggLi6OFStW0LNnz2JfsP82aPndd99l2rRpuLm58cgjj+Dg4MAPP/zAtGnT2L59O999912JBDwuLo677rqL1q1bM2bMGGJiYvj+++/p1asXJ0+eNLy+d5KUlETnzp2JiYkhIiKCESNGEBsby9q1a9m4cSO//vor3bp1A9T316FDh0o8v9ISibLKz8/n7rvvJjc3l4ceeojExES++eYb+vbty65du+jXrx++vr489thjnD17lg0bNnDfffdx8uRJtFqt4TrTp0/H2tqabt26Gd4TP/zwAw888ACLFi0q9pkCNQF5/fXX8fb2ZuzYsVhZWfHNN98QHR1dapwpKSn06NGD48eP07VrV8aPH096errh9V6zZg1Dhgwpcd7999/P4cOH+c9//oOrqysBAQH06dOHL7/8kk8++YSwsLBi9XU6HcuWLcPd3Z1hw4b96+t3s5v8rrvuum2ddevW8dtvvzFkyBC6du3Kxo0bmTt3Loqi4OLiwty5cxk8eDARERF8++23vPDCC3h7ezNy5MgS1+rcuTObNm1i165d3HPPPf8an6gGihBm5vvvv1cAxcnJSZk2bZry66+/KsnJyXc8p3Hjxgqg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", | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.figure()\n", | |
"ax = plt.gca()\n", | |
"for all_touched in [False, True]:\n", | |
" xs = [0.3, 0.5, 1, 5, 10, 30, 500]\n", | |
" ys = []\n", | |
" for res in xs:\n", | |
" ys.append(results[(res, all_touched)])\n", | |
" plt.plot(xs, ys, label=f\"all_touched={all_touched}\", marker=\".\")\n", | |
"ax.spines['right'].set_visible(False)\n", | |
"ax.spines['top'].set_visible(False)\n", | |
"plt.xscale(\"log\")\n", | |
"plt.yscale(\"log\")\n", | |
"plt.legend(fontsize=12)\n", | |
"plt.xlabel(\"Spatial resolution of imagery (m)\", fontsize=14)\n", | |
"plt.ylabel(\"Pct difference in area (%)\", fontsize=14)\n", | |
"plt.show()\n", | |
"plt.close()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "geo", | |
"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.11.8" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment