Skip to content

Importing ChampionX Data ​

This import script uploads ChampionX aerial survey data into the platform. Unlike the emission importers, it does not create emission/plume records — each survey becomes a DataSurvey record in the extra_data app (the shape the frontend ChampionX layer / 3D viewer reads).

Data Package Format ​

ChampionX is the one importer that takes a multi-CSV folder instead of a single CSV. The --data_path folder must contain:

  • A surveys.csv manifest — one row per survey.
  • One point CSV per survey, referenced by the point_file column.

The script uploads surveys.csv plus every point CSV it references.

surveys.csv ​

One row per survey. The following headers must be present:

HeaderTypeBlankHelp
siteStringNOSurvey/site name (used as the survey description)
dateDateNOSurvey date
latNumberNOSurvey location latitude
lonNumberNOSurvey location longitude
point_fileStringNOFilename of the point CSV for this survey, present in the same folder

Any other column in surveys.csv is copied verbatim into DataSurvey.metadata — only the structural columns above (site, lat, lon, point_file, which are stored in dedicated fields) are excluded. Columns commonly included: site_type, priority, aircraft, date, ch4_kgh, ch4_uncertainty_kgh, ch4_within_uncertainty_of_zero, co2_tonh, co2_uncertainty_tonh, co2_within_uncertainty_of_zero, wind_dir_deg, wind_speed_ms, start_local, end_local, notes.

Point CSV (one per survey) ​

Each point CSV holds the measurement points for one survey. The following headers must be present:

HeaderTypeBlankHelp
time_epochNumberNOUnix epoch seconds; min/max set the survey start/end datetime
latitudeNumberNO
longitudeNumberNO
altitudeNumberNOMetres
wind_uDecimalNOStored on the point as windU
wind_vDecimalNOStored on the point as windV
temperature_cDecimalNOStored on the point as temp
ch4_ppmDecimalNOStored on the point as ch4
co2_ppmDecimalNOStored on the point as co2

Note: Each point becomes a GeoJSON Point feature in the survey's survey_data FeatureCollection. Any additional point columns are carried into the feature properties unchanged.

Script Arguments ​

In addition to the common arguments (environment, api_key, data_path), the ChampionX script accepts:

  • --owner - Owner Company name. Optional; ChampionX data is normally unowned, so omit it unless the surveys belong to a specific company.

The script hard-sets import_type to EXTRA_DATA.

Example ​

Import a ChampionX folder on the staging environment:

bash
python -m importers.extra_data.championx --environment staging --api_key {API_KEY_VALUE} --data_path {PATH_TO_FOLDER}

With an owner:

bash
python -m importers.extra_data.championx --environment staging --api_key {API_KEY_VALUE} --data_path {PATH_TO_FOLDER} --owner "{OWNER_NAME}"