API Reference#
Survey object#
Object-oriented wrapper around the functional API, storing a survey dataframe, its column names, metadata, and intersection table.
|
Container for an airborne survey dataframe with its structural column names, coordinate reference system, metadata, intersection table, and lazily computed summary statistics. |
Trajectories#
Functions for calculating trajectory or navigation related fields
|
Calculate the distances along track in meters. |
|
Calculate distance between successive points in a dataframe. |
|
TODO: do calculation forward for 1st points so they aren't 0 Calculate the ground speed in meters per second. |
|
Calculate one component of velocity, which is the change in coordinate values divided by the change in time between each successive row in the dataframe. |
|
Calculate the 2nd derivative of height change with respect to time for each line. |
|
Calculate the track between each successive row in a dataframe. |
Geospatial data operations#
Functions for performing geospatial operations.
|
Convert coordinates from input CRS to output CRS. |
|
Reduce data by line based on the column(s) provided by reduce_by and the reduction function. |
|
Apply a 1D filter to a column of a pandas DataFrame along values of another column. |
|
Apply a spatial filter to a grid. |
|
Sample a grid's values at a set of x, y point coordinates. |
|
Resample all numeric columns in a dataframe at a supplied spacing of the supplied resample_by column. |
|
|
|
Interpolate NaN's in a dataframe's "to_interp" column, based on values from the "interp_on" column. |
|
Interpolate NaN's in the "to_interp" column, based on values from "interp_on". |
Interpolate NaN's in the "to_interp" column, based on values from "interp_on" using only values within a window around the NaN. |
|
|
Find the best damping parameter for a verde.SplineCV() fit. |
|
Fit a polynomial trend using scikit-learn and predict values at new locations. |
Organizing survey data#
Functions for working with and organizing survey data.
|
Split dataframe into segments where there is a gap in the supplied values greater than the threshold. |
|
Convert supplied lines names into integers. |
|
Estimate the flight line spacing by first, for each point on a specific line, finding the distances to the nearest point on another line and repeating this for all lines. |
|
Largest dimension of each line, taken as the longest side of its minimum rotated (oriented) bounding box. |
Quality Control (QC)#
Functions for automated and manual quality control of airborne geophysical survey data.
|
Cross-over analysis#
Functions for finding and examining cross-overs
|
Create a dataframe which contains the intersections between all combinations of lines. |
|
_summary_ |
|
|
|
|
|
plot lines and crosses |
|
|
|
Calculate mistie values for all intersections. |
|
At each theoretical intersection point, replace the interpolated field value with a value predicted by the fitted equivalent sources for the line, at the x,y coordinate of the intersection point, and the higher of the two lines' elevations. |
|
Calculate weights for each intersection based on various criteria. |
Levelling#
Functions for levelling airborne geophysical survey data.
|
Level flight lines based on the misfit between the data_column and grid_column values. |
|
Level lines by fitting a trend of specified order to cross-over errors and apply the correction to the data_col column. |
|
Level a network of lines by fitting a trend (or low-pass filter) to the cross-over errors at every intersection each line participates in, whether it appears as line1 or line2 in the intersection table (i.e. method='network' from create_intersection_table). |
|
|
|
Iteratively levelling lines by comparing the line to the forward calculated effect of equivalent sources which have been fitted to nearby data from other lines. |
|
Plotting functions#
Most of these are also available as Survey methods (e.g.
survey.plot(), survey.plotly_points()), which fill in the survey’s
dataframe and column names automatically.
|
Create a scatterplot of spatial data using columns 'easting' and 'northing'. |
|
plot data profiles with plotly currently only allows 3 separate y axes, set with "y_axes", starting with 1 |
|
plot data profiles with matplotlib currently only allows 3 separate y axes, set with "y_axes", starting with 1 |
|
plot lines and crosses |
|
|
|
|
|
Round a fraction of the map width to a human-friendly scalebar length. |
|
Choose an appropriate colormap and color limits for a set of values. |
Utilities#
|
Get a grids max and min values. |
|
function to give the root mean/median squared error (RMSE) of data |
|
Normalize a list of numbers by scaling the min and max values to be between low and high. |