API Reference#

Trajectories#

Functions for calculated trajectory or navigation related fields

along_track_distance(data, *[, ...])

Calculate the distances along track in meters.

relative_distance(data, *[, easting_column, ...])

Calculate distance between successive points in a dataframe.

ground_speed(data, *[, time_column, ...])

TODO: do calculation forward for 1st points so they aren't 0 Calculate the ground speed in meters per second.

vertical_acceleration(data, *, time_column, ...)

Calculate the 2nd derivative of height change with respect to time for each line.

track(data, *, latitude_column, longitude_column)

Calculate the track between each successive row in a dataframe.

Geospatial data operations#

Functions for performing geospatial operations.

reproject(x, y, input_crs, output_crs)

Convert coordinates from input CRS to output CRS.

block_reduce(data, reduction, *, spacing, ...)

Reduce data by line based on the column(s) provided by reduce_by and the reduction function.

filter_line(data, *, filter_type, ...[, ...])

Apply a 1D filter to a column of a pandas DataFrame along values of another column.

filter_grid(grid[, filter_width, ...])

Apply a spatial filter to a grid.

sample_grid(data, grid, coord_names)

Sample grid values at supplied points in dataframe.

Organizing survey data#

Functions for working with and organizing survey data.

split_into_segments(data, threshold, column_name)

Split dataframe into segments where there is a gap in the supplied values greater than the threshold.

unique_line_id(df[, line_col_name])

Convert supplied lines names into integers.

Quality Control (QC)#

Functions for automated and manual quality control of airborne geophysical survey data.

inspect_lines(df, *, plot_variable[, interp_on])

Levelling#

Functions for levelling airborne geophysical survey data.

level_to_grid(data, *, degree, data_column, ...)

Fit a trend to the misfit between the data_column and grid_column values and subtract the fitted trend from the data to level it to the grid values.

create_intersection_table(data, *[, ...])

create a dataframe which contains the intersections between provided flight and tie lines.

interpolate_intersections(df, intersections, ...)

_summary_

inspect_intersections(data, *, plot_variable)

plot_line_and_crosses(df, *, y[, line, x, ...])

plot lines and crosses

lines_without_intersections(data, intersections)

calculate_crossover_errors(data, ...[, ...])

Calculate mistie values for all intersections.

update_intersections_with_eq_sources(data, ...)

At each theoretical intersection point, replace the interpolated field value with a value predected 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.

line_levelling(data, inters, *, ...[, ...])

Level lines based on intersection misties values.

iterative_line_levelling(data, inters, *, ...)

alternating_iterative_line_levelling(data, ...)

equivalent_source_levelling(data, ...[, ...])

_summary_

plot_levelling_convergence(results, *[, ...])

Plotting functions#

plotly_points(df, *, color_col[, ...])

Create a scatterplot of spatial data.

plotly_profiles(data, *, y[, x, y_axes, ...])

plot data profiles with plotly currently only allows 3 separate y axes, set with "y_axes", starting with 1

inspect_lines(df, *, plot_variable[, interp_on])