Skip to content

Instantly share code, notes, and snippets.

@aaronspring
Last active May 30, 2022 09:57
Show Gist options
  • Save aaronspring/829801fd46ff7176b5592c8e1f1838c4 to your computer and use it in GitHub Desktop.
Save aaronspring/829801fd46ff7176b5592c8e1f1838c4 to your computer and use it in GitHub Desktop.
Koeppen-Geiger Classification Map in xarray
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "36d9013f-93f0-409d-b7dd-d7849d0b1c61",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import xarray as xr"
]
},
{
"cell_type": "code",
"execution_count": 114,
"id": "eed033a1-4d00-4518-977d-e5feae9b3643",
"metadata": {},
"outputs": [],
"source": [
"#kg = pd.read_fwf(\"/Users/aaron.spring/Downloads/Koeppen-Geiger-ASCII.txt\").set_index([\"Lat\",\"Lon\"])#.to_xarray().Cls"
]
},
{
"cell_type": "code",
"execution_count": 106,
"id": "07104169-2855-41c2-b6d6-b5eceda18f66",
"metadata": {},
"outputs": [],
"source": [
"import fsspec\n",
"with fsspec.open(\"zip://*.txt::http://koeppen-geiger.vu-wien.ac.at/data/Koeppen-Geiger-ASCII.zip\") as f:\n",
" kg = pd.read_fwf(f).set_index([\"Lat\",\"Lon\"])"
]
},
{
"cell_type": "code",
"execution_count": 107,
"id": "8bfc4b48-ab40-458b-8e14-f1c2d80b0748",
"metadata": {},
"outputs": [],
"source": [
"table = pd.read_fwf(\"http://koeppen-geiger.vu-wien.ac.at/data/legend.txt\", header=None, names=[\"number\",\"nothing\",\"abbrev\"], index=1)\n",
"del table[\"nothing\"]\n",
"\n",
"table = table.set_index(\"number\")"
]
},
{
"cell_type": "code",
"execution_count": 108,
"id": "942ee7d6-6b68-4791-8cdc-be9252e57e5f",
"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>abbrev</th>\n",
" </tr>\n",
" <tr>\n",
" <th>number</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>Af</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>Am</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>As</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>Aw</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>BWk</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>BWh</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>BSk</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>BSh</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>Cfa</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>Cfb</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>Cfc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>Csa</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>Csb</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>Csc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>Cwa</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>Cwb</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39</th>\n",
" <td>Cwc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41</th>\n",
" <td>Dfa</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42</th>\n",
" <td>Dfb</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43</th>\n",
" <td>Dfc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>44</th>\n",
" <td>Dfd</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45</th>\n",
" <td>Dsa</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46</th>\n",
" <td>Dsb</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47</th>\n",
" <td>Dsc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>48</th>\n",
" <td>Dsd</td>\n",
" </tr>\n",
" <tr>\n",
" <th>49</th>\n",
" <td>Dwa</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50</th>\n",
" <td>Dwb</td>\n",
" </tr>\n",
" <tr>\n",
" <th>51</th>\n",
" <td>Dwc</td>\n",
" </tr>\n",
" <tr>\n",
" <th>52</th>\n",
" <td>Dwd</td>\n",
" </tr>\n",
" <tr>\n",
" <th>61</th>\n",
" <td>EF</td>\n",
" </tr>\n",
" <tr>\n",
" <th>62</th>\n",
" <td>ET</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" abbrev\n",
"number \n",
"11 Af\n",
"12 Am\n",
"13 As\n",
"14 Aw\n",
"21 BWk\n",
"22 BWh\n",
"26 BSk\n",
"27 BSh\n",
"31 Cfa\n",
"32 Cfb\n",
"33 Cfc\n",
"34 Csa\n",
"35 Csb\n",
"36 Csc\n",
"37 Cwa\n",
"38 Cwb\n",
"39 Cwc\n",
"41 Dfa\n",
"42 Dfb\n",
"43 Dfc\n",
"44 Dfd\n",
"45 Dsa\n",
"46 Dsb\n",
"47 Dsc\n",
"48 Dsd\n",
"49 Dwa\n",
"50 Dwb\n",
"51 Dwc\n",
"52 Dwd\n",
"61 EF\n",
"62 ET"
]
},
"execution_count": 108,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"table"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "70b9fd6c-d316-4b33-b570-6c236b6165ad",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 109,
"id": "0b5c78d9-5612-4fa3-90e9-f82d1c9eef74",
"metadata": {},
"outputs": [],
"source": [
"abbrevs = table.abbrev.to_dict()"
]
},
{
"cell_type": "code",
"execution_count": 110,
"id": "a9398c18-3a66-4af5-ba80-e94fadc9be90",
"metadata": {},
"outputs": [],
"source": [
"abbrevs_r = {v:k for k,v in abbrevs.items()}"
]
},
{
"cell_type": "code",
"execution_count": 111,
"id": "9cc2a900-155f-4197-bd63-a2fec711d05d",
"metadata": {},
"outputs": [],
"source": [
"kg[\"number\"] = kg.Cls.map(abbrevs_r)"
]
},
{
"cell_type": "code",
"execution_count": 112,
"id": "f2ed986e-e73b-4ad2-85e7-bc1c58ac89ff",
"metadata": {},
"outputs": [],
"source": [
"ds = kg.to_xarray()"
]
},
{
"cell_type": "code",
"execution_count": 113,
"id": "6006fd62-9f16-46d5-a9b5-6206fa593e68",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.QuadMesh at 0x28b845af0>"
]
},
"execution_count": 113,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ds.number.plot(cmap=\"Set3\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "aa03d0ef-6fc7-4780-ad9e-376c2041412f",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"id": "32adc83f-8f9f-4df1-bb7c-5d1069a6e5f2",
"metadata": {},
"source": [
"# Shapefile\n",
"\n",
"- `.zip` or `shp`"
]
},
{
"cell_type": "code",
"execution_count": 115,
"id": "3a4a31a7-3a36-42dd-ac23-46c5adbdc8e6",
"metadata": {},
"outputs": [],
"source": [
"import geopandas as gpd"
]
},
{
"cell_type": "code",
"execution_count": 126,
"id": "36c71b91-a478-43d7-8bdd-bef7ffaf6c04",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 126,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"gpd.read_file(\"http://koeppen-geiger.vu-wien.ac.at/data/1976-2000_GIS.zip\").dissolve(\"GRIDCODE\").plot(column=\"ID\",cmap=\"Set3\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "0dcf3bf1-894a-4a94-91b7-1b64807cad9f",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:xr] *",
"language": "python",
"name": "conda-env-xr-py"
},
"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.9"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment