Contouring flat-file time-series Pressure Transducer data and conversion to a web uploadable format for visualization in Kepler.gl
Surface Creation options include:
- Interpolation
- cubic spline (default)
- linear
- Triangulation subdivision
- Gaussian Process Regression (Kriging)
- (RBF + Constant Kernels)
Python
- Pandas
- Geopandas
- Shapely
- Numpy
- Matplotlib
- Scipy
- Scikit-learn
Input Data File
Accepts Excel flat file format where one row corresponds to one groundwater elevation at one DateTime of the form:
Location | DateTime | X | Y | Z |
---|---|---|---|---|
MW-1 | 2020-12-03 9:00 | 123453 | 435679 | 17.5 |
... | ... | ... | ... | ... |
Code Sample
from Contour import ContourData
cd = ContourData(
filepath = 'WellElevationSubsetSmaller.xlsx',
xcol = 'X',
ycol = 'Y',
zcol = "Water Elevation(ft NAVD88)",
tcol = "DateTimeRounded",
crs = 3456,
method = 'linear',
steps = 50
)
cd.subsetData()
cd.contourData(subdivisions=5)
cd.extractGeometry()
cd.mergeGeometry()
cd.reproject()
cd.toGeoJSON("test.json")
Interpolation methods increase run time significantly. If interpolating, set interpolation "steps" to largest possible size and triangulation subdivisions to lower values for fastest run time. Often larger step sizes provide a smoother contour line with an appropriate amount of subdivisions.
Triangulation subdivision will run fastest, however spatially sparse data may provide undesirable results.
File size will increase drastically with increased number of subdivisions and will increase with smaller step sizes.