Skip to contents

Project Assembly

rfp_project_audit()
Audit a Project GeoPackage Against Its Manifest or the Registry
rfp_project_create()
Create a Field-Ready QGIS Project
rfp_project_layers()
List Layers for a Project Template
rfp_project_settings()
Project Settings rfp Applies to Every Project
rfp_project_settings_apply()
Apply rfp's Project Settings to a Project
rfp_project_slim()
Column-Slim Heavy Layers per the Project's Keep-List Sidecar
rfp_project_split()
Split a Project GeoPackage into One File Per Layer
rfp_project_subset()
Derive a focused child QGIS project from a heavy parent
rfp_project_templates()
List Available QGIS Project Templates
rfp_project_update()
Update Project GeoPackage Layers in Place
rfp_source()
Download Spatial Data to GeoPackage
rfp_source_test()
Test Layer Downloads for a Project Template
rfp_check_deps()
Check External Dependencies

Project layer layout

A project stores its background layers as one GeoPackage per layer or as a single file, and resolution is exported - so a consumer outside rfp reads a project the way rfp does rather than hardcoding one of the two shapes.

rfp-layout
Project Layer Layouts
rfp_layout()
Resolve a Project's Layer Layout
rfp_layout_layers()
Every Layer a Project Holds, Under Either Layout
rfp_layout_layer_path()
Path to the GeoPackage Holding a Layer

Field Forms

A form is defined in data - a schema CSV and a registry row. Build it, copy it into a project, and put its layer in the .qgs so it is collectable without a QGIS Desktop round trip.

rfp_form_types()
List Available Form Types
rfp_form_create()
Create an Empty Field Form
rfp_form_build()
Build a Field Form From Its Schema CSV
rfp_qgs_form_add()
Add a Field Form to a QGIS Project

Layer Styling

The path runs both ways: a style is lifted out of a project to a .qml, and an edited .qml goes back into a layer the project already declares - in place, so the layer keeps its id, its theme membership and any provider filter.

rfp_qgs_style_export()
Export Per-Layer QGIS Styles from a Project as QML
rfp_qgs_style_set()
Set a Layer's Style in a QGIS Project from a .qml
rfp_styles_apply()
Apply QGIS Styles to Spatial Data
rfp_map_render()
Render Styled Spatial Data to PNG

QGIS Project Maintenance

Properties of a layer’s data rather than its symbology, and each fails quietly when wrong. A preview expression naming a field the layer lacks degrades to raw feature ids; a provider subset decides which features exist at all, and a style cannot substitute for one.

rfp_qgs_rename()
Rename Duplicate and Invalid Names in a QGIS Project File
rfp_qgs_preview_set()
Set a Layer's Preview Expression in a QGIS Project
rfp_qgs_subset_set()
Set or Clear a Layer's Provider Subset in a QGIS Project
rfp_qgs_subset_get()
Read the Provider Subsets in a QGIS Project
rfp_qgs_layer_rm()
Remove Layers From a QGIS Project

Mergin Maps

rfp_mergin_changeset()
Per-File Changes at a Mergin Project Version
rfp_mergin_collaborators()
List Collaborators on Mergin Projects
rfp_mergin_conflicts()
Which Files in a Mergin Project Are in Conflict
rfp_mergin_create()
Create a Mergin Maps Project
rfp_mergin_diff()
Row-level Diff of a Mergin Project Layer Between Two Versions
rfp_mergin_file_get()
Fetch One File From a Mergin Project Without Cloning It
rfp_mergin_files()
List the Files in a Mergin Project Without Cloning It
rfp_mergin_healthcheck()
Health Check for the Mergin Subsystem
rfp_mergin_history()
List Version History of a Mergin Project
rfp_mergin_list()
List Mergin Projects Without Cloning Them
rfp_mergin_project_name()
Project Name from a Local Mergin Directory
rfp_mergin_pull()
Pull Server Changes for a Mergin Project
rfp_mergin_push()
Push Local Changes for a Mergin Project
rfp_mergin_remove()
Remove a Mergin Maps Project
rfp_mergin_share()
Share a Mergin Project with a Collaborator
rfp_mergin_status()
Show the Sync Status of a Mergin Project
rfp_mergin_sync()
Sync a Mergin Project (Pull then Push)
rfp_mergin_workspaces()
Workspaces Visible to the Authenticated Mergin Account

Data Download

rfp_source_bcdata() deprecated
Download and Save BC Data to GPKG
rfp_bcd_get_data()
Convenience wrapper on bcdata::bcdc_query_geodata() and bcdata::collect() to retrieve Web Feature Service data from the BC Data Catalogue.
rfp_source_csv() deprecated
Download and Convert CSVs to GeoPackage Layers
rfp_source_url() deprecated
Download and Convert Files to GeoPackage Layers with Optional Filtering

Field Data

rfp_gpx_import()
Import GPX Waypoints and Tracks directly from a GPS plugged into a Mac.
rfp_photo_metadata_rm()
Remove Metadata from a Photo
rfp_gpkg_to_geojson()
Convert all layers in a GeoPackage to GeoJSON files
rfp_fs_backup()
Backup a file with optional timestamp

