Plot a 2D seismic layout

  1. Kaufmann, 2022.

[1]:
from geometron.survey import TopoPoint
from geometron.geometries import features_to_gdf
from geometron.plot import plot_gdf_survey
import matplotlib.pyplot as plt
from shapely.geometry import Point
The layout consists of 96 geophones with a spacing of 2.5m. The first geophone is at station 0.
The spacing between shot points is 12.5 m. The first shot is at station -45 and the mast one is at station 140.

Create shots using the station as name

[2]:
shots = [TopoPoint(Point(i*2.5,0), name=f'{i}', kind='shot') for i in range(-45, 145, 5)]

Create geophones using the station as name every two geophones

[3]:
geophones = [TopoPoint(Point(i*2.5,0), name=f'{i}' if i%2 == 0 else '', kind='geophone') for i in range(0, 96)]

Create the layout

[4]:
layout = shots
layout.extend(geophones)

Convert the features in the layout into a geodataframe

[5]:
gdf_layout = features_to_gdf(layout)
gdf_layout.head()
[5]:
geometry id label kind class
0 POINT (-112.50000 0.00000) -45 -45 shot TopoPoint
1 POINT (-100.00000 0.00000) -40 -40 shot TopoPoint
2 POINT (-87.50000 0.00000) -35 -35 shot TopoPoint
3 POINT (-75.00000 0.00000) -30 -30 shot TopoPoint
4 POINT (-62.50000 0.00000) -25 -25 shot TopoPoint

Plot the layout

[6]:
fig, ax = plt.subplots(figsize=(30,10))
plot_gdf_survey(gdf_layout, ax=ax);
../../_images/examples_geophysics_Plot_a_seismic_layout_12_0.png