{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Reading the rock property catalog\n", "\n", "This notebook accompanies a blog post — [The Rock Property Catalog again](http://www.agilegeoscience.com/blog/2015/10/5/the-rock-property-catalog-again)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Querying" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is very hacky. It will change. Stay tuned." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import requests\n", "import pandas as pd\n", "\n", "class RPC(object):\n", " def __init__(self):\n", " pass\n", " \n", " def _query_ssw(self, filters, properties, options):\n", " \n", " base_url = \"http://www.subsurfwiki.org/api.php\"\n", " q = \"action=ask&query=[[RPC:%2B]]\"\n", " q += ''.join(filters) if filters else ''\n", " q += '|%3F' + '|%3F'.join(properties) if properties else ''\n", " q += '|' + '|'.join(options) if options else ''\n", " q += '&format=json'\n", " \n", " return requests.get(base_url, params=q)\n", " \n", " def _get_formats(self, response):\n", " formats = {}\n", " for item in response.json()['query']['printrequests']:\n", " if item[u'mode'] == 1:\n", " formats[item[u'label']] = item[u'typeid'].lstrip('_')\n", " return formats\n", " \n", " def _build_dataframe(self, response):\n", " \"\"\"\n", " Takes the response of a query and returns a pandas\n", " dataframe containing the results.\n", " \"\"\"\n", " try:\n", " s = list(response.json()['query']['results'].keys())\n", " except Exception as e:\n", " raise e\n", " samples = [i[4:] for i in s]\n", " df = pd.DataFrame(samples)\n", "\n", " # We'll need to know the formats of the columns.\n", " formats = self._get_formats(response)\n", " properties = formats.keys()\n", "\n", " # Now traverse the JSON and build the DataFrame.\n", " for prop in properties:\n", " temp = []\n", " for row in list(s):\n", " p = response.json()['query']['results'][row]['printouts']\n", " if p[prop]:\n", " if formats[prop] == 'qty': # Quantity, number + unit\n", " temp.append(p[prop][0]['value'])\n", " elif formats[prop] == 'wpg': # Wiki page\n", " temp.append(p[prop][0]['fulltext'])\n", " else: # Anything else: num, txt, tem, etc.\n", " temp.append(p[prop][0])\n", " else:\n", " temp.append(None)\n", " df[prop] = temp\n", " \n", " df = df.set_index(0)\n", " df.index.name = None\n", "\n", " return df\n", " \n", " def query(self, filters=None, properties=None, options=None):\n", " r = self._query_ssw(filters, properties, options)\n", " if r.status_code == 200:\n", " return self._build_dataframe(r)\n", " else:\n", " print(\"Something went wrong.\")\n", " " ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DeltaLithologyVpEpsilonVsCitationRhoDescription
1000150.6263ShaleNaN0.955311NaNSondergeld, 2011NoneHaynesville Shale 2
1000720.1180Shale3774.8918530.2450002508.933067Wang, 2002NoneHard shale
1000100.7319ShaleNaN0.586081NaNSondergeld, 2011NoneHaynesville Shale 1
1000510.0320Shale2464.7040370.2580001470.468283Wang, 2002NoneShale
1000770.0950Shale3792.9830550.2400002276.750803Wang, 2002NoneHard shale
\n", "
" ], "text/plain": [ " Delta Lithology Vp Epsilon Vs \\\n", "100015 0.6263 Shale NaN 0.955311 NaN \n", "100072 0.1180 Shale 3774.891853 0.245000 2508.933067 \n", "100010 0.7319 Shale NaN 0.586081 NaN \n", "100051 0.0320 Shale 2464.704037 0.258000 1470.468283 \n", "100077 0.0950 Shale 3792.983055 0.240000 2276.750803 \n", "\n", " Citation Rho Description \n", "100015 Sondergeld, 2011 None Haynesville Shale 2 \n", "100072 Wang, 2002 None Hard shale \n", "100010 Sondergeld, 2011 None Haynesville Shale 1 \n", "100051 Wang, 2002 None Shale \n", "100077 Wang, 2002 None Hard shale " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rpc = RPC()\n", "\n", "filters = [\"[[lithology::Shale||Sandstone||Limestone]][[Delta::%2B]]\"]\n", "properties = ['Citation', 'Description', 'Lithology', 'Vp', 'Vs', 'Rho', 'Delta', 'Epsilon']\n", "options = [\"limit=100\"]\n", "\n", "df = rpc.query(filters, properties, options)\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "100" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(df)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plotting!" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nzv8H/3jjGe9rangAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(df.Vs, df.Vp)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [], "source": [ "liths = df.groupby('Lithology')" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nWLt2LT166PePSHei//GtqKgoJRKZ1iwtEplKefm4rOSP2bZtGw0NDU2PHTuSB7R0XHTRRTz11FPM\nmzePnTt30tDQQG1tLfX19axevZrf/e53bNmyhd69e7P33nvTs2dQOzvggAP44IMP2L59OwA9e/bk\nvPPOY9q0aU21mLvvvpuLLrqo1TIMHTqU0tJSvvWtb7Fp0yZ27dpFXV0dCxZ0fOCFiOQ31XhaMWHC\nWABqaippaOhJcfFOysvHN6V3dv6Ys846q9n7z33uc60OsY7fHj8ke/jw4fzud7/juuuuY9KkSfTs\n2ZPjjz+e+++/n127dnH33XdzySWXYGaMGTOG+++/H4AzzjiDT37ykwwZMoSePXuyevVqampqKC8v\nZ/To0RQXF/O1r32Nyy67bI9zJivTY489xvXXX88RRxzBpk2bGD16NNdff32brouIFB6tx7M7PWXT\nlOQP/Z1EciOT6/GoqU1ERLJKgUdERLJKgUdERLJKgUdERLJKgUdERLJKgUdERLJKgUdERLJKgUdE\nRLJKgUea6dGjB++8806uiyEiXZgCT4F4+eWXOemkkxgwYACDBw/m5JNP5i9/+UtOypK4CJ2ISFto\nrrYCsHHjRr7whS/w4IMPct5559HY2MhLL71EUVFRrosmItJmqvGkITo/StllZZRcWkLZZWVE50ez\nmv/tt9/GzDj//PMxM4qLixk3bhyf/vSnqaur4/TTT2e//fbjYx/7GBdddBEbNmxoyjty5EjuvPNO\nPvOZzzBgwAAuuOACGhsbm7bfcccdTUtPP/LII83OO2fOHD75yU/Sv39/hg8fzl133cXWrVs588wz\nWb58Of369aN///6sXLmSxsZGpkyZwoEHHsiBBx7INddcw7Zt24CghhTLf8ABBzBs2DBmzpzZdJ7G\nxka+853vcPDBBzNkyBC+8Y1v0NDQ0KZrJCIFJFMryhXKg7YufT3vaY+cE3GqaHpEzon40/OeTrp/\npvO7u2/cuNEHDx7sl1xyiT/zzDP+73//u2nbv/71L3/uued827ZtvmbNGh87dqxPmTKlafvIkSP9\n+OOP9xUrVvi///1vP/zww/2BBx5wd/dnnnnGDzjgAH/jjTd8y5YtPmnSJDczr6urc3f3IUOG+Msv\nv+zu7uvXr/fXXnvN3d1ra2ubrX7q7l5ZWeknnniir1mzxtesWeMnnXSSV1ZWunuwWmqvXr38xhtv\n9B07dvicOXO8b9++vn79end3nzJlip9zzjm+bt0637Rpk5999tl+ww03JL0Wqf5OItK50NLX2Qs8\npZeWNgsasUfZZWVJ9890/pglS5b4pZde6sOHD/devXr5F7/4RV+1atUe+/32t7/1MWPGNL0fOXKk\nP/74403vr7vuOr/yyivd3f2yyy5r9gX/9ttvNws8I0aM8AcffNA3bNjQ7ByJy267u0ciEX/mmWea\n3j/77LM+cuTIpv379OnjO3fubNq+//77+6uvvuq7du3yvffeu+mc7u5/+tOffNSoUUmvgwKPSOd6\net7TXnppqZ96yaleemlp04/kTAYe9fG0otEbk6Y37EqvKaij+WMOO+wwZsyYAcBbb73FRRddxJQp\nU/jxj39MRUUFL7/8ctOCaoMGDWqWN3756T59+rBixQoAVqxYwWc/+9mmbSNGjGiW74knnuDWW2/l\n+uuv58gjj+T222/nhBNOSFq+5cuX77EE9vLly5veDx48uNlKo3379mXz5s2sWbOGrVu3cswxxzRt\nc3d27dqV9rURkcyIzo8y+d7J1I2pa0qru7euhRztoz6eVhRZ8g784h7FWcmfzCc+8QkuueQSFi9e\nzNSpU+nRoweLFy9mw4YN/PznP0/7S3vo0KG89957Te/jXwMce+yxPPnkk6xZs4aJEydy3nnnASRd\ngG7YsGEsXbq02bGGDRvWahn2228/+vTpw5tvvsm6detYt24d69evZ+PGjWl9BhHJnOpZ1c2CDkDd\nmDpqZtdk9DwKPK2ouLCCyOuRZmmR1yKUTyrPSn4Iajh33XUX9fX1ALz//vvMnj2bE088kU2bNrHP\nPvvQv39/6uvrueOOO1o9XlBrhvPOO4+ZM2eyZMkStm7dyk033dS0z/bt23n88cfZsGEDPXv2pF+/\nfs2WwF67dm2z4DBp0iRuvfVWPvzwQz788ENuvvlmLr744lbL0qNHD6644gqmTJnCmjVrAKivr2fe\nvHlpXx8RyYxMtdC0RoGnFRPGTeCeb95D2bIyTn33VMqWlXHP1fcwYdyErOQH6NevH6+++irHH388\n++yzDyeeeCJHHnkkd955JzfeeCOvvfYa++67L2effTbnnntui0tixy9HPX78eKZMmcLpp5/Oxz/+\ncc4444xmeX/xi18watQo9t13Xx566CEef/xxIGj2mzRpEqNHj2bQoEGsXLmS6dOnc+yxx3LkkUdy\n5JFHcuyxxzJ9+vRm503lBz/4AYcccggnnHAC++67L+PGjePtt99O+/qISGZ0RgtNMlr6enc63e1a\nFCL9nUQ6T7I+nshrEe65+h6+UPoFPENLX2twgYiIADS1xNTMrqFhVwPFPYopv7q8TS006VCNZ3e6\nfkkXAP2dRHIj/L+XkRqP+nhERCSrFHhERCSrFHhERCSrFHhERCSrFHhERCSrFHhERCSrFHgK3MyZ\nMznllFPalVcriYpILijwFIh8WvpaRKQjNHNBAdDS1yLSlajGk4YF0SjTy8qoKilhelkZC6JtW7q6\no/lbWvo65tprr2XQoEGMHj2auXPnNqXPmDGDI444gv79+xOJRHjooYdSnmf58uWce+657L///owe\nPZqamsxOhS4iAmgF0phU6S8+/bRPjUTcoekxNRLxF59Ob+nqjuZ3b3np6xkzZnjv3r394Ycf9l27\ndvn999/vw4YNa9oejUb9nXfeCcry4ovet2/fpiWs41cS3blzpx999NF+yy23+Pbt2/2dd97x0aNH\n+7PPPpt2ObMh1d9JRDoXWvo6e4FnWmlps6ARe0wvS2/p6o7mj0m19PWMGTP8kEMOadpvy5YtbmZJ\nl8V2d584caLfc8897t488Lzyyis+YsSIZvt+73vf88suu6xN5exsCjwiuZHJwKOmtlb0aky+MFLP\nhvQWRupo/pjY0tfvv/8+ixcvZvny5UyZMgUza7a0dd++fQHYvHkzAM888wwnnHACgwcPZuDAgcyZ\nM4e1a9fucfxly5axfPlyBg4c2PT4/ve/z+rVq9tUThGR1ijwtGJHig78ncXpLYzU0fzJxC993ZLG\nxkbOPfdcrrvuOlavXs26des466yzYjW/Zg466CBGjRrVtPz0unXr2LhxI08//XS7yykikowCTytK\nKyqYFmm+dPXUSIRx5ektXd3R/NDy0tct2bZtG9u2bWO//fajR48ePPPMMymXlD7uuOPo168fP/zh\nD/noo4/YuXMnixcv1pBtEck4DaduxdgJwQJIlTU19GxoYGdxMePLy5vSOzs/7F76+q677mL9+vUM\nGDCAs88+mzvuuIMnnnhij2WlY+/79etHdXV10xDss88+m3POOSfpvj179uTpp5/m29/+NqNHj6ax\nsZHDDjuMW2+9Ne1yioikQwvB7U5P2gQl+UV/J5Hc0EJwIiJSsBR4REQkq3IeeMys2MxeNbNFZvam\n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\nVHOwJRqRgRtF21MeaLnPphT4RnFxs/WA4mtkmqBTRFqjwJNlrc3BBtltWmtp6plkfTZjgccOP5zK\n/fdXs5mItIsCT5a1Ngdbtr/IW5p6JlWfzZdvuUWBRkTaTYEny5LdMJqpOdgyVR5Ir88mk7TEgUj3\nocDTSVJ9kebbVC+tlScbfTZa4kCke1Hg6QTpfJHmy9DifCiPljgQ6V40ZU4nSDV1TD5Ne5NPqkpK\nqHrxxT3TNaWOSN7I5JQ5PTJxEGlOa8W0jZY4EOleFHg6gb5I26a0ooJpkUiztKmRCOM0pY5Il6Q+\nnk6QbwMI8l0+9DOJSPaoj6eTLIhGmR/3RVoI6+mIiKSSyT4eBR4REWmVBheIiEjBUuAREZGsUuAR\nEZGsUuAREZGsUuAREZGsUuAREZGsUuAREZGsUuAREZGsUuAREZGsUuAREZGsUuAREZGsUuAREZGs\nUuAREZGsUuAREZGsUuAREZGsUuAREZGsUuAREZGsUuAREZGsUuAREZGsUuAREZGsUuAREZGsUuAR\nEZGsUuAREZGsUuAREZGsUuAREZGsUuAREZGsUuAREZGsUuAREZGsUuAREZGsUuAREZGsUuAREZGs\nUuAREZGsUuAREZGsUuAREZGsUuAREZGsUuAREZGsyovAY2aPmNkqM/tHXNogM5tvZm+b2TwzGxC3\n7QYz+z8z+6eZlcalH2Nm/wi33ZPtzyEiIq3Li8ADzADGJ6RdD8x3948Dz4fvMbMjgPOBI8I895mZ\nhXnuBy5390OBQ80s8ZgFr7a2NtdF6BCVP7cKufyFXHYo/PJnUl4EHnd/CViXkPxF4NHw9aPAxPD1\nOcBsd9/u7kuBfwHHm9lQoJ+7Lwz3eywuT5dR6P94Vf7cKuTyF3LZofDLn0l5EXhSOMDdV4WvVwEH\nhK+HAR/E7fcBcGCS9PowXURE8kg+B54m7u6A57ocIiLScRZ8p+eemY0EnnL3T4fv/wmUuPvKsBnt\nBXc/zMyuB3D328P95gI3AsvCfQ4P0ycBp7r7lQnnyY8PLCJSYNzdWt+rdb0ycZBO8nvgEuAH4fOT\ncemzzOwugqa0Q4GF7u5mttHMjgcWAhcD1YkHzdSFExGR9smLwGNms4FTgf3M7H3g/wG3A782s8uB\npcB5AO7+ppn9GngT2AFc5burbVcBM4E+wBx3n5vNzyEiIq3Lm6Y2ERHpHgpicEFLzOwgM3vBzN4w\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=(6,6))\n", "ax = plt.subplot(111)\n", "for name, group in liths:\n", " ax.plot(group.Vp, group.Vs, marker='o', linestyle='', ms=6, label=name)\n", "ax.legend(loc=2)\n", "\n", "title = '{0}\\ rocks\\ from\\ the\\ RPC'.format(len(df))\n", "plt.title('$\\mathrm{' + title + '}$', size=18)\n", "plt.xlabel('$V_\\mathrm{P}\\ [m/s]$', size=16)\n", "plt.ylabel('$V_\\mathrm{S}\\ [m/s]$', size=16)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "

© Agile Geoscience 2015. This notebook is licensed under the terms of Creative Commons Attribution 4.0. Please use it!

" ] } ], "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.4.3" } }, "nbformat": 4, "nbformat_minor": 0 }