Rasters

Insert a raster into a project and style it from the registry, on its own or paired with a companion - a DEM under its hillshade. The styles are data - a .qml plus a row - so adding one is not a code change.

rfp_qgs_raster_add()
Add a Raster Layer to a QGIS Project
rfp_raster_styles()
List Available Raster Styles
rfp_raster_style_path()
Path to a Registered Raster Style

Position tracking

Mergin Maps records where a crew walked. The layer’s schema is fixed by the app, and the three project properties that enable it are per project rather than fleet defaults, so they live here rather than in rfp_project_settings.csv. The fixed schema can still be augmented - the two _fields_add functions let a crew name a track in the field.

rfp_tracking_layer_create()
Create a Mergin Maps Position Tracking Layer
rfp_qgs_tracking_add()
Add the Position Tracking Layer to a QGIS Project
rfp_qgs_tracking_set()
Turn Mergin Maps Position Tracking On or Off
rfp_qgs_tracking_get()
Read a project's position tracking state
rfp_tracking_fields_add()
Add Editable Fields to a Position Tracking Layer
rfp_qgs_tracking_fields_add()
Add Editable Tracking Fields to a QGIS Project

Map themes

Read, write and remove QGIS map themes. A theme is data - the shipped registry describes both templates losslessly, so a theme can be given to any project rather than living in whichever one happened to have it first. Group state is derived when a theme is applied, from where the layers it shows actually sit, so no group path is stored and renaming, moving or deleting a group cannot invalidate a theme. Porting one by hand is still read-then-set, and a hand-built spec may still carry paths.

rfp_qgs_theme_lookup()
Read the Shipped Map Theme Registry
rfp_qgs_theme_add()
Add a Registry Map Theme to a QGIS Project
rfp_qgs_themes()
Read the Map Themes in a QGIS Project
rfp_qgs_theme_names()
Theme Names in a QGIS Project
rfp_qgs_theme_unbury()
Make Every Layer a Map Theme Shows Actually Draw
rfp_qgs_theme_set()
Create, Replace or Port a Map Theme in a QGIS Project
rfp_qgs_theme_rm()
Remove Map Themes from a QGIS Project
rfp_qgs_theme_create()
Create a map theme from another one, plus a delta
rfp_qgs_theme_layer_add()
Add a layer already in the project to map themes
rfp_qgs_theme_layer_rm()
Remove a layer from map themes, leaving the layer in the project

Web deployment (QWC2)

rfp_qwc_config_create()
Generate QWC2 Config CSV for a QGIS Project

Metadata

rfp_meta_bcd_xref()
Function to create a lookup table for BC Data Catalogue
rfp_meta_bcd_xref_col_comments()
rfp_meta_bcd_xref_col_comments
rfp_meta_bcd_xref_pkg_schtab()
Create a table that cross references the package name with the object_name.

Data

rfp_xref_layers_custom
Custom Layer Cross-Reference Table

Internals

