Plot a 2D seismic layout
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), id=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), id=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);