Skip to content

1.1.0

Bug Fixes🍋

Issue Ref Summary Description
[No Ref] Fix LUC incorrect result LUC results were wrongly indexed
[No Ref] Fix Project name mappings for Drillholes Replace definition of Drillholes with custom column names by Attribute names
[No Ref] Fix region selection for Drillholes Make region selection on topological object for Drillholes
107 Assigning property using pandas series returns nan values Pandas columns assignation from serie does not work properly when indexes do not match
[No Ref] Fix region condition containing equal operator Region condition containing == or != condition were incorrectly rejected previously
118 Collar information when creating a Drillholes obj are note kept Additional collar information were not transferred to the Drillholes object
[No Ref] Fix generic property unit Set correct units to thickness/elevation properties created by the surface interpolation workflow
[No Ref] Fix documentation for angular tolerance parameter Documentation was erroneously mentioning degrees instead of radians in select_indices() and select_indices_in_angle() functions
[No Ref] Fix mid_coords() function on Drillholes In some particular Drillholes configuration without assay/collar/survey, mid_coords() could have been incorrect
[No Ref] Allow empty grid object as result of keep or delete cells Keep or delete cells in grid object may result in empty object, which was provoking internal errors
[No Ref] Update wrong typing in in_range() and select_index_from_slice() Change typing of target parameter in in_range() from float to np.ndarray and float to Optional[float] in select_index_from_slice for parameters slice_width and slice_height
[No Ref] Allow Plot of empty variogram Allow Plot of empty variogram and add warning to specify the empty plot.

Enhancements🍋

Issue Ref Summary Description
[No Ref] LUC optimization Vectorizations of Hermite functions and algorithm speed-up
[No Ref] Add shortcut to access object property data Use of Pandas DataFrame syntax is allowed to read data
[No Ref] Geostats functions laze-loading Only load JuLime when explicitely called rather than by default
[No Ref] Julia LTS dependency Upgraded to Julia 1.6.6 (LTS)
[No Ref] Expose dip/pitch parameters to vario_map and vario_contour Previously, dip/pitch were hard-coded to 0
[No Ref] Display license expiration date and client name use geolime.__client_name__ and geolime.__expiration__ to see the license information
[No Ref] Enrichment of Documentation with code snippets Add code snippets in function documentations
[No Ref] Improve documentation display Update auto-documentation package, improving readability and cross-references
[No Ref] Requirements update Use loose versions in dependencies to be more flexible with Python environments
[No Ref] Voxel coord_labels init parameter no longer required Default U, V, W coord labels are enforced for 2D/3D cases. Examples of Voxel4D case is provided in the documentation
[No Ref] Access to any constraint of the surface interpolation algorithm to allow for customization Access to any surface constraints during surface interpolation through get_constraints() in order to customize the surface creation workflow beyond the default workflow
[No Ref] Drillholes collar coords function optimization Improve internal function to provide Drillholes collar coords
[No Ref] Downgrade error to warning when reaching maximum number of neighbors in kriging/simulations For min/max neighbors in kriging and SGS, if insufficient number of data, a warning is printed instead of raising an error and maximum is temporarily set to that number
[No Ref] Improve consistency in ObjectAttributes Ensure consistency around read-only and dynamic for object property and region.
[No Ref] Add property name check Raise errors when property names can lead to issues, especially with expressions
[No Ref] Set CRS function on GISObject Convenience functions to get and set CRS on GISObject when not automatically fetched
[No Ref] GridObject global axis vector In addition to retrieve separate axis info in grid object, retrieve the global axis being the sum of all axes
[No Ref] Linear desurveying optimization Improve performance of linear desurveying algorithm then creating Drillholes from assay/collars/survey
[No Ref] Improve output of find_duplicates() Output now has the same size as the numbe of Composite in Drillholes and can be added as a property
[No Ref] Improve doc of Enum classes Add more precise documentation of enums
[No Ref] No longer enforcing .geo extension when loading GeoLime object Loading file through read_file() no longer requires the filepath to end with .geo, full path must be specified explicitely
[No Ref] Add dynamic type checking for variogram related function Add pydantic decorator for all experimental variogram related functions
[No Ref] Memory management allowing efficient garbage collection Using weakref so that Garbage Collector (GC) can propertly collect unused objects
[No Ref] Enrichement of Datasets Add Rocklea Dome Data to existing datasets and improve access to datasets
[No Ref] Use of pytest-xdist Use pytest-xdist to reduce runtime of unit-tests and separate to multiple process

