Built-in Tasks¶
The Platform SDK ships ~80 tasks ready to use in your spec.yaml. This page helps you find the right one by use case. Each entry links to the full API reference.
Loading data¶
| I need to... | Task |
|---|---|
| Load events from EarthRanger | get_events |
| Load events with combined params | get_events_from_combined_params |
| Load patrol events | get_patrol_events |
| Load patrols | get_patrols |
| Load patrol observations | get_patrol_observations |
| Load subject group GPS data | get_subjectgroup_observations |
| Load events from SMART | get_events_from_smart |
| Load patrol observations from SMART | get_patrol_observations_from_smart |
| Download a region from Earth Engine | download_roi |
| Calculate NDVI range | calculate_ndvi_range |
| Get event type display names | get_event_type_display_names_from_events |
| Get spatial feature groups | get_spatial_features_group |
Connections¶
| I need to... | Task |
|---|---|
| Set up an EarthRanger connection | set_er_connection |
| Set up a SMART connection | set_smart_connection |
| Set up an Earth Engine connection | set_gee_connection |
Filtering¶
| I need to... | Task |
|---|---|
| Set a time range | set_time_range |
| Get timezone from a time range | get_timezone_from_time_range |
| Filter rows by a condition | filter_df |
| Drop rows with NaN in a column | drop_nan_values_by_column |
| Drop rows with null geometry | drop_null_geometry |
| Apply a relocation coordinate filter | apply_reloc_coord_filter |
Preprocessing¶
| I need to... | Task |
|---|---|
| Process relocations from GPS fixes | process_relocations |
| Convert relocations to trajectories | relocations_to_trajectory |
Transformation¶
| I need to... | Task |
|---|---|
| Apply a colormap to a column | apply_color_map |
| Classify day vs. night | classify_is_night |
| Classify by season | classify_seasons |
| Apply a custom classification | apply_classification |
| Add a temporal index column | add_temporal_index |
| Add a spatial index column | add_spatial_index |
| Convert column values to numeric | convert_column_values_to_numeric |
| Convert column values to string | convert_column_values_to_string |
| Convert values to a timezone | convert_values_to_timezone |
| Extract a column as a specific type | extract_column_as_type |
| Extract values from a JSON column | extract_value_from_json_column |
| Normalize a JSON column | normalize_json_column |
| Normalize a numeric column | normalize_numeric_column |
| Rename columns | map_columns |
| Map values in a column | map_values |
| Sort rows | sort_values |
| Transpose a DataFrame | transpose |
| Explode a list column | explode |
| Fill NaN values | fill_na |
| Assign a fixed value to a column | assign_value |
| Assign subject colors | assign_subject_colors |
Grouping¶
| I need to... | Task |
|---|---|
| Set grouper definitions | set_groupers |
| Split data into groups | split_groups |
| Combine keyed iterables | groupbykey |
| Merge grouped DataFrames | merge_df |
Analysis¶
| I need to... | Task |
|---|---|
| Count rows | dataframe_count |
| Sum a column | dataframe_column_sum |
| Average a column | dataframe_column_mean |
| Find the max of a column | dataframe_column_max |
| Find the min of a column | dataframe_column_min |
| Count unique values | dataframe_column_nunique |
| Get the first unique value | dataframe_column_first_unique |
| Calculate a percentile | dataframe_column_percentile |
| Apply arithmetic operations | apply_arithmetic_operation |
| Summarize a DataFrame | summarize_df |
| Aggregate over rows | aggregate_over_rows |
| Calculate night/day ratio | get_night_day_ratio |
| Calculate feature density | calculate_feature_density |
| Calculate elliptical time density | calculate_elliptical_time_density |
| Calculate linear time density | calculate_linear_time_density |
| Create a meshgrid | create_meshgrid |
Visualization¶
| I need to... | Task |
|---|---|
| Draw an interactive map | draw_ecomap |
| Create a point layer | create_point_layer |
| Create a polyline layer | create_polyline_layer |
| Create a polygon layer | create_polygon_layer |
| Create a text layer | create_text_layer |
| Set base maps | set_base_maps |
| Draw a time-series bar chart | draw_time_series_bar_chart |
| Draw a bar chart | draw_bar_chart |
| Draw a pie chart | draw_pie_chart |
| Draw a line chart | draw_line_chart |
| Draw an EcoPlot | draw_ecoplot |
| Draw a historic timeseries | draw_historic_timeseries |
| Draw an HTML table | draw_table |
Dashboard and Widgets¶
| I need to... | Task |
|---|---|
| Create a map widget | create_map_widget_single_view |
| Create a plot widget | create_plot_widget_single_view |
| Create a table widget | create_table_widget_single_view |
| Create a single-value widget | create_single_value_widget_single_view |
| Create a text widget | create_text_widget_single_view |
| Merge grouped widget views | merge_widget_views |
| Assemble the final dashboard | gather_dashboard |
| Gather output files | gather_output_files |
Persistence¶
| I need to... | Task |
|---|---|
| Persist an string value (e.g. an HTML blob) | persist_text |
| Persist a DataFrame | persist_df |
Workflow Utilities¶
| I need to... | Task |
|---|---|
| Set workflow name and description | set_workflow_details |
| Set a string variable | set_string_var |
| Set a boolean variable | set_bool_var |
| Concatenate strings | concat_string_vars |
| Title-case a string | title_case_var |
| Get column names from a DataFrame | get_column_names_from_dataframe |
Skip Conditions¶
| I need to... | Condition |
|---|---|
| Skip if any DataFrame input is empty | any_is_empty_df |
| Skip if any dependency was skipped | any_dependency_skipped |
| Skip if all geometries are null | all_geometry_are_none |
| Skip if any dependency is None | any_dependency_is_none |
| Never skip (used to override workflow-level defaults) | never |
| Fall back GeoDataFrame to None on skip | skip_gdf_fallback_to_none |