{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "#Load packages\n", "from arcgis import GIS\n", "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "#Create GIS object\n", "gis = GIS()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Load data into spatial dataframes" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "#Load needs data\n", "fname_needs = '../Data/raw/Basic_Data/1_Conservation_Need.shp'\n", "sdfNeeds = pd.DataFrame.spatial.from_featureclass(fname_needs)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "#Load opportunity data\n", "fname_opportunity = '../Data/raw/Basic_Data/5_Combined_Opportunity.shp'\n", "sdfOpps = pd.DataFrame.spatial.from_featureclass(fname_opportunity)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "#Load hexagon data\n", "fname_hex = '../scratch/Hexagons_from_R.shp'\n", "sdfHex = pd.DataFrame.spatial.from_featureclass(fname_hex)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Plots" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sdfHex.NeedTotal.hist()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Extract information" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['Dr. Christian Reiss', 'Dr. Dirk Welsford', 'Grant Humphries',\n", " 'Javier Arata', 'Dr. Heather Lynch', 'Philiip Trathan',\n", " 'Dr. Susie Grant', 'Dr. Katherine Teschke', 'Pål Skogrand',\n", " 'Bettina Meyer', 'So Kawaguhi', 'Chris Johnson', 'Jefferson Hinke',\n", " 'Dr. Cassandra Brooks', 'Claire Christian', 'Christopher Jones',\n", " 'Dr. César Cárdenas', 'Maximo Gowland'], dtype=object)" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Create a list of users and print them\n", "all_users =sdfNeeds['USER_NAME'].unique()\n", "all_users" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Selected user is: Javier Arata\n" ] } ], "source": [ "#Tally records for a given user\n", "user = all_users[3]\n", "print(F\"Selected user is: {user}\")" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[5, 6, 7, 8, 9]" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Select records for user\n", "user_Need = sdfNeeds.query(F'USER_NAME == \"{user}\"')\n", "list(user_Need['FID'].unique())" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['need5', 'need6', 'need7', 'need8', 'need9']" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Get column names to select\n", "colnames = ['need'+str(x) for x in list(user_Need['FID'].unique())]\n", "colnames" ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0., 1.])" ] }, "execution_count": 97, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Tally hexagons\n", "sdfHex['SelecTotal'] = sdfHex.loc[:,colnames].sum(axis=1)\n", "sdfHex['SelecTotal'].unique()" ] }, { "cell_type": "code", "execution_count": 100, "metadata": { "scrolled": true }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "81e895eb27c9446493dbf53540962822", "version_major": 2, "version_minor": 0 }, "text/plain": [ "MapView(layout=Layout(height='400px', width='100%'))" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sdfSubset = sdfHex.loc[sdfHex.SelecTotal > 0]\n", "sdfSubset.spatial.plot(renderer_type='c',\n", " method='esriClassifyEqualInterval',\n", " class_count = 5,\n", " cmap='Reds',\n", " line_width=0.0,\n", " col='NeedTotal')" ] }, { "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.6.9" } }, "nbformat": 4, "nbformat_minor": 4 }