Source code for pysgems.examples.demo_sgsim

#  Copyright (c) 2020. Robin Thibaut, Ghent University

import os
from os.path import join as join_path

from pysgems.algo.sgalgo import XML
from pysgems.dis.sgdis import Discretize
from pysgems.io.sgio import PointSet
from pysgems.plot.sgplots import Plots
from pysgems.sgems import sg


[docs]def main(): # %% Initiate sgems pjt cwd = os.getcwd() # Working directory rdir = join_path(cwd, "results", "demo_sgsim") # Results directory pjt = sg.Sgems(project_name="sgsim_test", project_wd=cwd, res_dir=rdir) # %% Load hard data point set data_dir = join_path(cwd, "datasets", "demo_sgsim") dataset = "sgsim_hard_data.eas" file_path = join_path(data_dir, dataset) hd = PointSet(project=pjt, pointset_path=file_path) hd.export_01() # Exports in binary # %% Generate grid. Grid dimensions can automatically be generated based on the data points # unless specified otherwise, but cell dimensions dx, dy, (dz) must be specified ds = Discretize(project=pjt, dx=10, dy=10, xo=0, yo=0, x_lim=1500, y_lim=1000) # %% Display point coordinates and grid pl = Plots(project=pjt) pl.plot_coordinates() # %% Which feature are available print(pjt.point_set.columns) # %% Load your algorithm xml file in the 'algorithms' folder. algo_dir = join_path(os.path.dirname(cwd), "algorithms") al = XML(project=pjt, algo_dir=algo_dir) al.xml_reader("sgsim") # %% Show xml structure tree al.show_tree() # %% Modify xml below: # By default, the feature grid name of feature X is called 'X_grid'. # sgems.xml_update(path, attribute, new value) al.xml_update("Assign_Hard_Data", "value", "1") al.xml_update("Hard_Data", new_attribute_dict={"grid": "hd_grid", "property": "hd"}) # %% Write python script pjt.write_command() # %% Run sgems pjt.run() # Plot 2D results name_kriging = "results" result_file_kriging = join_path(rdir, f"{name_kriging}.grid") save = "kriging" pl.plot_2d(name_kriging, res_file=result_file_kriging, save=save)
if __name__ == "__main__": main()