rfp-layout
Project Layer Layouts
rfp_bcd_get_data()
Convenience wrapper on bcdata::bcdc_query_geodata() and bcdata::collect() to retrieve Web Feature Service data from the BC Data Catalogue.
rfp_check_deps()
Check External Dependencies
rfp_form_build()
Build a Field Form From Its Schema CSV
rfp_form_create()
Create an Empty Field Form
rfp_form_types()
List Available Form Types
rfp_fs_backup()
Backup a file with optional timestamp
rfp_gpkg_to_geojson()
Convert all layers in a GeoPackage to GeoJSON files
rfp_gpx_import()
Import GPX Waypoints and Tracks directly from a GPS plugged into a Mac.
rfp_layout()
Resolve a Project's Layer Layout
rfp_layout_layer_path()
Path to the GeoPackage Holding a Layer
rfp_layout_layers()
Every Layer a Project Holds, Under Either Layout
rfp_lookup_types()
Source Types Whose Parameters Come From a Lookup
rfp_manifest_create()
Generate a Baseline Layer Manifest from an Existing Project
rfp_manifest_read()
Read and Validate a Project Layer Manifest
rfp_manifest_types()
Allowed Manifest Source Types
rfp_map_render()
Render Styled Spatial Data to PNG
rfp_mergin_changeset()
Per-File Changes at a Mergin Project Version
rfp_mergin_collaborators()
List Collaborators on Mergin Projects
rfp_mergin_conflicts()
Which Files in a Mergin Project Are in Conflict
rfp_mergin_create()
Create a Mergin Maps Project
rfp_mergin_diff()
Row-level Diff of a Mergin Project Layer Between Two Versions
rfp_mergin_file_get()
Fetch One File From a Mergin Project Without Cloning It
rfp_mergin_files()
List the Files in a Mergin Project Without Cloning It
rfp_mergin_healthcheck()
Health Check for the Mergin Subsystem
rfp_mergin_history()
List Version History of a Mergin Project
rfp_mergin_list()
List Mergin Projects Without Cloning Them
rfp_mergin_project_name()
Project Name from a Local Mergin Directory
rfp_mergin_pull()
Pull Server Changes for a Mergin Project
rfp_mergin_push()
Push Local Changes for a Mergin Project
rfp_mergin_remove()
Remove a Mergin Maps Project
rfp_mergin_share()
Share a Mergin Project with a Collaborator
rfp_mergin_status()
Show the Sync Status of a Mergin Project
rfp_mergin_sync()
Sync a Mergin Project (Pull then Push)
rfp_mergin_workspaces()
Workspaces Visible to the Authenticated Mergin Account
rfp_meta_bcd_xref()
Function to create a lookup table for BC Data Catalogue
rfp_meta_bcd_xref_col_comments()
rfp_meta_bcd_xref_col_comments
rfp_meta_bcd_xref_pkg_schtab()
Create a table that cross references the package name with the object_name.
rfp_photo_metadata_rm()
Remove Metadata from a Photo
rfp_project_audit()
Audit a Project GeoPackage Against Its Manifest or the Registry
rfp_project_create()
Create a Field-Ready QGIS Project
rfp_project_layers()
List Layers for a Project Template
rfp_project_settings()
Project Settings rfp Applies to Every Project
rfp_project_settings_apply()
Apply rfp's Project Settings to a Project
rfp_project_slim()
Column-Slim Heavy Layers per the Project's Keep-List Sidecar
rfp_project_split()
Split a Project GeoPackage into One File Per Layer
rfp_project_subset()
Derive a focused child QGIS project from a heavy parent
rfp_project_templates()
List Available QGIS Project Templates
rfp_project_update()
Update Project GeoPackage Layers in Place
rfp_qgs_form_add()
Add a Field Form to a QGIS Project
rfp_qgs_layer_rm()
Remove Layers From a QGIS Project
rfp_qgs_preview_set()
Set a Layer's Preview Expression in a QGIS Project
rfp_qgs_raster_add()
Add a Raster Layer to a QGIS Project
rfp_qgs_rename()
Rename Duplicate and Invalid Names in a QGIS Project File
rfp_qgs_service_add()
Add Remote Service Layers to a QGIS Project
rfp_qgs_service_rm()
Remove Remote Service Layers from a QGIS Project
rfp_qgs_services()
Available Remote Service Layers
rfp_qgs_style_export()
Export Per-Layer QGIS Styles from a Project as QML
rfp_qgs_style_set()
Set a Layer's Style in a QGIS Project from a .qml
rfp_qgs_subset_get()
Read the Provider Subsets in a QGIS Project
rfp_qgs_subset_set()
Set or Clear a Layer's Provider Subset in a QGIS Project
rfp_qgs_theme_add()
Add a Registry Map Theme to a QGIS Project
rfp_qgs_theme_create()
Create a map theme from another one, plus a delta
rfp_qgs_theme_layer_add()
Add a layer already in the project to map themes
rfp_qgs_theme_layer_rm()
Remove a layer from map themes, leaving the layer in the project
rfp_qgs_theme_lookup()
Read the Shipped Map Theme Registry
rfp_qgs_theme_names()
Theme Names in a QGIS Project
rfp_qgs_theme_rm()
Remove Map Themes from a QGIS Project
rfp_qgs_theme_set()
Create, Replace or Port a Map Theme in a QGIS Project
rfp_qgs_theme_unbury()
Make Every Layer a Map Theme Shows Actually Draw
rfp_qgs_themes()
Read the Map Themes in a QGIS Project
rfp_qgs_tracking_add()
Add the Position Tracking Layer to a QGIS Project
rfp_qgs_tracking_fields_add()
Add Editable Tracking Fields to a QGIS Project
rfp_qgs_tracking_get()
Read a project's position tracking state
rfp_qgs_tracking_set()
Turn Mergin Maps Position Tracking On or Off
rfp_qgs_vector_add()
Add a Background Vector Layer to a QGIS Project
rfp_qwc_config_create()
Generate QWC2 Config CSV for a QGIS Project
rfp_raster_style_path()
Path to a Registered Raster Style
rfp_raster_styles()
List Available Raster Styles
rfp_source()
Download Spatial Data to GeoPackage
rfp_source_bcdata() deprecated
Download and Save BC Data to GPKG
rfp_source_csv() deprecated
Download and Convert CSVs to GeoPackage Layers
rfp_source_lookup()
Read a Source Tier's Parameter Lookup
rfp_source_test()
Test Layer Downloads for a Project Template
rfp_source_url() deprecated
Download and Convert Files to GeoPackage Layers with Optional Filtering
rfp_styles_apply()
Apply QGIS Styles to Spatial Data
rfp_tracking_fields_add()
Add Editable Fields to a Position Tracking Layer
rfp_tracking_layer_create()
Create a Mergin Maps Position Tracking Layer
rfp_u_rm_gpkg_layers() superseded
Remove Specified Layers from a GeoPackage
rfp_xref_layers_custom
Custom Layer Cross-Reference Table