Skip to content

Instantly share code, notes, and snippets.

@jmettes
Created February 3, 2020 14:59
Show Gist options
  • Save jmettes/a3ee0c70acad84e9b7a63c7bf625b6e8 to your computer and use it in GitHub Desktop.
Save jmettes/a3ee0c70acad84e9b7a63c7bf625b6e8 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import geopandas as gpd\n",
"import psycopg2\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [],
"source": [
"df = gpd.read_file('nswfire.geojson')"
]
},
{
"cell_type": "code",
"execution_count": 182,
"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>ogc_fid</th>\n",
" <th>wkb_geometry</th>\n",
" <th>guid</th>\n",
" <th>title</th>\n",
" <th>pub_date</th>\n",
" <th>location</th>\n",
" <th>council_area</th>\n",
" <th>status</th>\n",
" <th>type</th>\n",
" <th>fire</th>\n",
" <th>size</th>\n",
" <th>responsible_agency</th>\n",
" <th>updated</th>\n",
" <th>alert_level</th>\n",
" <th>link</th>\n",
" <th>link_updated</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>MULTIPOLYGON (((152.82333 -31.45059, 152.82355...</td>\n",
" <td>https://incidents.rfs.nsw.gov.au/api/v1/incide...</td>\n",
" <td>Lindfield Park Road</td>\n",
" <td>2020-02-02 11:35:00+00:00</td>\n",
" <td>Lindfield Park Rd, Port Macquarie, NSW 2444</td>\n",
" <td>Port Macquarie-Hastings</td>\n",
" <td>Under control</td>\n",
" <td>Bush Fire</td>\n",
" <td>True</td>\n",
" <td>859</td>\n",
" <td>Rural Fire Service</td>\n",
" <td>2020-02-02 22:35:00+00:00</td>\n",
" <td>Advice</td>\n",
" <td>None</td>\n",
" <td>NaT</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>MULTIPOLYGON (((150.02048 -33.21641, 150.02516...</td>\n",
" <td>https://incidents.rfs.nsw.gov.au/api/v1/incide...</td>\n",
" <td>Gospers Mountain</td>\n",
" <td>2020-02-02 11:51:00+00:00</td>\n",
" <td>Wollemi National Park</td>\n",
" <td>Hawkesbury</td>\n",
" <td>Under control</td>\n",
" <td>Bush Fire</td>\n",
" <td>True</td>\n",
" <td>512626</td>\n",
" <td>NSW National Parks and Wildlife Service</td>\n",
" <td>2020-02-02 22:51:00+00:00</td>\n",
" <td>Advice</td>\n",
" <td>None</td>\n",
" <td>NaT</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>MULTIPOLYGON (((150.01354 -32.64517, 150.01386...</td>\n",
" <td>https://incidents.rfs.nsw.gov.au/api/v1/incide...</td>\n",
" <td>Kerry Ridge</td>\n",
" <td>2020-02-02 11:57:00+00:00</td>\n",
" <td>Wollemi National Park, Putty State Forest and ...</td>\n",
" <td>Muswellbrook</td>\n",
" <td>Being controlled</td>\n",
" <td>Bush Fire</td>\n",
" <td>True</td>\n",
" <td>191558</td>\n",
" <td>NSW National Parks and Wildlife Service</td>\n",
" <td>2020-02-02 22:57:00+00:00</td>\n",
" <td>Advice</td>\n",
" <td>None</td>\n",
" <td>NaT</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4</td>\n",
" <td>MULTIPOLYGON (((149.86850 -34.02834, 149.87055...</td>\n",
" <td>https://incidents.rfs.nsw.gov.au/api/v1/incide...</td>\n",
" <td>Green Wattle Creek</td>\n",
" <td>2020-02-02 13:22:00+00:00</td>\n",
" <td>15km South West of Warragamba Dam Wall in the ...</td>\n",
" <td>Wollondilly</td>\n",
" <td>Under control</td>\n",
" <td>Bush Fire</td>\n",
" <td>True</td>\n",
" <td>278200</td>\n",
" <td>Rural Fire Service</td>\n",
" <td>2020-02-03 00:22:00+00:00</td>\n",
" <td>Advice</td>\n",
" <td>None</td>\n",
" <td>NaT</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>MULTIPOLYGON (((150.16621 -33.86565, 150.17133...</td>\n",
" <td>https://incidents.rfs.nsw.gov.au/api/v1/incide...</td>\n",
" <td>Ruined Castle</td>\n",
" <td>2020-02-02 13:26:00+00:00</td>\n",
" <td>Ruined Castle</td>\n",
" <td>Blue Mountains</td>\n",
" <td>Under control</td>\n",
" <td>Bush Fire</td>\n",
" <td>True</td>\n",
" <td>17058</td>\n",
" <td>NSW National Parks and Wildlife Service</td>\n",
" <td>2020-02-03 00:26:00+00:00</td>\n",
" <td>Advice</td>\n",
" <td>None</td>\n",
" <td>NaT</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" ogc_fid wkb_geometry \\\n",
"0 1 MULTIPOLYGON (((152.82333 -31.45059, 152.82355... \n",
"1 2 MULTIPOLYGON (((150.02048 -33.21641, 150.02516... \n",
"2 3 MULTIPOLYGON (((150.01354 -32.64517, 150.01386... \n",
"3 4 MULTIPOLYGON (((149.86850 -34.02834, 149.87055... \n",
"4 5 MULTIPOLYGON (((150.16621 -33.86565, 150.17133... \n",
"\n",
" guid title \\\n",
"0 https://incidents.rfs.nsw.gov.au/api/v1/incide... Lindfield Park Road \n",
"1 https://incidents.rfs.nsw.gov.au/api/v1/incide... Gospers Mountain \n",
"2 https://incidents.rfs.nsw.gov.au/api/v1/incide... Kerry Ridge \n",
"3 https://incidents.rfs.nsw.gov.au/api/v1/incide... Green Wattle Creek \n",
"4 https://incidents.rfs.nsw.gov.au/api/v1/incide... Ruined Castle \n",
"\n",
" pub_date \\\n",
"0 2020-02-02 11:35:00+00:00 \n",
"1 2020-02-02 11:51:00+00:00 \n",
"2 2020-02-02 11:57:00+00:00 \n",
"3 2020-02-02 13:22:00+00:00 \n",
"4 2020-02-02 13:26:00+00:00 \n",
"\n",
" location council_area \\\n",
"0 Lindfield Park Rd, Port Macquarie, NSW 2444 Port Macquarie-Hastings \n",
"1 Wollemi National Park Hawkesbury \n",
"2 Wollemi National Park, Putty State Forest and ... Muswellbrook \n",
"3 15km South West of Warragamba Dam Wall in the ... Wollondilly \n",
"4 Ruined Castle Blue Mountains \n",
"\n",
" status type fire size \\\n",
"0 Under control Bush Fire True 859 \n",
"1 Under control Bush Fire True 512626 \n",
"2 Being controlled Bush Fire True 191558 \n",
"3 Under control Bush Fire True 278200 \n",
"4 Under control Bush Fire True 17058 \n",
"\n",
" responsible_agency updated \\\n",
"0 Rural Fire Service 2020-02-02 22:35:00+00:00 \n",
"1 NSW National Parks and Wildlife Service 2020-02-02 22:51:00+00:00 \n",
"2 NSW National Parks and Wildlife Service 2020-02-02 22:57:00+00:00 \n",
"3 Rural Fire Service 2020-02-03 00:22:00+00:00 \n",
"4 NSW National Parks and Wildlife Service 2020-02-03 00:26:00+00:00 \n",
"\n",
" alert_level link link_updated \n",
"0 Advice None NaT \n",
"1 Advice None NaT \n",
"2 Advice None NaT \n",
"3 Advice None NaT \n",
"4 Advice None NaT "
]
},
"execution_count": 182,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## read from postgis"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"con = psycopg2.connect(database=\"postgres\",\n",
" host=HOST,\n",
" user=\"sarhack\",\n",
" password=\"sarhack\")"
]
},
{
"cell_type": "code",
"execution_count": 170,
"metadata": {},
"outputs": [],
"source": [
"sql = \"select * from nswfire\""
]
},
{
"cell_type": "code",
"execution_count": 171,
"metadata": {},
"outputs": [],
"source": [
"df = gpd.GeoDataFrame.from_postgis(sql, con, geom_col='wkb_geometry')"
]
},
{
"cell_type": "code",
"execution_count": 172,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7fbaa0126650>"
]
},
"execution_count": 172,
"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": [
"df.plot()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# plotting"
]
},
{
"cell_type": "code",
"execution_count": 173,
"metadata": {},
"outputs": [],
"source": [
"from cartopy import crs as ccrs"
]
},
{
"cell_type": "code",
"execution_count": 174,
"metadata": {},
"outputs": [],
"source": [
"proj = ccrs.Mercator()"
]
},
{
"cell_type": "code",
"execution_count": 175,
"metadata": {},
"outputs": [],
"source": [
"crs_proj4 = proj.proj4_init"
]
},
{
"cell_type": "code",
"execution_count": 176,
"metadata": {},
"outputs": [],
"source": [
"df_ae = df.to_crs(crs_proj4)"
]
},
{
"cell_type": "code",
"execution_count": 179,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([147.45902574, -37.4508106 , 153.391495 , -29.0178248 ])"
]
},
"execution_count": 179,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.wkb_geometry.total_bounds"
]
},
{
"cell_type": "code",
"execution_count": 181,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<cartopy.mpl.geoaxes.GeoAxesSubplot at 0x7fba9bf96090>"
]
},
"execution_count": 181,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 360x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"minx, miny, maxx, maxy = df.wkb_geometry.total_bounds\n",
"\n",
"plt.figure(figsize=(5, 5))\n",
"ax = plt.axes(projection=proj)\n",
"ax.set_extent([minx, maxx+0.1, miny-0.1, maxy])\n",
"\n",
"ax.coastlines()\n",
"ax.gridlines(draw_labels=True)\n",
"df_ae.plot(ax=ax)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment