GXVV class¶
-
class
GXVV
(handle=0)¶ GXVV class.
The
GXVV
class stores very long vector (array) data (such as channel data from an OASIS database) in memory and performs specific actions on the data. This set of functions is similar to theGXVM
functions except that you cannot access data directly and therefore you cannot use aGXVV
to pass data to an external (non-Geosoft) Dynamic Link Library (DLL) object function.If you want to pass data to a DLL, you must move a subset of the data stored in memory to a small vector object and then use the
GXGEO.get_ptr_vm
function to pass a pointer to the data on to the external function.See
GXVVU
for more utility methods.-
abs
()¶ Take the absolute value of values in a
GXVV
.New in version 7.1.
License: Geosoft Open License
-
add
(vv_y, vv_z)¶ Add two VVs: VV_A + VV_B = VV_C
Parameters: New in version 5.0.8.
License: Geosoft Open License
-
add2
(f1, vv_y, f2, vv_z)¶ Add two VVs with linear factors: VV_A*f1 + VV_B*f2 = VV_C
Parameters: New in version 5.0.8.
License: Geosoft Open License
Note: The multipliers must be defined and within the
GS_R8MN
GS_R8MX
range.
-
amplitude_3d
(v_vx, v_vy, v_vz)¶ Calculate the 3D length for XYZ component VVs
Parameters: New in version 8.0.1.
License: Geosoft Open License
-
append
(vv_a)¶ Appends
GXVV
‘sParameters: vv_a (GXVV) – GXVV
to appendNew in version 5.0.
License: Geosoft Open License
-
copy
(vv_s)¶ Copy one
GXVV
to another.Parameters: vv_s (GXVV) – Source New in version 5.0.
License: Geosoft Open License
-
copy2
(dest, vv_s, source, n)¶ Copy part of a vector into part of another vector.
Parameters: New in version 5.0.
License: Geosoft Open License
Note: 1. Unlike Copy_VV destination
GXVV
is not reallocated, nor is the length changed. The caller must make any desired changes.2. All
GXVV
types are supported and will be converted using Convert_GS if necessary.
-
count_dummies
(start, elem)¶ Count the number of dummies in a
GXVV
Parameters: - start (int) – Starting point in
GXVV
(0 for all) - elem (int) – Number of elements to process (-1 for all)
Returns: The count
Return type: int
New in version 6.3.
License: Geosoft Open License
- start (int) – Starting point in
-
crc
(pul_crc)¶ Compute the CRC value of a
GXVV
.Parameters: pul_crc (int) – Previous CRC CRC_INIT_VALUE
Returns: CRC Value Return type: int New in version 5.0.
License: Geosoft Open License
-
crc_inexact
(pul_crc, float_bits, double_bits)¶ Compute the CRC value of a
GXVV
and allows you to specify number of bits of floats/doubles to drop so that the CRC will be same even of this are changed.Parameters: - pul_crc (int) – Previous CRC
CRC_INIT_VALUE
- float_bits (int) – VV_FLOAT_CRC_BITS constants
- double_bits (int) – VV_DOUBLE_CRC_BITS constants
Returns: CRC Value
Return type: int
New in version 5.0.
License: Geosoft Open License
Note: Very useful for testing where the last bits of accuracy are not as important.
- pul_crc (int) – Previous CRC
-
classmethod
create
(type, elements)¶ Create a
GXVV
.Parameters: - type (int) – GEO_VAR constants
- elements (int) – Maximum number of elements in the
GXVV
, >= 0
Returns: GXVV
ObjectReturn type: New in version 5.0.
License: Geosoft Open License
Note: To set the fiducial start and increment for the data in the
GXVV
you need to callset_fid_start
andset_fid_incr
.If you are basing the
GXVV
data on fiducial information from a differentGXVV
, call GetFidStart_VV and GetFidIncr_VV to obtain thatGXVV
‘s fiducial information. Do this prior to setting the newGXVV
‘s fiducial start and increment.If you do not know the required length for a
GXVV
, use 0 and theGXVV
length will be adjusted as needed. This is a bit less efficient than setting the length when you know it.
-
classmethod
create_ext
(type, elements)¶ Create a
GXVV
, using one of the GS_TYPES constants special data types.Parameters: - type (int) – GS_TYPES constants
- elements (int) – Maximum number of elements in the
GXVV
, >= 0
Returns: GXVV
ObjectReturn type: New in version 5.0.
License: Geosoft Open License
Note: See
create
Do not use data type flags:
GS_INT
orGS_REAL
, this will result in a respective data type of unsigned byte or short for theGXVV
.
-
classmethod
create_s
(bf)¶ Create a
GXVV
from serialized source.Returns: GXVV
ObjectReturn type: GXVV New in version 5.0.
License: Geosoft Open License
-
diff
(n)¶ Calculate differences.
Parameters: n (int) – Number of differences New in version 5.0.
License: Geosoft End-User License
Note: Differences with dummies result in dummies. An even number of differences locates data accurately. An odd number of differences locates result 1/2 element lower in the
GXVV
.
-
divide
(vv_y, vv_z)¶ Divide one
GXVV
by another: VV_A / VV_B = VV_CParameters: New in version 5.0.8.
License: Geosoft Open License
-
fid_norm
(vv2)¶ Re-sample a pair of
GXVV
‘s to match each other.Parameters: vv2 (GXVV) – GXVV
to resampleNew in version 5.0.
License: Geosoft End-User License
Note: Both
GXVV
‘s will return with the same start fid and fid increment. The smaller start fid and fid increment will be used.
-
fill_double
(val)¶ Fill a
GXVV
with a real value.Parameters: val (float) – Value to fill with New in version 5.0.
License: Geosoft Open License
-
fill_int
(int)¶ Fill a
GXVV
with an int value.Parameters: int (int) – Value to fill with New in version 5.0.
License: Geosoft Open License
-
fill_string
(str_val)¶ Fill a
GXVV
with a string value.Parameters: str_val (str) – String New in version 5.0.
License: Geosoft Open License
-
find_dum
(start, end, yn, order)¶ Finds the first dummy or non-dummy value in a
GXVV
Parameters: Returns: The index of the first dummy or non-dummy value. -1 if not found, 0 if the length of the
GXVV
is 0.Return type: int
New in version 5.0.
License: Geosoft Open License
Note: If a decreasing order search is performed, it will start at the highest element specified. (Conversely, an increasing order starts at the lowest element specified.)
-
get_data
(start, elements, data, gs_type)¶ Copy data from user memory to a
GXVV
Parameters: - start (int) – Start Location
- elements (int) – Number of Elements
- data (bytearray) – Data buffer copy data into from
GXVV
- gs_type (int) – GS_TYPES constants
New in version 5.0.
License: Geosoft Open License
-
get_double
(element)¶ Get a real element from a
GXVV
.Parameters: element (int) – Element wanted Returns: Element wanted, or rDUMMY
if the value is dummy or outside of the range of data.Return type: float New in version 5.0.
License: Geosoft Open License
Note: Type conversions are performed if necessary. Dummy values are converted to “*” string.
-
get_fid_expansion
()¶ Gets the Fiducial expansion from a
GXVV
Returns: Number of expanions for this GXVV
(seere_fid_vv
)Return type: int New in version 6.4.
License: Geosoft Open License
-
get_fid_incr
()¶ Gets the Fiducial increment from a
GXVV
Returns: Fiducial increment of the GXVV
.Return type: float New in version 5.0.
License: Geosoft Open License
-
get_fid_start
()¶ Gets the Fiducial start from a
GXVV
Returns: Fiducial start of the GXVV
.Return type: float New in version 5.0.
License: Geosoft Open License
-
get_int
(element)¶ Get an integer element from a
GXVV
.Parameters: element (int) – Element wanted Returns: Element wanted, or iDUMMY
if the value is dummy or outside of the range of data.Return type: int New in version 5.0.
License: Geosoft Open License
-
get_string
(element, str_val)¶ Get a string element from a
GXVV
.Parameters: - element (int) – Element wanted
- str_val (str_ref) – String in which to place element
New in version 5.0.
License: Geosoft Open License
Note: Returns Element wanted, or blank string if the value is dummy or outside of the range of data.
Type conversions are performed if necessary. Dummy values are converted to “*” string.
-
index_insert
(vv_d, vv_i)¶ Insert items into a
GXVV
using an indexGXVV
.Parameters: New in version 6.2.
License: Geosoft Open License
Note: The items in the input data
GXVV
are inserted into the outputGXVV
using the indices in the indexGXVV
. Values not referenced are not altered, so the outputGXVV
should be pre-initialized. The outputGXVV
length will NOT be changed, and index values referencing beyond the end of the outputGXVV
data will return an error.This function is useful when working with channel data that include dummies, but where the dummies must be removed before processing. Create and initialize an index (0, 1, 2...)
GXVV
, using theinit_index
function, and when you remove the dummies, remove the corresponding index values as well. After processing, init aGXVV
to dummies, then useindex_insert
to put the processed values at the correct locations in the dataGXVV
before you write it back to the channel.
-
index_max
(max)¶ Get the index where the maximum value occurs.
Parameters: max (float_ref) – Maximum value ( rDUMMY
if all dummies or no data)Returns: Index of the maximum value, iDUMMY
if no valid data.Return type: int New in version 6.2.
License: Geosoft End-User License
Note: If more than one value has the same maximum value, the index of the first is returned.
-
index_order
(vv_d)¶ Reorder a
GXVV
.Parameters: vv_d (GXVV) – GXVV
to orderNew in version 5.0.
License: Geosoft End-User License
Note: Given an index
GXVV
(of type INT), this method reorders aGXVV
. Please make sure that the index holds valid information.
-
init_index
(n)¶ Initialize an index
GXVV
to values 0, 1, 2, etc...Parameters: n (int) – Final length of GXVV
(-1 to use current length).New in version 6.2.
License: Geosoft Open License
Note: Populates a
GXVV
with the values 0, 1, 2, 3, 4 etc., to be used for various indexing functions, such asindex_insert
orindex_order
.
-
inv_log
(log_base, log_neg, log_min)¶ Inverse of the
log
function.Parameters: - log_base (int) – VV_LOG_BASE constants
- log_neg (int) – VV_LOG_NEGATIVE constants
- log_min (float) – Minimum value for VV_LOG_NEGATIVE constants
New in version 7.3.
License: Geosoft Open License
Note: This is the inverse function for
log
, with the same inputs.NEGATIVE_NO - will not return values smaller than the input minimum NEGATIVE_YES - if the data is in the range +/- minimum, it is left alone. Otherwise, the sign is removed, the minimum is subtracted, the log of the minimum is added, and the exponential (base e or base 10) is taken of the sum. The sign is then reapplied. Minimum value will be defaulted to 1.0 if it is 0.0 or less than 0.0
-
is_null
()¶ Check if this is a null (undefined) instance
Returns: True if this is a null (undefined) instance, False otherwise. Return type: bool
-
length
()¶ Returns current
GXVV
length.Returns: # of elements in the GXVV
.Return type: int New in version 5.0.
License: Geosoft Open License
-
lines_to_xy
(vv_x, vv_y)¶ Convert a 2D Line segment
GXVV
into X and Y VVs.Parameters: New in version 8.0.
License: Geosoft End-User License
Note: Some GX functions (such as
GXTIN.get_voronoi_edges
) return a specialGXVV
where each element contains the start and end points of lines, (X_1, Y_1) and (X_2, Y_2). This GX dumps the individual X and Y values into individual X and Y VVs of typeGS_DOUBLE
(REAL). N lines produces 2*N X and Y values.
-
log
(log_base, log_neg, log_min)¶ Apply log to the vv.
Parameters: - log_base (int) – VV_LOG_BASE constants
- log_neg (int) – VV_LOG_NEGATIVE constants
- log_min (float) – Minimum value for VV_LOG_NEGATIVE constants
New in version 5.0.
License: Geosoft Open License
Note: Minimum value will be defaulted to 1.0 if it is 0.0 or less than 0.0
-
log_linear
(log_min)¶ Take the log10 or original value of a
GXVV
.Parameters: log_min (float) – Minimum value New in version 5.0.
License: Geosoft Open License
Note: If the data is in the range +/- minimum value, it is left alone. Otherwise, the result is calculated as
d = dMin * (log10(fabs(d)/dMin)+1.0)
Sign is reapplied to d.
Minimum value will be defaulted to 1.0 if it is negative or 0.
-
lookup_index
(vvi, vvr)¶ Lookup a
GXVV
from anotherGXVV
using an indexGXVV
.Parameters: New in version 5.0.
License: Geosoft End-User License
Note: This method assigns index values of 0.0, 1.0, 2.0 etc. to the individual values in the input Data
GXVV
, and uses linear interpolation to calculate the values of ResultGXVV
at the input indices contained in the IndexGXVV
.If the input Data
GXVV
is string type, then only values at the integral index values are returned.See also
setup_index
for an example of how this can be implemented.
-
make_mem_based
()¶ Make this
GXVV
use regular instead of virtual memory.New in version 5.1.2.
License: Geosoft Open License
Note: This function should be called immediately aftter
create
.Normal VVs are optimised to prevent thrashing, and to efficiently support many extremely large VVs, although there is a small performance penalty. This function is intended for
GXVV
‘s that you know can be handled by the operating system virtual memory manager, and will be used heavily. By using a memory basedGXVV
, you can achieve some performance improvements provided your application does not cause the memory manager to “thrash”.External programs that use the GX API may prefer to use memory-based
GXVV
‘s because you can get direct access to theGXVV
through theGXGEO.get_ptr_vv
function (see gx_extern.h).See also
GXGEO.get_ptr_vv
in gx_extern.h
-
mask
(vv_m)¶ Mask one
GXVV
against another.Parameters: vv_m (GXVV) – Mask GXVV
New in version 5.0.
License: Geosoft End-User License
Note: All elements in the mask
GXVV
that are dummies will replace the value in the originalGXVV
with a dummy.The modified
GXVV
will always be the same length as the maskGXVV
after this call. If the mask is longer than the target, the target will be lengthenned with dummies.
-
mask_and
(vv_y, vv_z)¶ Create mask from logical AND of two VVs.
Parameters: New in version 5.1.2.
License: Geosoft End-User License
Note: If both values are non-dummies, then result is 1, else dummy.
-
mask_or
(vv_y, vv_z)¶ Create mask from logical OR of two VVs.
Parameters: New in version 5.1.2.
License: Geosoft End-User License
Note: If either values is non-dummy, then result is 1, else dummy.
-
mask_str
(vv_m, str_val)¶ Mask one
GXVV
against another using a string.Parameters: New in version 5.0.
License: Geosoft End-User License
Note: All elements in the mask
GXVV
that are same as string will replace the originalGXVV
with a 1.The modified
GXVV
will always be expanded to the MaskVV size but not shortened after this call. If the mask is longer than the target, the target will be lengthenned with dummies before applying the mask.
-
multiply
(vv_y, vv_z)¶ Multiply two VVs: VV_A * VV_B = VV_C
Parameters: New in version 5.0.8.
License: Geosoft Open License
-
order
(rep)¶ Identifies the data size order of the elements.
Parameters: rep (int_ref) – Returned: Do any values repeat (0: No, 1: Yes)? Returns: VV_ORDER constants Return type: int New in version 6.4.
License: Geosoft End-User License
-
polygon_mask
(yvv, rvv, pply, dummy)¶ Mask a
GXVV
using XY data and a polygonParameters: New in version 5.1.3.
License: Geosoft End-User License
Note: The VVs has to be the same length
-
classmethod
project
(pj, vv_x, vv_y)¶ This method projects an X and Y
GXVV
.Parameters: New in version 5.0.
License: Geosoft End-User License
Note: This function is equivalent to
GXPJ.convert_vv
.
-
classmethod
project_3d
(pj, vv_x, vv_y, vv_z)¶ This method projects an X,Y,Z
GXVV
.Parameters: New in version 5.0.
License: Geosoft End-User License
Note: This function is equivalent to
GXPJ.convert_vv3
.
-
range_double
(min, max)¶ Get the min. and max. values of a
GXVV
while ignoring dummies.Parameters: New in version 5.0.
License: Geosoft Open License
Note: Minimum and maximum become
GS_R8DM
if entireGXVV
is dummy.
-
re_fid
(start, incr, length)¶ Re-sample a
GXVV
to a new fid start/icrementParameters: - start (float) – New fid start
- incr (float) – New fid increment
- length (int) – New length
New in version 5.0.
License: Geosoft Open License
-
re_fid_vv
(vv_m)¶ Re-sample a
GXVV
to match anotherGXVV
.Parameters: vv_m (GXVV) – GXVV
model (fid increment and start)New in version 5.0.
License: Geosoft Open License
Note: This method will honor the
GXVV
FID Expansion and will expand/contractGXVV
‘s based on this flag if it is used.
-
re_sample
(c_start, c_incr, n_start, n_incr, length, extr)¶ Resamples a
GXVV
from one fid/incr to another fid/incr.Parameters: - c_start (float) – Current start fid
- c_incr (float) – Current increment
- n_start (float) – New fid start
- n_incr (float) – New fid increment
- length (int) – New length
- extr (int) – Extrapolate Endpoints (0 - No, 1 - Yes)
New in version 5.1.1.
License: Geosoft Open License
-
reverse
()¶ Reverses the order of the data in a
GXVV
.New in version 5.1.3.
License: Geosoft End-User License
-
serial
(bf)¶ Serialize
New in version 5.0.
License: Geosoft Open License
-
set_data
(start, elements, data, gs_type)¶ Copy data from user memory to a
GXVV
Parameters: - start (int) – Start Location
- elements (int) – Number of Elements
- data (bytearray) – Data buffer to copy into into
GXVV
- gs_type (int) – GS_TYPES constants
New in version 5.0.
License: Geosoft Open License
-
set_double
(element, value)¶ Set a real element in a
GXVV
.Parameters: - element (int) – Element to set
- value (float) – Value to set
New in version 5.0.
License: Geosoft Open License
Note: Element being set cannot be < 0. If the element is > current
GXVV
length, theGXVV
length is increased. It is good practice to set the length ahead of time to the expected maximum value, as someGXVV
processes rely on the current maximum length of theGXVV
when you pass it in as an argument, and unexpected results may occur if the length is not what you expect it to be because of dynamic allocation at an earlier time.
-
set_double_n
(start, n, value)¶ Set N real elements in a
GXVV
.Parameters: - start (int) – Start element (>= 0)
- n (int) – # elements to set (-1 sets all elements to end)
- value (float) – Value to set
New in version 5.0.
License: Geosoft Open License
Note: Element being set cannot be < 0. If the element is > current
GXVV
length, theGXVV
length is increased.
-
set_fid_expansion
(expand)¶ Sets the Fiducial expansion from a
GXVV
Parameters: expand (int) – Expansion setting (1 or greater) New in version 6.4.
License: Geosoft Open License
-
set_fid_incr
(incr)¶ Sets the Fiducial increment of a
GXVV
Parameters: incr (float) – New increment New in version 5.0.
License: Geosoft Open License
-
set_fid_start
(start)¶ Sets the Fiducial start of a
GXVV
Parameters: start (float) – New start New in version 5.0.
License: Geosoft Open License
-
set_int
(element, value)¶ Set an integer element in a
GXVV
.Parameters: - element (int) – Element to set
- value (int) – Value to set
New in version 5.0.
License: Geosoft Open License
Note: Element being set cannot be < 0. If the element is > current
GXVV
length, theGXVV
length is increased. It is good practice to set the length ahead of time to the expected maximum value, as someGXVV
processes rely on the current maximum length of theGXVV
when you pass it in as an argument, and unexpected results may occur if the length is not what you expect it to be because of dynamic allocation at an earlier time.
-
set_int_n
(start, n, value)¶ Set N integer elements in a
GXVV
.Parameters: - start (int) – Start element (>= 0)
- n (int) – # elements to set (-1 sets all elements to end)
- value (int) – Value to set
New in version 5.0.
License: Geosoft Open License
Note: Element being set cannot be < 0. If the element is > current
GXVV
length, theGXVV
length is increased.
-
set_len
(size)¶ Set the length of a
GXVV
.Parameters: size (int) – New length (number of elements) New in version 5.0.
License: Geosoft Open License
Note: If increasing the
GXVV
size, new elements are set to dummies.It is good practice to set the length ahead of time to the expected maximum value, as some
GXVV
processes rely on the current maximum length of theGXVV
when you pass it in as an argument, and unexpected results may occur if the length is not what you expect it to be because of dynamic allocation at an earlier time.
-
set_string
(element, value)¶ Set a string element in a
GXVV
.Parameters: - element (int) – Element to set
- value (str) – String to set
New in version 5.0.
License: Geosoft Open License
Note: Element being set cannot be < 0. If the element is > current
GXVV
length, theGXVV
length is increased. It is good practice to set the length ahead of time to the expected maximum value, as someGXVV
processes rely on the current maximum length of theGXVV
when you pass it in as an argument, and unexpected results may occur if the length is not what you expect it to be because of dynamic allocation at an earlier time.
-
set_string_n
(start, n, value)¶ Set N string elements in a
GXVV
.Parameters: - start (int) – Start element (>= 0)
- n (int) – # elements to set (-1 sets all elements to end)
- value (str) – String to set
New in version 5.0.
License: Geosoft Open License
Note: Element being set cannot be < 0. If the element is > current
GXVV
length, theGXVV
length is increased.
-
setup_index
(vvq, vvi, mode, space)¶ Setup an index
GXVV
from VV1 to VV2.Parameters: New in version 5.0.
License: Geosoft End-User License
Note: The input reference
GXVV
must be in ascending numerical order. If your reference data is NOT ordered, then use thesort_index1
function to create an order index, then sort both the reference and data VVs using this indexGXVV
before you callsetup_index
.Example: You have a reference data set taken at specific times,
hVVt
,hVVy
and you want to calculate/estimate/interpolate the valueshVVy2
at a second set of timeshVVt2
Step 1: Create an index,
hVVi
, typeGS_DOUBLE
, and callsetup_index
.with:
hVVt2, hVVi, VV_LOOKUP_XXX, rSpacing
Internally, this assigns index values of 0.0, 1.0, 2.0 etc. to the individual values in
hVVt
, then, depending on the lookup method chosen, assigns fractional index values to the input values inhVVt2
.Step 2: To determine what the lookup values
hVVy2
should be at timeshVVt2
, call thelookup_index
function for hVVy withhVVi, hVVy2
Internally, this assigns index values of 0.0, 1.0, 2.0 etc. to the individual values in
hVVy
, and uses linear interpolation to calculate the values ofhVVy2
at the input indices contained inhVVi
.
-
sort
(order)¶ Sort a
GXVV
.Parameters: order (int) – VV_SORT constants New in version 5.1.5.
License: Geosoft End-User License
-
sort_index
(ivv)¶ Sort index
GXVV
based on a dataGXVV
.Parameters: ivv (GXVV) – Index GXVV
of type INTNew in version 5.0.
License: Geosoft End-User License
Note: Create an Index
GXVV
(of typeGS_LONG
) based on a dataGXVV
. This index vv can then be used by the IndexOrder method to order a group ofGXVV
‘s.
-
sort_index1
(ivv, ord1)¶ Sort index
GXVV
based on 1 dataGXVV
- set orders.Parameters: - ivv (GXVV) – Index
GXVV
of type INT - ord1 (int) – VV_SORT constants
New in version 5.0.2.
License: Geosoft End-User License
Note: Create an Index
GXVV
(of typeGS_LONG
) based on a dataGXVV
. This index vv can then be used by the IndexOrder method to order a group ofGXVV
‘s. The individual VVs may be ordered in ascending or descending order. If the primaryGXVV
values of two indices are the same, then the secondaryGXVV
values are compared. If the secondary values are the same, the ternary values are compared, etc.- ivv (GXVV) – Index
-
sort_index2
(d2_vv, ivv, ord1, ord2)¶ Sort index
GXVV
based on 2 data VVs - set orders.Parameters: - d2_vv (GXVV) – Secondary Data
GXVV
- ivv (GXVV) – Index
GXVV
of type INT - ord1 (int) – Primary Sort order VV_SORT constants
- ord2 (int) – Secondary Sort order VV_SORT constants
New in version 5.0.2.
License: Geosoft End-User License
Note: Create an Index
GXVV
(of typeGS_LONG
) based on a dataGXVV
. This index vv can then be used by the IndexOrder method to order a group ofGXVV
‘s. The individual VVs may be ordered in ascending or descending order. If the primaryGXVV
values of two indices are the same, then the secondaryGXVV
values are compared. If the secondary values are the same, the ternary values are compared, etc- d2_vv (GXVV) – Secondary Data
-
sort_index3
(d2_vv, d3_vv, ivv, ord1, ord2, ord3)¶ Sort index
GXVV
based on 3 data VVs - set orders.Parameters: - d2_vv (GXVV) – Secondary Data
GXVV
- d3_vv (GXVV) – Ternary Data
GXVV
- ivv (GXVV) – Index
GXVV
of type INT - ord1 (int) – Primary Sort order VV_SORT constants
- ord2 (int) – Secondary sort order VV_SORT constants
- ord3 (int) – Third Sort order VV_SORT constants
New in version 5.0.2.
License: Geosoft End-User License
Note: Create an Index
GXVV
(of typeGS_LONG
) based on a dataGXVV
. This index vv can then be used by the IndexOrder method to order a group ofGXVV
‘s. The individual VVs may be ordered in ascending or descending order. If the primaryGXVV
values of two indices are the same, then the secondaryGXVV
values are compared. If the secondary values are the same, the third values are compared, etc- d2_vv (GXVV) – Secondary Data
-
sort_index4
(d2_vv, d3_vv, d4_vv, ivv, ord1, ord2, ord3, ord4)¶ Sort index
GXVV
based on 4 data VVs - set orders.Parameters: - d2_vv (GXVV) – Secondary Data
GXVV
- d3_vv (GXVV) – Ternary Data
GXVV
- d4_vv (GXVV) – Quaternary Data
GXVV
- ivv (GXVV) – Index
GXVV
of type INT - ord1 (int) – Primary Ssort order VV_SORT constants
- ord2 (int) – Secondary Sort order VV_SORT constants
- ord3 (int) – Third Sort order VV_SORT constants
- ord4 (int) – Fourth Sort order VV_SORT constants
New in version 5.0.2.
License: Geosoft End-User License
Note: Create an Index
GXVV
(of typeGS_LONG
) based on a dataGXVV
. This index vv can then be used by the IndexOrder method to order a group ofGXVV
‘s. The individual VVs may be ordered in ascending or descending order. If the primaryGXVV
values of two indices are the same, then the secondaryGXVV
values are compared. If the secondary values are the same, the third values are compared, etc- d2_vv (GXVV) – Secondary Data
-
classmethod
statistics
(st, vv)¶ -
Parameters: New in version 5.0.
License: Geosoft End-User License
-
subtract
(vv_y, vv_z)¶ Subtract one
GXVV
from another: VV_A - VV_B = VV_CParameters: New in version 5.0.8.
License: Geosoft Open License
-
sum
()¶ Calculate the sum of the values in a
GXVV
.Returns: The sum of the elements. Return type: float New in version 7.2.
License: Geosoft End-User License
Note: Dummy value is treated as Zero(0)
-
swap
()¶ Swaps the bytes of the SHORT, USHORT, LONG, FLOAT and DOUBLE vv’s. Other vv’s are not affected by this method. This is used primarily with changing the order of bytes for other machine created data.
New in version 5.0.
License: Geosoft End-User License
-
trans
(base, mult)¶ Translate (
GXVV
+ base ) * multParameters: - base (float) – Base value
- mult (float) – Mult value
New in version 5.0.
License: Geosoft Open License
Note: All
GXVV
types now supported.
-
weighted_mean
(vv_weights)¶ Calculate the weighted average of the values.
Parameters: vv_weights (GXVV) – GXVV
of weightsReturns: The weighted average of the values. Return type: float New in version 7.2.
License: Geosoft End-User License
Note: Dummy values are ignored.
-
window
(min, max, mode)¶ Limit the elements of a vv to a range.
Parameters: - min (float) – Min Val
- max (float) – Max Val
- mode (int) – VV_WINDOW constants
New in version 5.0.
License: Geosoft End-User License
-
write_xml
(file, format, decimal)¶ Write the
GXVV
data as an XML object with bytes and formating.Parameters: - file (str) – XML file to create
- format (int) – Format
- decimal (int) – Significant digits/decimals
New in version 8.0.
License: Geosoft End-User License
-
VV_DOUBLE_CRC_BITS constants¶
Number of bits to use in double CRC’s
-
VV_DOUBLE_CRC_BITS_EXACT
¶ Exact CRC
-
gxapi.
VV_DOUBLE_CRC_BITS_EXACT
= 0
-
-
VV_DOUBLE_CRC_BITS_DEFAULT
¶ Default inaccuracy in double (10 Bits)
-
gxapi.
VV_DOUBLE_CRC_BITS_DEFAULT
= 10
-
-
VV_DOUBLE_CRC_BITS_MAX
¶ Maximum number of inaccuracy bits
-
gxapi.
VV_DOUBLE_CRC_BITS_MAX
= 51
-
VV_FLOAT_CRC_BITS constants¶
Number of bits to use in float CRC’s
-
VV_FLOAT_CRC_BITS_EXACT
¶ Exact CRC
-
gxapi.
VV_FLOAT_CRC_BITS_EXACT
= 0
-
-
VV_FLOAT_CRC_BITS_DEFAULT
¶ Default inaccuracy in floats (7 Bits)
-
gxapi.
VV_FLOAT_CRC_BITS_DEFAULT
= 7
-
-
VV_FLOAT_CRC_BITS_MAX
¶ Maximum number of inaccuracy bits
-
gxapi.
VV_FLOAT_CRC_BITS_MAX
= 22
-
VV_LOG_BASE constants¶
Type of log to use
-
VV_LOG_BASE_10
¶ Base 10
-
gxapi.
VV_LOG_BASE_10
= 0
-
-
VV_LOG_BASE_E
¶ Base e
-
gxapi.
VV_LOG_BASE_E
= 1
-
VV_LOG_NEGATIVE constants¶
Ways to handle negatives
-
VV_LOG_NEGATIVE_NO
¶ Dummies out value less than the minimum.
-
gxapi.
VV_LOG_NEGATIVE_NO
= 0
-
-
VV_LOG_NEGATIVE_YES
¶ if the data is in the range +/- minimum, it is left alone. Otherwise, the data is divided by the minimum, the log is applied, the minimum is added and the sign is reapplied. Use
log_linear
function if decades in results are required.-
gxapi.
VV_LOG_NEGATIVE_YES
= 1
-
VV_LOOKUP constants¶
Lookup style
-
VV_LOOKUP_EXACT
¶ Only exact matches are used
-
gxapi.
VV_LOOKUP_EXACT
= 0
-
-
VV_LOOKUP_NEAREST
¶ Nearest match is used (regardless of sampling range)
-
gxapi.
VV_LOOKUP_NEAREST
= 1
-
-
VV_LOOKUP_INTERPOLATE
¶ Interpolate between values (regardless of sampling range)
-
gxapi.
VV_LOOKUP_INTERPOLATE
= 2
-
-
VV_LOOKUP_NEARESTCLOSE
¶ Use nearest match only if within sampling range
-
gxapi.
VV_LOOKUP_NEARESTCLOSE
= 3
-
-
VV_LOOKUP_INTERPCLOSE
¶ Interpolate only if within sampling range
-
gxapi.
VV_LOOKUP_INTERPCLOSE
= 4
-
VV_MASK constants¶
Where to mask
-
VV_MASK_INSIDE
¶ Inside
-
gxapi.
VV_MASK_INSIDE
= 0
-
-
VV_MASK_OUTSIDE
¶ Outside
-
gxapi.
VV_MASK_OUTSIDE
= 1
-
VV_ORDER constants¶
Specify if the data is montonically increasing or decreasing.
-
VV_ORDER_INCREASING
¶ Every value is greater than or equal to the previous value.
-
gxapi.
VV_ORDER_INCREASING
= 1
-
-
VV_ORDER_DECREASING
¶ Every value is less than or equal to the previous value.
-
gxapi.
VV_ORDER_DECREASING
= 2
-