Plot a geological map

  1. Kaufmann, 2021.

[1]:
from geometron.plot import geological_maps as gm
import matplotlib.pyplot as plt
from matplotlib.path import Path
import numpy as np
import pandas as pd
import geopandas as gpd

Create a polygon_dict (could be the output of gempy.section_utils.get_polygon_dictionary)

[2]:
polygon_dict = {'basement': [Path(np.array([[45., 88.95628197], [47., 88.98989156], [47.17201595, 89.], [49., 89.10830724],
                                            [51., 89.29874656], [53., 89.54807511], [55., 89.84381045], [57., 90.17447269],
                                            [59., 90.52982628], [61., 90.90093079], [61.5214998, 91.], [63., 91.28253196],
                                            [65., 91.66539587], [67., 92.04275786], [69., 92.40972527], [71., 92.76212334],
                                            [72.42435886, 93.], [73., 93.09685556], [75., 93.41097931], [77., 93.70065013],
                                            [79., 93.9638618], [81., 94.19891532], [83., 94.40433285], [85., 94.57878865],
                                            [87., 94.72105937], [89., 94.82999068], [91., 94.90447585], [93., 94.9434423],
                                            [95., 94.94584333], [97., 94.9106531], [99., 94.8368636], [99., 95.], [99., 97.],
                                            [99., 99.], [97., 99.], [95., 99.], [93., 99.], [91., 99.], [89., 99.], [87., 99.],
                                            [85., 99.], [83., 99.], [81., 99.], [79., 99.], [77., 99.], [75., 99.], [73., 99.],
                                            [71., 99.], [69., 99.], [67., 99.], [65., 99.], [63., 99.], [61., 99.], [59., 99.],
                                            [57., 99.], [55., 99.], [53., 99.], [51., 99.], [49., 99.], [47., 99.], [45., 99.],
                                            [43., 99.], [41., 99.], [39., 99.], [37., 99.], [35., 99.], [33., 99.], [31., 99.],
                                            [29., 99.], [27., 99.], [25., 99.], [23., 99.], [21., 99.], [19., 99.], [17., 99.],
                                            [15., 99.], [13., 99.], [12.31551404, 99.], [13., 98.7009608], [15., 97.82318079],
                                            [16.88129696, 97.], [17., 96.94909998], [19., 96.09187035], [21., 95.24443626],
                                            [21.58494048, 95.], [23., 94.41960017], [25., 93.6186686], [26.59801749, 93.],
                                            [27., 92.84707444], [29., 92.12106477], [31., 91.44076694], [32.41482327, 91.],
                                            [33., 90.82079858], [35., 90.2776083], [37., 89.81598784], [39., 89.44722021],
                                            [41., 89.17954694], [43., 89.01637388], [43.53528514, 89.], [45., 88.95628197]]),
                                  np.array([ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
                                            2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
                                            2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
                                            2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 79], dtype=np.uint8))],
                'A3': [Path(np.array([[33., 82.7262336], [35., 82.22744216], [37., 81.80843753], [39., 81.48186824], [41., 81.25710252],
                                      [43., 81.1374437], [45., 81.11927427], [47., 81.19368415], [49., 81.34884191], [51., 81.57173079],
                                      [53., 81.84917143], [55., 82.16845566], [57., 82.517797], [59., 82.88664721], [59.59923552, 83.],
                                      [61., 83.26455687], [63., 83.64316134], [65., 84.01627083], [67., 84.37835026], [69., 84.72458182],
                                      [70.69114745, 85.], [71., 85.05021691], [73., 85.34908004], [75., 85.62016577], [77., 85.86089491],
                                      [79., 86.06916203], [81., 86.24323426], [83., 86.38162662], [85., 86.48300335], [87., 86.54611682],
                                      [89., 86.5697741], [91., 86.55282013], [93., 86.49412977], [95., 86.39260451], [97., 86.24717154],
                                      [99., 86.05678404], [99., 87.], [99., 89.], [99., 91.], [99., 93.], [99., 94.8368636],
                                      [97., 94.9106531], [95., 94.94584333], [93., 94.9434423], [91., 94.90447585], [89., 94.82999068],
                                      [87., 94.72105937], [85., 94.57878865], [83., 94.40433285], [81., 94.19891532], [79., 93.9638618],
                                      [77., 93.70065013], [75., 93.41097931], [73., 93.09685556], [72.42435886, 93.], [71., 92.76212334],
                                      [69., 92.40972527], [67., 92.04275786], [65., 91.66539587], [63., 91.28253196], [61.5214998, 91.],
                                      [61., 90.90093079], [59., 90.52982628], [57., 90.17447269], [55., 89.84381045], [53., 89.54807511],
                                      [51., 89.29874656], [49., 89.10830724], [47.17201595, 89.], [47., 88.98989156], [45., 88.95628197],
                                      [43.53528514, 89.], [43., 89.01637388], [41., 89.17954694], [39., 89.44722021], [37., 89.81598784],
                                      [35., 90.2776083], [33., 90.82079858], [32.41482327, 91.], [31., 91.44076694], [29., 92.12106477],
                                      [27., 92.84707444], [26.59801749, 93.], [25., 93.6186686], [23., 94.41960017], [21.58494048, 95.],
                                      [21., 95.24443626], [19., 96.09187035], [17., 96.94909998], [16.88129696, 97.], [15., 97.82318079],
                                      [13., 98.7009608], [12.31551404, 99.], [11., 99.], [ 9., 99.], [ 7., 99.], [ 5., 99.], [ 3., 99.],
                                      [ 1., 99.], [ 1., 97.], [ 1., 95.], [ 1., 94.00732899], [ 3., 93.30103895], [ 3.83506107, 93.],
                                      [ 5., 92.58641982], [ 7., 91.8655555], [ 9., 91.13990418], [ 9.37676004, 91.], [11., 90.40670303],
                                      [13., 89.66996416], [14.80793005, 89.], [15., 88.92989913], [17., 88.1873885], [19., 87.44652134],
                                      [20.2041995, 87.], [21., 86.70925357], [23., 85.9814006], [25., 85.26741626], [25.76598847, 85.],
                                      [27., 84.5752538], [29., 83.91447514], [31., 83.29349271], [32.02768903, 83.], [33., 82.7262336]]),
                            np.array([1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
                                      2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
                                      2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
                                      2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 79], dtype=np.uint8))],
                'B': [Path(np.array([[27., 1.], [29., 1.], [31., 1.], [33., 1.], [35., 1.], [37., 1.], [39., 1.], [41., 1.], [43., 1.],
                                     [45., 1.], [47., 1.], [49., 1.], [51., 1.], [53., 1.], [55., 1.], [57., 1.], [59., 1.],
                                     [60.8520274, 1.], [60.2649941, 3.], [59.38635797, 5.], [59., 5.6577647], [58.21897221, 7.],
                                     [57., 8.68418863], [56.77222485, 9.], [55.03770251, 11.], [55., 11.03746315], [53., 12.99965848],
                                     [52.99964626, 13.], [51., 14.69474671], [50.62835032, 15.], [49., 16.21409689], [47.89562825, 17.],
                                     [47., 17.60820825], [45., 18.9102079], [44.85670975, 19.], [43., 20.2205665], [41.84279481, 21.],
                                     [41., 21.619346], [39.18693898, 23.], [39., 23.15476312], [37., 24.81833305], [36.77688291, 25.],
                                     [35., 26.5594422], [34.48101586, 27.], [33., 28.32228855], [32.20323224, 29.], [31., 30.04536365],
                                     [29.82935038, 31.], [29., 31.67038691], [27.21772252, 33.], [27., 33.15699637], [25., 34.42165973],
                                     [23.95295441, 35.], [23., 35.49632552], [21., 36.33953218], [19., 36.98861498], [18.93765214, 37.],
                                     [17., 37.32866833], [15., 37.38789188], [13., 37.09100846], [12.73564659, 37.], [11., 36.09702894],
                                     [ 9.83183649, 35.], [ 9., 33.32820065], [ 8.88311206, 33.], [ 8.75600401, 31.], [ 9., 29.6347343],
                                     [ 9.11522495, 29.], [ 9.87356233, 27.], [10.88161315, 25.], [11., 24.81280301], [12.13889947, 23.],
                                     [13., 21.75224274], [13.50803336, 21.], [14.92451002, 19.], [15., 18.89862459], [16.34687265, 17.],
                                     [17., 16.06479653], [17.70038902, 15.], [18.97305951, 13.], [19., 12.95854559], [20.19962587, 11.],
                                     [21., 9.66731542], [21.38191521, 9.], [22.56506398, 7.], [23., 6.29690161], [23.78890683, 5.],
                                     [25., 3.11389055], [25.07388008, 3.], [26.49069087, 1.], [27., 1.]]),
                           np.array([1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
                                     2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
                                     2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 79], dtype=np.uint8)),
                      Path(np.array([[37., 66.75009565], [39., 66.4960496], [41., 66.31691736], [43., 66.21680513], [45., 66.19711566],
                                     [47., 66.25639151], [49., 66.39027131], [51., 66.59155428], [53., 66.85038906], [53.98832777, 67.],
                                     [55., 67.14376338], [57., 67.45618233], [59., 67.78462642], [61., 68.11611163], [63., 68.43946354],
                                     [65., 68.7458287], [66.80131735, 69.], [67., 69.02671294], [69., 69.26528704], [71., 69.47219655],
                                     [73., 69.64350064], [75., 69.77561583], [77., 69.86530696], [79., 69.90970042], [81., 69.90628667],
                                     [83., 69.85290141], [85., 69.74768963], [87., 69.58906296], [89., 69.37565903], [91., 69.10630749],
                                     [91.65647578, 69.], [93., 68.76823992], [95., 68.36412093], [97., 67.8991639], [99., 67.37295021],
                                     [99., 69.], [99., 71.], [99., 73.], [99., 75.], [99., 77.], [99., 79.], [99., 81.], [99., 83.],
                                     [99., 85.], [99., 86.05678404], [97., 86.24717154], [95., 86.39260451], [93., 86.49412977],
                                     [91., 86.55282013], [89., 86.5697741], [87., 86.54611682], [85., 86.48300335], [83., 86.38162662],
                                     [81., 86.24323426], [79., 86.06916203], [77., 85.86089491], [75., 85.62016577], [73., 85.34908004],
                                     [71., 85.05021691], [70.69114745, 85.], [69., 84.72458182], [67., 84.37835026], [65., 84.01627083],
                                     [63., 83.64316134], [61., 83.26455687], [59.59923552, 83.], [59., 82.88664721], [57., 82.517797],
                                     [55., 82.16845566], [53., 81.84917143], [51., 81.57173079], [49., 81.34884191], [47., 81.19368415],
                                     [45., 81.11927427], [43., 81.1374437], [41., 81.25710252], [39., 81.48186824], [37., 81.80843753],
                                     [35., 82.22744216], [33., 82.7262336], [32.02768903, 83.], [31., 83.29349271], [29., 83.91447514],
                                     [27., 84.5752538], [25.76598847, 85.], [25., 85.26741626], [23., 85.9814006], [21., 86.70925357],
                                     [20.2041995, 87.], [19., 87.44652134], [17., 88.1873885], [15., 88.92989913], [14.80793005, 89.],
                                     [13., 89.66996416], [11., 90.40670303], [ 9.37676004, 91.], [ 9., 91.13990418], [ 7., 91.8655555],
                                     [ 5., 92.58641982], [ 3.83506107, 93.], [ 3., 93.30103895], [ 1., 94.00732899], [ 1., 93.],
                                     [ 1., 91.], [ 1., 89.], [ 1., 87.], [ 1., 85.], [ 1., 83.], [ 1., 81.], [ 1., 79.], [ 1., 77.],
                                     [ 1., 75.], [ 1., 73.], [ 1., 72.27291762], [ 3., 72.13161886], [ 5., 71.97806866],
                                     [ 7., 71.80837326], [ 9., 71.61899906], [11., 71.40696138], [13., 71.16998884], [14.26671685, 71.],
                                     [15., 70.89583558], [17., 70.57477449], [19., 70.2291934], [21., 69.86181498], [23., 69.47670003],
                                     [25., 69.07938775], [25.38164042, 69.], [27., 68.64447826], [29., 68.21027139], [31., 67.79525318],
                                     [33., 67.41011882], [35., 67.0657465], [35.4410497, 67.], [37., 66.75009565]]),
      np.array([1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
                2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
                2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
                2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 79], dtype=np.uint8))],
                'A': [Path(np.array([[ 3., 1.], [ 5., 1.], [ 7., 1.], [ 9., 1.], [11., 1.], [13., 1.], [15., 1.], [17., 1.], [19., 1.],
                                     [21., 1.], [23., 1.], [25., 1.], [26.49069087, 1.], [25.07388008, 3.], [25., 3.11389055],
                                     [23.78890683, 5.], [23., 6.29690161], [22.56506398, 7.], [21.38191521, 9.], [21., 9.66731542],
                                     [20.19962587, 11.], [19., 12.95854559], [18.97305951, 13.], [17.70038902, 15.], [17., 16.06479653],
                                     [16.34687265, 17.], [15., 18.89862459], [14.92451002, 19.], [13.50803336, 21.], [13., 21.75224274],
                                     [12.13889947, 23.], [11., 24.81280301], [10.88161315, 25.], [ 9.87356233, 27.], [ 9.11522495, 29.],
                                     [ 9., 29.6347343], [ 8.75600401, 31.], [ 8.88311206, 33.], [ 9., 33.32820065], [ 9.83183649, 35.],
                                     [11., 36.09702894], [12.73564659, 37.], [13., 37.09100846], [15., 37.38789188], [17., 37.32866833],
                                     [18.93765214, 37.], [19., 36.98861498], [21., 36.33953218], [23., 35.49632552], [23.95295441, 35.],
                                     [25., 34.42165973], [27., 33.15699637], [27.21772252, 33.], [29., 31.67038691], [29.82935038, 31.],
                                     [31., 30.04536365], [32.20323224, 29.], [33., 28.32228855], [34.48101586, 27.], [35., 26.5594422],
                                     [36.77688291, 25.], [37., 24.81833305], [39., 23.15476312], [39.18693898, 23.], [41., 21.619346],
                                     [41.84279481, 21.], [43., 20.2205665], [44.85670975, 19.], [45., 18.9102079], [47., 17.60820825],
                                     [47.89562825, 17.], [49., 16.21409689], [50.62835032, 15.], [51., 14.69474671], [52.99964626, 13.],
                                     [53., 12.99965848], [55., 11.03746315], [55.03770251, 11.], [56.77222485, 9.], [57., 8.68418863],
                                     [58.21897221, 7.], [59., 5.6577647], [59.38635797, 5.], [60.2649941, 3.], [60.8520274, 1.],
                                     [61., 1.], [63., 1.], [65., 1.], [67., 1.], [69., 1.], [71., 1.], [73., 1.], [75., 1.], [77., 1.],
                                     [79., 1.], [81., 1.], [83., 1.], [85., 1.], [87., 1.], [89., 1.], [91., 1.], [93., 1.], [95., 1.],
                                     [97., 1.], [99., 1.], [99., 3.], [99., 5.], [99., 7.], [99., 9.], [99., 11.], [99., 13.], [99., 15.],
                                     [99., 17.], [99., 19.], [99., 21.], [99., 23.], [99., 25.], [99., 27.], [99., 29.], [99., 31.],
                                     [99., 33.], [99., 35.], [99., 37.], [99., 39.], [99., 41.], [99., 43.], [99., 45.], [99., 47.],
                                     [99., 49.], [99., 51.], [99., 53.], [99., 55.], [99., 57.], [99., 59.], [99., 61.], [99., 63.],
                                     [99., 65.], [99., 67.], [99., 67.37295021], [97., 67.8991639], [95., 68.36412093], [93., 68.76823992],
                                     [91.65647578, 69.], [91., 69.10630749], [89., 69.37565903], [87., 69.58906296], [85., 69.74768963],
                                     [83., 69.85290141], [81., 69.90628667], [79., 69.90970042], [77., 69.86530696], [75., 69.77561583],
                                     [73., 69.64350064], [71., 69.47219655], [69., 69.26528704], [67., 69.02671294], [66.80131735, 69.],
                                     [65., 68.7458287], [63., 68.43946354], [61., 68.11611163], [59., 67.78462642], [57., 67.45618233],
                                     [55., 67.14376338], [53.98832777, 67.], [53., 66.85038906], [51., 66.59155428], [49., 66.39027131],
                                     [47., 66.25639151], [45., 66.19711566], [43., 66.21680513], [41., 66.31691736], [39., 66.4960496],
                                     [37., 66.75009565], [35.4410497, 67.], [35., 67.0657465], [33., 67.41011882], [31., 67.79525318],
                                     [29., 68.21027139], [27., 68.64447826], [25.38164042, 69.], [25., 69.07938775], [23., 69.47670003],
                                     [21., 69.86181498], [19., 70.2291934], [17., 70.57477449], [15., 70.89583558], [14.26671685, 71.],
                                     [13., 71.16998884], [11., 71.40696138], [ 9., 71.61899906], [ 7., 71.80837326], [ 5., 71.97806866],
                                     [ 3., 72.13161886], [ 1., 72.27291762], [ 1., 71.], [ 1., 69.], [ 1., 67.], [ 1., 65.], [ 1., 63.],
                                     [ 1., 61.], [ 1., 59.], [ 1., 57.], [ 1., 55.], [ 1., 53.], [ 1., 51.], [ 1., 49.], [ 1., 47.],
                                     [ 1., 45.], [ 1., 43.], [ 1., 41.], [ 1., 39.], [ 1., 37.], [ 1., 35.], [ 1., 33.], [ 1., 31.],
                                     [ 1., 29.], [ 1., 27.], [ 1., 25.], [ 1., 23.], [ 1., 21.], [ 1., 19.], [ 1., 17.], [ 1., 15.],
                                     [ 1., 13.], [ 1., 11.], [ 1., 9.], [ 1., 7.], [ 1., 5.], [ 1., 3.], [ 1., 1.], [ 3., 1.]]),
            np.array([1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
                      2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
                      2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
                      2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
                      2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
                      2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
                      2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 79], dtype=np.uint8))]}

Set a color dictionary

[3]:
color_dict = {'basement': '#728f02', 'A3': '#ffbe00', 'B': '#9f0052', 'A': '#015482'}

Specify the map extent

[4]:
extent=[0.0, 100.0, 0.0, 100.0]

Display the map

[5]:
fig, ax = plt.subplots(figsize = (10,10))
gm.plot_map(polygon_dict, color_dict, extent, ax=ax)
../../_images/examples_geological_Geological_maps_Plot_map_9_0.png