Skip to main content

Downloads Australian NVCL datasets

Project description

nvcl_kit

A simple module used to read Australian NVCL borehole data

Brief Introduction: how to extract NVCL borehole data

1. Instantiate class

from nvcl_kit.reader import NVCLReader 
from types import SimpleNamespace
param = SimpleNamespace()

# URL of the GeoSciML v4.1 BoreHoleView Web Feature Service
param.WFS_URL = "http://blah.blah.blah/nvcl/geoserver/wfs"

# URL of NVCL service
param.NVCL_URL = "https://blah.blah.blah/nvcl/NVCLDataServices"

# Optional bounding box to search for boreholes using WFS, default units are EPSG:4283 degrees
param.BBOX = {"west": 132.76, "south": -28.44, "east": 134.39, "north": -26.87 }

# Optional maximum number of boreholes to fetch, default is no limit
param.MAX_BOREHOLES = 20

# Instantiate class and search for boreholes
reader = NVCLReader(param)

2. Check if 'wfs' is not 'None' to see if this instance initialised properly

if not reader.wfs:
    print("ERROR!")

3. Call get_boreholes_list() to get list of WFS borehole data for NVCL boreholes

# Returns a list of python dictionaries
# Each dict has fields from GeoSciML v4.1 BoreholeView
bh_list = reader.get_boreholes_list()

4. Call get_nvcl_id_list() to get a list of NVCL borehole ids

nvcl_id_list = reader.get_nvcl_id_list()

5. Using an NVCL borehole id from previous step, call get_imagelog_data() to get the NVCL log ids

# Get list of NVCL log ids
nvcl_id_list = reader.get_nvcl_id_list()

# Get NVCL log id for first borehole in list
nvcl_id = nvcl_id_list[0]

# Get image log data for first borehole
imagelog_data_list = reader.get_imagelog_data(nvcl_id)
for ild in imagelog_data_list:
    print(ild.log_id,
          ild.log_name,
          ild.log_type,
          ild.algorithmout_id)

6. Using image log data, call get_borehole_data() to get borehole data

# Analysis class has 2 parts:
# 1. Min1,2,3 = 1st, 2nd, 3rd most common mineral
#    OR Grp1,2,3 = 1st, 2nd, 3rd most common group of minerals
# 2. uTSAV = visible light, uTSAS = shortwave IR, uTSAT = thermal IR
#
# These combine to give us a class name such as 'Grp1 uTSAS'
#
# Here we extract data for log type '1' and 'Grp1 uTSAS'
HEIGHT_RESOLUTION = 20.0
ANALYSIS_CLASS = 'Grp1 uTSAS'
LOG_TYPE = '1'
for ild in imagelog_data_list:
    if ild.log_type == LOG_TYPE and ild.log_name == ANALYSIS_CLASS:
        bh_data = reader.get_borehole_data(ild.log_id, HEIGHT_RESOLUTION, ANALYSIS_CLASS)
        # Print out the colour, mineral and class name at each depth
        for depth in bh_data:
            print("At ", depth, "my class, mineral, colour is", bh_data[depth].className,
                  bh_data[depth].classText, bh_data[depth].colour)

7. Using the NVCL ids from Step 5, you can also call get_spectrallog_data() and get_profilometer_data()

spectrallog_data_list = reader.get_spectrallog_data(nvcl_id)
for sld in spectrallog_data_list:
    print(sld.log_id,
          sld.log_name,
          sld.wavelength_units,
          sld.sample_count,
          sld.script,
          sld.script_raw,
          sld.wavelengths)

profilometer_data_list = reader.get_profilometer_data(nvcl_id)
for pdl in profilometer_data_list:
    print(pdl.log_id,
          pdl.log_name,
          pdl.max_val,
          pdl.min_val,
          pdl.floats_per_sample,
          pdl.sample_count)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for nvcl-kit, version 0.1.11
Filename, size File type Python version Upload date Hashes
Filename, size nvcl_kit-0.1.11-py3-none-any.whl (10.6 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size nvcl_kit-0.1.11.tar.gz (12.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page