New Features🍋

Issue Ref Summary Description
[No Ref] [Experimental] Variogram autofit !This is an experimental feature! Fit variogram with models with constraints
92 New desurveying methods Minimal curvature and balanced tangential desurveying added
36 New data analysis plots 2D: simple scatter and scatter matrix Add scatter plot with or without marginal plot and scatter matrix on chosen object properties
36 New data analysis plot: 2D density heatmap Groups overlaying marks of two properties and color-code them based on the number of marks in the group
36 New data analysis plot: 2D interactive variogram Compute and display interactive variograms and associated models
36 New data analysis plot: 2D interactive variomap Compute and display interactive variomap
36 New data analysis plot: 2D spatial scatter plots and coutours plots Display spatial information
38 New GIS maps: Voxel Compute aggregation of 3D GeoRef Object and display over a map using Plotly
[No Ref] All region parameters now accept condition Each function with a region parameter now allows on-the-fly condition (e.g. (fe > 30) & (al > 1.2)) in addition to existing region
[No Ref] Remove object attribute Remove property and region on any object
[No Ref] Export to CSV Export any object data to CSV file
[No Ref] Export to Shpfile Export any GISObject object data to Shpfile
[No Ref] Save/Load object as external file Export/Import any object as GeoLime internal format, fully compatible with the GeoPortal platform
[No Ref] Add logging functions New Logger class and convenience logging functions (critical, warning, info and debug) printing datetime and project information
[No Ref] Ability to set a name for the Project Project now has name attribute used by default in the logger
[No Ref] Keep/remove data inside a region Keep or remove object data like points, cells, triangles, borehole, etc. within regions of the given object
[No Ref] Translate object in space Translate X, Y, or Z coordinate by a constant or a variable property. Useful to flatten/unflatten object to a reference surface before estimation.
[No Ref] Generate available attribute name Generate a random available property or region name starting with a specific prefix
[No Ref] Create GISObject from overlay between 2 GISObject Expose GeoPandas overlay function at the GISObject level
[No Ref] Check object equality Check whether 2 objects are strictly identical
[No Ref] Compute gridded surface elevation on object Compute gridded surface elevation at each object data point XY location
[No Ref] Adding global config dictionary Get and set key/values at the Project level for global config settings manipulation
[No Ref] [Experimental] Control memory management during variogram calculations For high number of data points with regards to the available memory, control the memory size by chunking the data during computation. This feature is experimental: to use it, simply add the working_memory parameter when calling the variogram() function
[No Ref] Retrieve object user properties user_properties() allows to retrieve only the properties defined by the user, meaning the internal and built-in properties (e.g. X, Y, Z, etc.) will be excluded
[No Ref] Retrieve object regions regions() allows to retrieve regions defined on the object
[No Ref] Retrieve object region data as boolean mask Useful for external data manipulation (e.g. with numpy or pandas)
[No Ref] Allow changing name of any object Useful to rename an object afterwards
[No Ref] Calculate block model proportion above/below a surface Block proportion and surface elevation is calculated given an optional block discretization for more accurate results
[No Ref] Calculate block model proportion inside/outside a polygon Block proportion is calculated given an optional block discretization for more accurate results.
35 Object Plot2D Add GTC, QQ-Plot, NP-Plot, PP-Plot, Hermite Plot, Swath-Plot