{ "cells": [ { "cell_type": "markdown", "id": "8a6abcb5", "metadata": {}, "source": [ "# Plot a map with geological observation points\n", "O. Kaufmann, 2021." ] }, { "cell_type": "code", "execution_count": 1, "id": "60b69616", "metadata": {}, "outputs": [], "source": [ "from geometron.plot import geological_maps as gm\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import geopandas as gpd" ] }, { "cell_type": "markdown", "id": "538a3645-d675-4685-b1af-4dcabd5e11be", "metadata": {}, "source": [ "## Create some observations consisting in surface points and orientations" ] }, { "cell_type": "code", "execution_count": 2, "id": "fd61368f-bc07-42b9-ba88-fe01ad890147", "metadata": {}, "outputs": [], "source": [ "df_surface_points = pd.DataFrame.from_dict({'id': {0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8},\n", " 'X': {0: 10, 1: 50, 2: 80, 3: 15, 4: 40, 5: 85, 6: 70, 7: 20},\n", " 'Y': {0: 20, 1: 30, 2: 40, 3: 40, 4: 60, 5: 75, 6: 60, 7: 30},\n", " 'Z': {0: 20, 1: 10, 2: 25, 3: 40, 4: 30, 5: 40, 6: 25, 7: 30},\n", " 'formation': {0: 'A', 1: 'A', 2: 'A', 3: 'B', 4: 'B', 5: 'B', 6: 'A3', 7: 'A3'},\n", " 'order_series': {0: np.nan, 1: np.nan, 2: np.nan, 3: np.nan, 4: np.nan, 5: np.nan, \n", " 6: np.nan, 7: np.nan}})" ] }, { "cell_type": "code", "execution_count": 3, "id": "13b5003d-24d4-4882-af83-dce7bcd50944", "metadata": {}, "outputs": [], "source": [ "gdf_surface_points = gpd.GeoDataFrame(df_surface_points, geometry=gpd.points_from_xy(df_surface_points.X, df_surface_points.Y))\n", "gdf_surface_points.crs = 'EPSG:32631'" ] }, { "cell_type": "code", "execution_count": 4, "id": "734b3bd7-866d-47c6-9e33-ca1c7450ee12", "metadata": {}, "outputs": [], "source": [ "df_orientations = pd.DataFrame.from_dict({'id': {0: 2, 1: 4, 2: 8, 3: 9},\n", " 'X': {0: 50, 1: 15, 2: 20, 3: 45},\n", " 'Y': {0: 30, 1: 40, 2: 30, 3: 25},\n", " 'Z': {0: 10, 1: 40, 2: 30, 3: 12},\n", " 'azimuth': {0: 160, 1: 70, 2: 40, 3: 80},\n", " 'dip': {0: 30, 1: 20, 2: 25, 3: 60},\n", " 'polarity': {0: 1, 1: 1, 2: 1, 3: 1},\n", " 'formation': {0: 'A', 1: 'B', 2: 'A3', 3: 'A'},\n", " 'isFault': {0: False, 1: False, 2: False, 3: False},\n", " 'series': {0: 'Strat_Series_1', 1: 'Strat_Series_1', 2: 'Strat_Series_1 ', 3: 'Strat_Series_1'}})" ] }, { "cell_type": "code", "execution_count": 5, "id": "f34b70b4-ca00-4d84-8db7-2bb0142400f9", "metadata": {}, "outputs": [], "source": [ "gdf_orientations = gpd.GeoDataFrame(df_orientations, geometry=gpd.points_from_xy(df_orientations.X, df_orientations.Y))\n", "gdf_orientations.crs = 'EPSG:32631'" ] }, { "cell_type": "markdown", "id": "a1112b39-ed1c-4fd7-befb-6b386a7b8eb2", "metadata": {}, "source": [ "## Define a color dictionary to associate a color with each formation" ] }, { "cell_type": "code", "execution_count": 6, "id": "c60f43aa-c4ae-4de1-9d1a-7430a1de72dd", "metadata": {}, "outputs": [], "source": [ "color_dict = {'A': '#019482', 'A3': '#9f0052', 'B': '#ffbe00', 'basement': '#728f02'}" ] }, { "cell_type": "markdown", "id": "22285085-7d8b-4a1b-a29b-18e6cdf4ba51", "metadata": {}, "source": [ "## Display the map" ] }, { "cell_type": "code", "execution_count": 7, "id": "8c7aa394", "metadata": { "nbsphinx-thumbnail": { "tooltip": "This tooltip message was defined in cell metadata" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAJDCAYAAAArYkFOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAABO2UlEQVR4nO3de1xVdb7/8fcXEcUMuYgaYKmJqCUx3lBrlCyzqEPqqGk16TSlmWc62WRl52iTc7HbyWqc38lGS7KLpo3mjHjJAu2iKBlZGUolKnhBUbwrAt/fHxCjCSoL9t7szev5ePBw77W+a+/Pdq29efNd3/1dxlorAAAAVI+fpwsAAADwRoQoAAAABwhRAAAADhCiAAAAHCBEAQAAOECIAgAAcOCCIcoY87oxJt8Y880Zy0KNMR8aY7LL/w0pX26MMa8YY743xmwyxnR1ZfEAAACecjE9UXMk3fyzZU9I+shaGy3po/L7knSLpOjynzGS/q92ygQAAKhbLhiirLVrJB342eLbJSWX306WNOiM5W/aMuskBRtjLqulWgEAAOoMp2OiWlprd5ff3iOpZfntSEk7z2iXW74MAADAp/jX9AGstdYYU+1rxxhjxqjslJ8aN27c7fLLL69pKXCj0tJS+fnxvQRvwj7zLuwv78M+8z5bt27db60Nd7q90xC11xhzmbV2d/npuvzy5XmSWp/RLqp82Tmsta9Jek2SYmJi7JYtWxyWAk9IS0tTQkKCp8tANbDPvAv7y/uwz7yPMWZ7TbZ3GpmXSBpVfnuUpA/OWH5P+bf0ekk6dMZpPwAAAJ9xwZ4oY8y7khIkNTfG5Ep6StIzkt4zxvxW0nZJw8ubp0hKlPS9pOOSfuOCmgEAADzugiHKWjuyilU3VNLWShpf06IAAADqOkbAAQAAOECIAgAAcIAQBQAA4ECN54kCAACudfjwYeXn5+v06dOeLqXO8/f3V+PGjRUeHq7GjRu79rlc+ugAAKBGDh8+rL179yoyMlKBgYEyxni6pDrLWqvi4mIdPXpUO3bsUMuWLdWsWTOXPR8hCgCAOiw/P1+RkZFq0qSJp0up84wxatiwoUJCQtSoUSPt2bPHpSGKMVEAANRhp0+fVmBgoKfL8DqBgYE6deqUS5+DEAUAQB3HKbzqc8f/GSEKAADAAUIUAACAA4QoAAB8VIMGDRQXF1fxk5OT47bn/stf/nLW/T59+rjtud2Fb+cBAOCjAgMDlZmZWe3tiouL5e9fs4jwl7/8RU8++WTF/c8//7xGj1cX0RMFAEA9kpmZqV69eik2NlaDBw/WwYMHJUkJCQl6+OGH1b17d7388stKSEjQhAkT1L17d3Xq1EkbNmzQkCFDFB0drf/5n/+peLxBgwapW7duuuqqq/Taa69Jkp544gmdOHFCcXFxuuuuuyRJTZs2lVQ2l9PEiRN19dVXq0uXLpo/f74kKS0tTQkJCRo6dKg6duyou+66S9Zad/7XVBs9UQAA+KifgowktW3bVosWLdI999yjv/71r+rXr5+mTJmip59+Wi+99JIkqaioSBkZGZKkf/7znwoICFBGRoZefvll3X777friiy8UGhqqK6+8UhMmTFBYWJhef/11hYaG6sSJE+rRo4d+9atf6ZlnntGMGTMq7QX7xz/+oczMTH311Vfav3+/evToob59+0qSvvzyS3377beKiIjQtddeq88++0zXXXedO/6rHCFEAQDgo35+Ou/QoUMqLCxUv379JEmjRo3SsGHDKtbfcccdZ22flJQkSerSpYuuuuoqXXbZZZKkdu3aaefOnQoLC9Mrr7yiRYsWSZJ27typ7OxshYWFVVnTp59+qpEjR6pBgwZq2bKl+vXrpw0bNigoKEg9e/ZUVFSUJFWM4SJEAQCAOu+SSy45636jRo0kSX5+fhW3f7pfXFystLQ0rVq1SmvXrlWTJk2UkJCgkydPOn7+M5+jQYMGKi4udvxY7sCYKAAA6olmzZopJCREn3zyiSRp7ty5Fb1SThw6dEghISFq0qSJsrKytG7duop1DRs2rPSCyb/85S81f/58lZSUaN++fVqzZo169uzpuAZPoicKAIB6JDk5WQ888ICOHz+udu3a6Y033nD8WDfffLNeffVVderUSTExMerVq1fFujFjxig2NlZdu3bV22+/XbF88ODBWrt2ra655hoZY/Tcc8+pVatWysrKqtHr8gRTF0a+x8TE2C1btni6DFTDT9+igPdgn3kX9pf3cdU+++6779SpU6daf9z64EL/d8aYL6y13Z0+PqfzAAAAHCBEAQAAOECIAgAAcIAQBQAA4AAhCgAAwAFCFAAAgAOEKAAAAAcIUQAAAA4QogAAABwgRAEAAI+4//77ZYzRhAkTPF2KI4QoAADgdidOnNB7770n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Uu8dZRNq5vxBOrBcankXAQoA3CCxTbS2j3pI6/fu0u5NX+vD6+5Wz5YR9EDVE0wO5AuMKRs83uapsvv5755ziRcAgGsYYxTfKlLBAY0V3yqSAFWPEKJ8SVC8FBgtFe2RDn7k6WoAAPBphChfYswZFyWe69laAADwcYQoX9Py7rJ/9y2Sio94thYAAHwYA8t9TWBbqeWdUuO2kj3t6WoAAPBZhChf1PltT1cAAIDP43Sel5o5c6beeOMNZWZmauzYsZW2ycrKUu/evdWoUSO98MILbq4QAADfRojyUp988on69u2r1atXq2/fvpW2CQ0N1SuvvKJHH33UzdUBAOD7OJ3nZaZPn67k5GRlZ2frm2++UU5OjiIiIvTJJ5/o1VdfPattixYt1KJFCy1dutRD1QIA4LvoifIyEyZM0Icffqj+/fsrMzNTHTp00ObNm88JUAAAwLUIUV5o48aNuuaaa3T48GEFBwd7uhwAAOolTud5kfz8fN10003Kz89X48aNNW/ePB05ckRxcXF6//33deWVV3q6RAAA6g16orxIixYtlJmZqa5du2r9+vW6++67K76hR4ACAMC96InyMiUlJSooKFDz5s31+eef65FHHqmy7Z49e9S9e3cdPnxYfn5+eumll7R582YFBQW5sWIAAHwTIcrLNGjQQGvXrpUkrVy58rxtW7VqpdzcXHeUBQBAvcPpPAAAAAcIUTivSZMmKTU1VYsXL9a0adMqbTNhwgTFxcUpLi5OHTp04BuDcImLORbXrFmjrl27yt/fXwsXLnRzhQDqG0IUzis9PV29evU678zo06dPV2ZmpjIzM/W73/1OQ4YMcXOVqA8u5li8/PLLNWfOHN15551urg5AfcSYKFRq4sSJWrFihbZt26bevXvrhx9+0EcffaShQ4dqypQpVW737rvv6umnn3ZjpfB11TkW27RpI0ny8+PvQwCuR4hCpZ5//nkNHz5cb775pl588UUlJCTos88+O+8227dv17Zt29S/f383VYn6wMmxCADuwJ9rqNJPM6NnZWWpU6dOF2w/b948DR06VA0aNHBDdahPqnssAoA70BOFc2RmZmr06NHKzc1V8+bNdfz4cVlrFRcXp7Vr1yowMLDS7ebNm6e//e1vbq4WvszpsQgA7kBPFM4RFxd31sWN+/fvrxUrVigzM7PKX1pZWVk6ePCgevfu7eZq4cucHIsA4C6EKFRq3759CgkJkZ+fn7KystS5c+fztp83b55GjBghY4ybKkR9UZ1jccOGDYqKitKCBQs0duxYXXXVVW6sFEB9w+k8VCo8PFxLly6VJK1bt+6C7f/whz+4uCLUV9U5Fnv06MEs/QDchp4oAAAABwhRAAAADhCiUCMffPCBYmNjFRcXp+7du+vTTz+tWJecnKzo6GhFR0frscceU0pKigcrha/LyspS79691ahRI73wwgtnrVu+fLliYmLUvn17PfPMMx6qEICvYUwUauSGG25QUlKSjDHatGmThg8frqysLB04cEBPP/20MjIylJeXp/79+6tt27b67rvvmOcHLhEaGqpXXnlFixcvPmt5SUmJxo8frw8//FBRUVHq0aOHkpKSLvhlCQC4EHqiIElasmRJxUWEY2Ji1LZt24varmnTphXfyDt27FjF7RUrVmjAgAEKDg7WlVdeqYiICKWkpCgiIsJlrwG+wemx2KJFC/Xo0UMNGzY8a/n69evVvn17tWvXTgEBARoxYoQ++OADV5QOoJ6hJwqSpKSkJCUlJUmShg8frn79+kmSJkyYoNTU1HPa9+zZUwkJCZKkRYsWadKkScrPz6/4FlVeXp7Cw8M1YsSIipnMAwMD1axZM/e8IHit6h6LI0aM0BNPPFHl4+Xl5al169YV96OiopSenl7LVQOojwhROMtzzz2nwMBAjR8/XpI0ffr0StulpaVV3B48eLAGDx6sNWvWaPLkyVq1apVKS0u1ePFizZs3T8YY7du3Ty1btnTHS4CPuNhjEQA8hRCFCqtWrdKCBQu0Zs2aimUX0xP1k759++rHH3/U/v37tW3bNpWUlOiqq67Sb37zG61bt04nT57U7bffrquvvtrVLwVerjrH4oV6oiIjI7Vz586K+7m5uYqMjKzdggHUS4QoSJK2b9+u8ePHa8WKFWddTuNCPVHff/+9rrzyShljtHHjRp06dUphYWH64x//qHbt2mnIkCG64YYbtHr1as2dO1fTp0/X7Nmz3fGS4KWqeyxeSI8ePZSdna1t27YpMjJS8+bN0zvvvFNb5QKoxwhRkCTNmTNHBQUFGjRokCRVDAS/kPfff19vvvmmGjZsqMDAQD300ENKSEhQRESEnn/+ef33f/+3vvrqK02ZMkWlpaVq166di18JvJ3TY3HPnj3q3r27Dh8+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pEmTdNVVVykvL8+D1QPwVYQonNfGjRt1zTXX6PDhwwoODr5g+9TUVM2ePVvPPvus64tDvXKhY7F169Z69tlnZa3V7373O61cuVJ/+tOflJmZqWXLlrm/YAA+jxCFSuXn5ysuLk6/+c1v9M4776hr16766quvFBcXpx9++KHSbTZt2qT77rtPH3zwgcLCwtxcMTxp34ljSliUrK7zX6v1x67OsdilSxfFxMRUjIP6+9//rubNm2vLli3avXt3rdcGoH4jRKFSLVq0UGZmprp27ar169fr7rvvrvhW1JVXXnlO+x07dmjIkCGaO3euOnTo4IGK4UkhjQKVvjdPmfv36tCpk7X62NU9Fvft26fLL79c48aN048//qhmzZqpZcuWKigoqNW6AIAQhSqVlJSooKBAzZs31+eff67rrruuyrZTp05VQUGBHnzwQcXFxal79+5urBSe5u/np84h4ZKkbw7sq/XHr86x2LFjR0VGRqp9+/a66667FBoaqtOnT+uqq66q9boA1G+EKFSpQYMGWrt2rSRp5cqVCgoKqrLtrFmzdPDgQWVmZiozM1MZGRnuKhN1RJewFpKkrwvya+XxSkpKtHDhQn3//ffVOhYnT56skpIStWnTRrfccov+/Oc/a+LEiXr99dd19OjRWqkNACRCFIBacnUNQ1R6errGjBmjyZMn68SJE5ozZ45iYmL0xhtvVOtxoqKi9Pbbb+ujjz7SjBkz1K1bN73xxhtKTEzUzJkzHdUGAJUhRNWSSZMmKTU1VYsXL9a0adMqbXPq1Cndcccdat++veLj45WTk+PeIgEXii0PUd9cRIjKy8vTqFGjNGTIEH344Yc6ceKEJk2apOnTp6tTp076y1/+ok6dOun9999XYGBgjWtr2bKlZs+ezXg9ALWKyTZrSXp6uqZMmaInn3xSQ4cOrbTN7NmzFRISou+//17z5s3T448/rvnz57u5UsA1Kk7nHciXtfa8FwP+n//5H02dOlXh4eHatWuXtm3bppiYGF1yySUaOXKk+vTpo6lTp6p37961clHhqi5XBAA1QU9UDU2cOFGxsbHasGGDevfurVmzZmncuHGaOnXqOW0/+OADjRo1SpI0dOhQffTRR7LWurtkwCVaNWmqsMaBKjx1UnnHjpy3bV5enjZu3KgHH3xQS5YsUUhIiPbu3Sup7ELCzZo109GjR2slQAGAqxCiauj555/X7NmzNXr0aG3YsEGxsbHatGmTpkyZck7bvLw8tW7dWpLk7++vZs2a8bVr+AxjTEVv1Kb9e89aV1JaquOnT1fc9/PzU35+vt544w198803ysrK0u7du1VcXCxJatKkScVtAKirOJ1XC36aSTkrK0udOnXydDmAx1wd2kJpedv1yqb12nrogDbt36tvDuTr2wP79PA18fpzr/6SpGuvvVbh4eEyxuiXv/ylfvjhB91111367//+b1133XWy1iokJMTDrwYAzo8QVQOZmZkaPXq0cnNz1bx5cx0/flzWWsXFxWnt2rXnDIiNjIzUzp07FRUVpeLiYh06dIiZveFTfuqJWrnzR63c+eNZ6/KO/vsU37hx43THHXdo9+7dWrx4sd544w1FRkZq5cqV2r9/v+bOnevWugHACUJUDcTFxSkzM1N9+vTRp59+qnvvvVePPfaYOnfuXGn7pKQkJScnq3fv3lq4cKH69+/PmA/4lJ9ClCTd37mruoS1qPgJbfzvPyqaN2+uxYsXa/PmzRo9erQuueQSSdLAgQPdXjMAOEWIqqF9+/YpJCREfn5+ysrKqjJASdJvf/tb/frXv1b79u0VGhqqefPmubFSwPWuCi2btbyhn59m9L1ZDRs0qLLtpZdeqvj4eHeVBgC1jhBVQ+Hh4Vq6dKkkad26dedt27hxYy1YsMAdZQEecWlAI7UNCta2w4XaWligq87omQIAX8O38wDUqtgz5osCAF9GiAJQq2p6+RcA8BaEKDd5++23FRsbqy5duqhPnz766quvKtYtX75cMTExat++vZ555hkPVgnUXJfQi7/8CwB4M8ZEuUnbtm21evVqhYSEaNmyZRozZozS09NVUlKi8ePH68MPP1RUVJR69OihpKSk8w5QB+qyisu/FOzzcCUA4Fr0RFXTkiVLFBcXp7i4OMXExKht27YXtV2fPn0qJg/s1auXcnNzJUnr169X+/bt1a5dOwUEBGjEiBH64IMPXFY/4GrRwWFq1KCBco4U6nDRKU+XAwAuQ09UNSUlJSkpKUmSNHz4cPXr10+SNGHCBKWmpp7TfsSIEXriiSfOWjZ79mzdcsstks6+FIwkRUVFKT093VXlAy7n7+enTiHNlbl/r74pyFefy1pfeCMA8EKEKIeee+45BQYGavz48ZKk6dOnX9R2qampmj17tj79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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize = (10,10))\n", "gm.plot_observations(gdf_surface_points, gdf_orientations, color_dict=color_dict, ax=ax)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.8.10" } }, "nbformat": 4, "nbformat_minor": 5 }