Volumetric DGGS Package

The surface_dggs package consists of all of the scripts and django web application components necessary to build and query Surface DGGS Instances

The Subpackages contain the python modules and scripts that perform the core backend DGGS related tasks.

The Submodules contain the django web application resources to expose the Surface DGGS Resources to the user.

Volumetric DGGS Subpackages

The following Subpackages are defined by this package.

Volumetric DGGS Submodules

The following submodules are defined by this package.

volumetric_dggs.apps module

Note

Module Details

Volumetric DGGS Application Registration module

This Class module is required to register each Django package under the main web application.

Created: 7 September 2017

@author: Dr. Matthew B.J. Purss

class src.volumetric_dggs.apps.VolumetricDggsConfig(app_name, app_module)

Bases: AppConfig

name = 'volumetric_dggs'

volumetric_dggs.consumers module

Note

Module Details

Volumetric DGGS Asynchronous “Consumers” Module

This Class module defines the consumers for asynchronous requests to the SurfaceDGGS application resources through TerraNexus.

This is the asynchronous equivalent to the “views” module.

Created: 30 June 2020

@author: Dr. Matthew B.J. Purss

class src.volumetric_dggs.consumers.BuildVolumetricDGGSConsumer(*args, **kwargs)

Bases: AsyncJsonWebsocketConsumer

buildVolumetricDGGS_consumer_task = <@task: src.volumetric_dggs.consumers.buildVolumetricDGGS_consumer_task of TerraNexus>
async connect()
async disconnect(close_code)

Called when a WebSocket connection is closed.

async receive_json(content)

Called with decoded JSON content.

async response_message(event)
class src.volumetric_dggs.consumers.DGGSGenerateVoxelsConsumer(*args, **kwargs)

Bases: AsyncJsonWebsocketConsumer

async connect()
async disconnect(close_code)

Called when a WebSocket connection is closed.

generate_voxels_task = <@task: src.volumetric_dggs.consumers.generate_voxels_task of TerraNexus>
async receive_json(content)

Called with decoded JSON content.

async response_message(event)
class src.volumetric_dggs.consumers.DGGSGetRegisteredVoxelsConsumer(*args, **kwargs)

Bases: AsyncJsonWebsocketConsumer

async connect()
async disconnect(close_code)

Called when a WebSocket connection is closed.

get_registered_voxels_consumer_task = <@task: src.volumetric_dggs.consumers.get_registered_voxels_consumer_task of TerraNexus>
async receive_json(content)

Called with decoded JSON content.

async response_message(event)

volumetric_dggs.forms module

Note

Module Details

Volumetric DGGS “Django Forms” Definition Module

This module contains the “Form” definitions for the surface_dggs web application resources.

Created: 21 May 2017

@author: Dr. Matthew B.J. Purss

class src.volumetric_dggs.forms.BuildVolumetricDGGSForm(*args, **kwargs)

Bases: Form

base_fields = {'earth_model_comboBox': <django.forms.fields.ChoiceField object>, 'surface_dggs_selection_comboBox': <django.forms.fields.ChoiceField object>}
declared_fields = {'earth_model_comboBox': <django.forms.fields.ChoiceField object>, 'surface_dggs_selection_comboBox': <django.forms.fields.ChoiceField object>}
error_css_class = 'error'
property media

Return all media required to render the widgets on this form.

required_css_class = 'required'
class src.volumetric_dggs.forms.BuildVolumetricTerraNexusForm(*args, **kwargs)

Bases: Form

base_fields = {'a_max': <django.forms.fields.DecimalField object>, 'a_min': <django.forms.fields.DecimalField object>, 'cell_type_comboBox': <django.forms.fields.ChoiceField object>, 'earth_model_comboBox': <django.forms.fields.ChoiceField object>, 'equal_volume_threshold': <django.forms.fields.DecimalField object>, 'polyhedron_comboBox': <django.forms.fields.ChoiceField object>, 'ref_lat': <django.forms.fields.DecimalField object>, 'ref_lon': <django.forms.fields.DecimalField object>, 'refinement_ratio_comboBox': <django.forms.fields.ChoiceField object>, 'rotate_checkbox': <django.forms.fields.BooleanField object>}
declared_fields = {'a_max': <django.forms.fields.DecimalField object>, 'a_min': <django.forms.fields.DecimalField object>, 'cell_type_comboBox': <django.forms.fields.ChoiceField object>, 'earth_model_comboBox': <django.forms.fields.ChoiceField object>, 'equal_volume_threshold': <django.forms.fields.DecimalField object>, 'polyhedron_comboBox': <django.forms.fields.ChoiceField object>, 'ref_lat': <django.forms.fields.DecimalField object>, 'ref_lon': <django.forms.fields.DecimalField object>, 'refinement_ratio_comboBox': <django.forms.fields.ChoiceField object>, 'rotate_checkbox': <django.forms.fields.BooleanField object>}
error_css_class = 'error'
property media

Return all media required to render the widgets on this form.

required_css_class = 'required'
class src.volumetric_dggs.forms.LoadDataForm(*args, **kwargs)

Bases: Form

base_fields = {'Horizontal_scale_factor': <django.forms.fields.DecimalField object>, 'Vertical_scale_factor': <django.forms.fields.DecimalField object>, 'chunk_size': <django.forms.fields.IntegerField object>, 'dataimportFile': <django.forms.fields.FileField object>, 'dataimportType_comboBox': <django.forms.fields.ChoiceField object>, 'ref_height': <django.forms.fields.DecimalField object>, 'ref_lat': <django.forms.fields.DecimalField object>, 'ref_lon': <django.forms.fields.DecimalField object>, 'res_max': <django.forms.fields.IntegerField object>, 'res_min': <django.forms.fields.IntegerField object>}
declared_fields = {'Horizontal_scale_factor': <django.forms.fields.DecimalField object>, 'Vertical_scale_factor': <django.forms.fields.DecimalField object>, 'chunk_size': <django.forms.fields.IntegerField object>, 'dataimportFile': <django.forms.fields.FileField object>, 'dataimportType_comboBox': <django.forms.fields.ChoiceField object>, 'ref_height': <django.forms.fields.DecimalField object>, 'ref_lat': <django.forms.fields.DecimalField object>, 'ref_lon': <django.forms.fields.DecimalField object>, 'res_max': <django.forms.fields.IntegerField object>, 'res_min': <django.forms.fields.IntegerField object>}
error_css_class = 'error'
property media

Return all media required to render the widgets on this form.

required_css_class = 'required'
class src.volumetric_dggs.forms.RepairVolumetricDGGSForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)

Bases: Form

base_fields = {'selected_dggs': <django.forms.fields.CharField object>}
declared_fields = {'selected_dggs': <django.forms.fields.CharField object>}
property media

Return all media required to render the widgets on this form.

class src.volumetric_dggs.forms.VolumetricTerraNexus_FindVoxelsQueryForm(*args, min_height=-1, max_height=1, **kwargs)

Bases: Form

base_fields = {'find_voxels_chunk_size': <django.forms.fields.IntegerField object>, 'find_voxels_constructvoxels_checkbox': <django.forms.fields.BooleanField object>, 'find_voxels_equaliseVoxel_Volume_checkbox': <django.forms.fields.BooleanField object>, 'find_voxels_height_max': <django.forms.fields.DecimalField object>, 'find_voxels_height_min': <django.forms.fields.DecimalField object>, 'find_voxels_ref_height': <django.forms.fields.DecimalField object>, 'find_voxels_ref_lat': <django.forms.fields.DecimalField object>, 'find_voxels_ref_lon': <django.forms.fields.DecimalField object>, 'find_voxels_res_max': <django.forms.fields.IntegerField object>, 'find_voxels_res_min': <django.forms.fields.IntegerField object>, 'find_voxels_search_radius': <django.forms.fields.DecimalField object>, 'find_voxels_searchbox_br_lat': <django.forms.fields.DecimalField object>, 'find_voxels_searchbox_br_lon': <django.forms.fields.DecimalField object>, 'find_voxels_searchbox_polygon_file': <django.forms.fields.FileField object>, 'find_voxels_searchbox_tl_lat': <django.forms.fields.DecimalField object>, 'find_voxels_searchbox_tl_lon': <django.forms.fields.DecimalField object>, 'find_voxels_searchtype_comboBox': <django.forms.fields.ChoiceField object>}
declared_fields = {'find_voxels_chunk_size': <django.forms.fields.IntegerField object>, 'find_voxels_constructvoxels_checkbox': <django.forms.fields.BooleanField object>, 'find_voxels_equaliseVoxel_Volume_checkbox': <django.forms.fields.BooleanField object>, 'find_voxels_height_max': <django.forms.fields.DecimalField object>, 'find_voxels_height_min': <django.forms.fields.DecimalField object>, 'find_voxels_ref_height': <django.forms.fields.DecimalField object>, 'find_voxels_ref_lat': <django.forms.fields.DecimalField object>, 'find_voxels_ref_lon': <django.forms.fields.DecimalField object>, 'find_voxels_res_max': <django.forms.fields.IntegerField object>, 'find_voxels_res_min': <django.forms.fields.IntegerField object>, 'find_voxels_search_radius': <django.forms.fields.DecimalField object>, 'find_voxels_searchbox_br_lat': <django.forms.fields.DecimalField object>, 'find_voxels_searchbox_br_lon': <django.forms.fields.DecimalField object>, 'find_voxels_searchbox_polygon_file': <django.forms.fields.FileField object>, 'find_voxels_searchbox_tl_lat': <django.forms.fields.DecimalField object>, 'find_voxels_searchbox_tl_lon': <django.forms.fields.DecimalField object>, 'find_voxels_searchtype_comboBox': <django.forms.fields.ChoiceField object>}
error_css_class = 'error'
property media

Return all media required to render the widgets on this form.

required_css_class = 'required'
class src.volumetric_dggs.forms.VolumetricTerraNexus_GetChildVoxelsQueryForm(*args, **kwargs)

Bases: Form

base_fields = {'get_child_voxels_id': <django.forms.fields.CharField object>, 'get_child_voxels_res_steps': <django.forms.fields.IntegerField object>}
declared_fields = {'get_child_voxels_id': <django.forms.fields.CharField object>, 'get_child_voxels_res_steps': <django.forms.fields.IntegerField object>}
error_css_class = 'error'
property media

Return all media required to render the widgets on this form.

required_css_class = 'required'
class src.volumetric_dggs.forms.VolumetricTerraNexus_GetDataMeshForm(*args, **kwargs)

Bases: Form

base_fields = {'get_data_mesh_output_format_comboBox': <django.forms.fields.ChoiceField object>, 'get_data_mesh_params_surface_base_radial_step': <django.forms.fields.IntegerField object>, 'get_data_mesh_params_surface_base_theta_step': <django.forms.fields.DecimalField object>, 'get_data_mesh_params_surface_resolution_scale_factor': <django.forms.fields.DecimalField object>, 'get_data_mesh_params_tetgen_max_radius_edge_ratio': <django.forms.fields.DecimalField object>, 'get_data_mesh_params_tetgen_min_dihedral_angle': <django.forms.fields.DecimalField object>, 'get_data_mesh_params_tetgen_optimization_level': <django.forms.fields.IntegerField object>, 'get_data_mesh_params_tetgen_verbosity': <django.forms.fields.IntegerField object>, 'get_data_mesh_ref_lat': <django.forms.fields.DecimalField object>, 'get_data_mesh_ref_lon': <django.forms.fields.DecimalField object>, 'get_data_mesh_res_max': <django.forms.fields.IntegerField object>, 'get_data_mesh_res_min': <django.forms.fields.IntegerField object>, 'get_data_mesh_search_radius': <django.forms.fields.DecimalField object>, 'get_data_mesh_searchbox_br_lat': <django.forms.fields.DecimalField object>, 'get_data_mesh_searchbox_br_lon': <django.forms.fields.DecimalField object>, 'get_data_mesh_searchbox_polygon_file': <django.forms.fields.FileField object>, 'get_data_mesh_searchbox_tl_lat': <django.forms.fields.DecimalField object>, 'get_data_mesh_searchbox_tl_lon': <django.forms.fields.DecimalField object>, 'get_data_mesh_searchtype_comboBox': <django.forms.fields.ChoiceField object>, 'selected_mapped_data': <django.forms.fields.CharField object>}
declared_fields = {'get_data_mesh_output_format_comboBox': <django.forms.fields.ChoiceField object>, 'get_data_mesh_params_surface_base_radial_step': <django.forms.fields.IntegerField object>, 'get_data_mesh_params_surface_base_theta_step': <django.forms.fields.DecimalField object>, 'get_data_mesh_params_surface_resolution_scale_factor': <django.forms.fields.DecimalField object>, 'get_data_mesh_params_tetgen_max_radius_edge_ratio': <django.forms.fields.DecimalField object>, 'get_data_mesh_params_tetgen_min_dihedral_angle': <django.forms.fields.DecimalField object>, 'get_data_mesh_params_tetgen_optimization_level': <django.forms.fields.IntegerField object>, 'get_data_mesh_params_tetgen_verbosity': <django.forms.fields.IntegerField object>, 'get_data_mesh_ref_lat': <django.forms.fields.DecimalField object>, 'get_data_mesh_ref_lon': <django.forms.fields.DecimalField object>, 'get_data_mesh_res_max': <django.forms.fields.IntegerField object>, 'get_data_mesh_res_min': <django.forms.fields.IntegerField object>, 'get_data_mesh_search_radius': <django.forms.fields.DecimalField object>, 'get_data_mesh_searchbox_br_lat': <django.forms.fields.DecimalField object>, 'get_data_mesh_searchbox_br_lon': <django.forms.fields.DecimalField object>, 'get_data_mesh_searchbox_polygon_file': <django.forms.fields.FileField object>, 'get_data_mesh_searchbox_tl_lat': <django.forms.fields.DecimalField object>, 'get_data_mesh_searchbox_tl_lon': <django.forms.fields.DecimalField object>, 'get_data_mesh_searchtype_comboBox': <django.forms.fields.ChoiceField object>, 'selected_mapped_data': <django.forms.fields.CharField object>}
error_css_class = 'error'
property media

Return all media required to render the widgets on this form.

required_css_class = 'required'
class src.volumetric_dggs.forms.VolumetricTerraNexus_GetMappedDataForm(*args, **kwargs)

Bases: Form

base_fields = {'get_mapped_data_chunk_size': <django.forms.fields.IntegerField object>, 'get_mapped_data_mesh_params_alpha_radius': <django.forms.fields.IntegerField object>, 'get_mapped_data_mesh_params_surface_base_radial_step': <django.forms.fields.IntegerField object>, 'get_mapped_data_mesh_params_surface_base_theta_step': <django.forms.fields.DecimalField object>, 'get_mapped_data_mesh_params_surface_resolution_scale_factor': <django.forms.fields.DecimalField object>, 'get_mapped_data_mesh_params_tetgen_max_radius_edge_ratio': <django.forms.fields.DecimalField object>, 'get_mapped_data_mesh_params_tetgen_min_dihedral_angle': <django.forms.fields.DecimalField object>, 'get_mapped_data_mesh_params_tetgen_optimization_level': <django.forms.fields.IntegerField object>, 'get_mapped_data_mesh_params_tetgen_verbosity': <django.forms.fields.IntegerField object>, 'get_mapped_data_output_format_comboBox': <django.forms.fields.ChoiceField object>, 'get_mapped_data_output_type_comboBox': <django.forms.fields.ChoiceField object>, 'get_mapped_data_ref_lat': <django.forms.fields.DecimalField object>, 'get_mapped_data_ref_lon': <django.forms.fields.DecimalField object>, 'get_mapped_data_res_max': <django.forms.fields.IntegerField object>, 'get_mapped_data_res_min': <django.forms.fields.IntegerField object>, 'get_mapped_data_search_radius': <django.forms.fields.DecimalField object>, 'get_mapped_data_searchbox_br_lat': <django.forms.fields.DecimalField object>, 'get_mapped_data_searchbox_br_lon': <django.forms.fields.DecimalField object>, 'get_mapped_data_searchbox_polygon_file': <django.forms.fields.FileField object>, 'get_mapped_data_searchbox_tl_lat': <django.forms.fields.DecimalField object>, 'get_mapped_data_searchbox_tl_lon': <django.forms.fields.DecimalField object>, 'get_mapped_data_searchtype_comboBox': <django.forms.fields.ChoiceField object>}
clean()

Hook for doing any extra form-wide cleaning after Field.clean() has been called on every field. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field named ‘__all__’.

declared_fields = {'get_mapped_data_chunk_size': <django.forms.fields.IntegerField object>, 'get_mapped_data_mesh_params_alpha_radius': <django.forms.fields.IntegerField object>, 'get_mapped_data_mesh_params_surface_base_radial_step': <django.forms.fields.IntegerField object>, 'get_mapped_data_mesh_params_surface_base_theta_step': <django.forms.fields.DecimalField object>, 'get_mapped_data_mesh_params_surface_resolution_scale_factor': <django.forms.fields.DecimalField object>, 'get_mapped_data_mesh_params_tetgen_max_radius_edge_ratio': <django.forms.fields.DecimalField object>, 'get_mapped_data_mesh_params_tetgen_min_dihedral_angle': <django.forms.fields.DecimalField object>, 'get_mapped_data_mesh_params_tetgen_optimization_level': <django.forms.fields.IntegerField object>, 'get_mapped_data_mesh_params_tetgen_verbosity': <django.forms.fields.IntegerField object>, 'get_mapped_data_output_format_comboBox': <django.forms.fields.ChoiceField object>, 'get_mapped_data_output_type_comboBox': <django.forms.fields.ChoiceField object>, 'get_mapped_data_ref_lat': <django.forms.fields.DecimalField object>, 'get_mapped_data_ref_lon': <django.forms.fields.DecimalField object>, 'get_mapped_data_res_max': <django.forms.fields.IntegerField object>, 'get_mapped_data_res_min': <django.forms.fields.IntegerField object>, 'get_mapped_data_search_radius': <django.forms.fields.DecimalField object>, 'get_mapped_data_searchbox_br_lat': <django.forms.fields.DecimalField object>, 'get_mapped_data_searchbox_br_lon': <django.forms.fields.DecimalField object>, 'get_mapped_data_searchbox_polygon_file': <django.forms.fields.FileField object>, 'get_mapped_data_searchbox_tl_lat': <django.forms.fields.DecimalField object>, 'get_mapped_data_searchbox_tl_lon': <django.forms.fields.DecimalField object>, 'get_mapped_data_searchtype_comboBox': <django.forms.fields.ChoiceField object>}
error_css_class = 'error'
property media

Return all media required to render the widgets on this form.

required_css_class = 'required'
class src.volumetric_dggs.forms.VolumetricTerraNexus_GetNeighbouringVoxelsQueryForm(*args, **kwargs)

Bases: Form

base_fields = {'get_neighbouring_voxels_edge_checkbox': <django.forms.fields.BooleanField object>, 'get_neighbouring_voxels_id': <django.forms.fields.CharField object>, 'get_neighbouring_voxels_radius_steps': <django.forms.fields.IntegerField object>, 'get_neighbouring_voxels_vertex_checkbox': <django.forms.fields.BooleanField object>}
declared_fields = {'get_neighbouring_voxels_edge_checkbox': <django.forms.fields.BooleanField object>, 'get_neighbouring_voxels_id': <django.forms.fields.CharField object>, 'get_neighbouring_voxels_radius_steps': <django.forms.fields.IntegerField object>, 'get_neighbouring_voxels_vertex_checkbox': <django.forms.fields.BooleanField object>}
error_css_class = 'error'
property media

Return all media required to render the widgets on this form.

required_css_class = 'required'
class src.volumetric_dggs.forms.VolumetricTerraNexus_GetParentVoxelQueryForm(*args, **kwargs)

Bases: Form

base_fields = {'get_parent_voxels_id': <django.forms.fields.CharField object>, 'get_parent_voxels_res_steps': <django.forms.fields.IntegerField object>}
declared_fields = {'get_parent_voxels_id': <django.forms.fields.CharField object>, 'get_parent_voxels_res_steps': <django.forms.fields.IntegerField object>}
error_css_class = 'error'
property media

Return all media required to render the widgets on this form.

required_css_class = 'required'
class src.volumetric_dggs.forms.VolumetricTerraNexus_GetVoxelCentroidsForm(*args, **kwargs)

Bases: Form

base_fields = {'get_voxel_centroids_ID': <django.forms.fields.CharField object>, 'get_voxel_centroids_output_format_comboBox': <django.forms.fields.ChoiceField object>, 'get_voxel_centroids_ref_lat': <django.forms.fields.DecimalField object>, 'get_voxel_centroids_ref_lon': <django.forms.fields.DecimalField object>, 'get_voxel_centroids_res_max': <django.forms.fields.IntegerField object>, 'get_voxel_centroids_res_min': <django.forms.fields.IntegerField object>, 'get_voxel_centroids_search_radius': <django.forms.fields.DecimalField object>, 'get_voxel_centroids_searchbox_br_lat': <django.forms.fields.DecimalField object>, 'get_voxel_centroids_searchbox_br_lon': <django.forms.fields.DecimalField object>, 'get_voxel_centroids_searchbox_polygon_file': <django.forms.fields.FileField object>, 'get_voxel_centroids_searchbox_tl_lat': <django.forms.fields.DecimalField object>, 'get_voxel_centroids_searchbox_tl_lon': <django.forms.fields.DecimalField object>, 'get_voxel_centroids_searchtype_comboBox': <django.forms.fields.ChoiceField object>}
declared_fields = {'get_voxel_centroids_ID': <django.forms.fields.CharField object>, 'get_voxel_centroids_output_format_comboBox': <django.forms.fields.ChoiceField object>, 'get_voxel_centroids_ref_lat': <django.forms.fields.DecimalField object>, 'get_voxel_centroids_ref_lon': <django.forms.fields.DecimalField object>, 'get_voxel_centroids_res_max': <django.forms.fields.IntegerField object>, 'get_voxel_centroids_res_min': <django.forms.fields.IntegerField object>, 'get_voxel_centroids_search_radius': <django.forms.fields.DecimalField object>, 'get_voxel_centroids_searchbox_br_lat': <django.forms.fields.DecimalField object>, 'get_voxel_centroids_searchbox_br_lon': <django.forms.fields.DecimalField object>, 'get_voxel_centroids_searchbox_polygon_file': <django.forms.fields.FileField object>, 'get_voxel_centroids_searchbox_tl_lat': <django.forms.fields.DecimalField object>, 'get_voxel_centroids_searchbox_tl_lon': <django.forms.fields.DecimalField object>, 'get_voxel_centroids_searchtype_comboBox': <django.forms.fields.ChoiceField object>}
error_css_class = 'error'
property media

Return all media required to render the widgets on this form.

required_css_class = 'required'
class src.volumetric_dggs.forms.VolumetricTerraNexus_GetVoxelMeshForm(*args, **kwargs)

Bases: Form

base_fields = {'get_voxel_mesh_output_format_comboBox': <django.forms.fields.ChoiceField object>, 'get_voxel_mesh_params_surface_base_radial_step': <django.forms.fields.IntegerField object>, 'get_voxel_mesh_params_surface_base_theta_step': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_params_surface_resolution_scale_factor': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_params_tetgen_max_radius_edge_ratio': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_params_tetgen_min_dihedral_angle': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_params_tetgen_optimization_level': <django.forms.fields.IntegerField object>, 'get_voxel_mesh_params_tetgen_verbosity': <django.forms.fields.IntegerField object>, 'get_voxel_mesh_ref_lat': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_ref_lon': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_res_max': <django.forms.fields.IntegerField object>, 'get_voxel_mesh_res_min': <django.forms.fields.IntegerField object>, 'get_voxel_mesh_search_radius': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_searchbox_br_lat': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_searchbox_br_lon': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_searchbox_polygon_file': <django.forms.fields.FileField object>, 'get_voxel_mesh_searchbox_tl_lat': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_searchbox_tl_lon': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_searchtype_comboBox': <django.forms.fields.ChoiceField object>}
declared_fields = {'get_voxel_mesh_output_format_comboBox': <django.forms.fields.ChoiceField object>, 'get_voxel_mesh_params_surface_base_radial_step': <django.forms.fields.IntegerField object>, 'get_voxel_mesh_params_surface_base_theta_step': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_params_surface_resolution_scale_factor': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_params_tetgen_max_radius_edge_ratio': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_params_tetgen_min_dihedral_angle': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_params_tetgen_optimization_level': <django.forms.fields.IntegerField object>, 'get_voxel_mesh_params_tetgen_verbosity': <django.forms.fields.IntegerField object>, 'get_voxel_mesh_ref_lat': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_ref_lon': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_res_max': <django.forms.fields.IntegerField object>, 'get_voxel_mesh_res_min': <django.forms.fields.IntegerField object>, 'get_voxel_mesh_search_radius': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_searchbox_br_lat': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_searchbox_br_lon': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_searchbox_polygon_file': <django.forms.fields.FileField object>, 'get_voxel_mesh_searchbox_tl_lat': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_searchbox_tl_lon': <django.forms.fields.DecimalField object>, 'get_voxel_mesh_searchtype_comboBox': <django.forms.fields.ChoiceField object>}
error_css_class = 'error'
property media

Return all media required to render the widgets on this form.

required_css_class = 'required'
class src.volumetric_dggs.forms.VolumetricTerraNexus_GetVoxelVertsForm(*args, **kwargs)

Bases: Form

base_fields = {'get_voxel_verts_ID': <django.forms.fields.CharField object>, 'get_voxel_verts_height_max': <django.forms.fields.DecimalField object>, 'get_voxel_verts_height_min': <django.forms.fields.DecimalField object>, 'get_voxel_verts_output_format_comboBox': <django.forms.fields.ChoiceField object>, 'get_voxel_verts_ref_lat': <django.forms.fields.DecimalField object>, 'get_voxel_verts_ref_lon': <django.forms.fields.DecimalField object>, 'get_voxel_verts_res_max': <django.forms.fields.IntegerField object>, 'get_voxel_verts_res_min': <django.forms.fields.IntegerField object>, 'get_voxel_verts_search_radius': <django.forms.fields.DecimalField object>, 'get_voxel_verts_searchbox_br_lat': <django.forms.fields.DecimalField object>, 'get_voxel_verts_searchbox_br_lon': <django.forms.fields.DecimalField object>, 'get_voxel_verts_searchbox_polygon_file': <django.forms.fields.FileField object>, 'get_voxel_verts_searchbox_tl_lat': <django.forms.fields.DecimalField object>, 'get_voxel_verts_searchbox_tl_lon': <django.forms.fields.DecimalField object>, 'get_voxel_verts_searchtype_comboBox': <django.forms.fields.ChoiceField object>}
declared_fields = {'get_voxel_verts_ID': <django.forms.fields.CharField object>, 'get_voxel_verts_height_max': <django.forms.fields.DecimalField object>, 'get_voxel_verts_height_min': <django.forms.fields.DecimalField object>, 'get_voxel_verts_output_format_comboBox': <django.forms.fields.ChoiceField object>, 'get_voxel_verts_ref_lat': <django.forms.fields.DecimalField object>, 'get_voxel_verts_ref_lon': <django.forms.fields.DecimalField object>, 'get_voxel_verts_res_max': <django.forms.fields.IntegerField object>, 'get_voxel_verts_res_min': <django.forms.fields.IntegerField object>, 'get_voxel_verts_search_radius': <django.forms.fields.DecimalField object>, 'get_voxel_verts_searchbox_br_lat': <django.forms.fields.DecimalField object>, 'get_voxel_verts_searchbox_br_lon': <django.forms.fields.DecimalField object>, 'get_voxel_verts_searchbox_polygon_file': <django.forms.fields.FileField object>, 'get_voxel_verts_searchbox_tl_lat': <django.forms.fields.DecimalField object>, 'get_voxel_verts_searchbox_tl_lon': <django.forms.fields.DecimalField object>, 'get_voxel_verts_searchtype_comboBox': <django.forms.fields.ChoiceField object>}
error_css_class = 'error'
property media

Return all media required to render the widgets on this form.

required_css_class = 'required'
class src.volumetric_dggs.forms.VolumetricTerraNexus_MapDataForm(*args, **kwargs)

Bases: Form

base_fields = {'map_data_chunk_size': <django.forms.fields.IntegerField object>, 'map_data_datatype_comboBox': <django.forms.fields.ChoiceField object>, 'map_data_equaliseVoxel_Volumes_checkbox': <django.forms.fields.BooleanField object>, 'map_data_horizontal_scale_factor': <django.forms.fields.DecimalField object>, 'map_data_input_data_file': <django.forms.fields.FileField object>, 'map_data_ref_height': <django.forms.fields.DecimalField object>, 'map_data_ref_lat': <django.forms.fields.DecimalField object>, 'map_data_ref_lon': <django.forms.fields.DecimalField object>, 'map_data_res_max': <django.forms.fields.IntegerField object>, 'map_data_res_min': <django.forms.fields.IntegerField object>, 'map_data_search_radius': <django.forms.fields.DecimalField object>, 'map_data_searchbox_br_lat': <django.forms.fields.DecimalField object>, 'map_data_searchbox_br_lon': <django.forms.fields.DecimalField object>, 'map_data_searchbox_polygon_file': <django.forms.fields.FileField object>, 'map_data_searchbox_tl_lat': <django.forms.fields.DecimalField object>, 'map_data_searchbox_tl_lon': <django.forms.fields.DecimalField object>, 'map_data_searchtype_comboBox': <django.forms.fields.ChoiceField object>, 'map_data_vertical_scale_factor': <django.forms.fields.DecimalField object>}
declared_fields = {'map_data_chunk_size': <django.forms.fields.IntegerField object>, 'map_data_datatype_comboBox': <django.forms.fields.ChoiceField object>, 'map_data_equaliseVoxel_Volumes_checkbox': <django.forms.fields.BooleanField object>, 'map_data_horizontal_scale_factor': <django.forms.fields.DecimalField object>, 'map_data_input_data_file': <django.forms.fields.FileField object>, 'map_data_ref_height': <django.forms.fields.DecimalField object>, 'map_data_ref_lat': <django.forms.fields.DecimalField object>, 'map_data_ref_lon': <django.forms.fields.DecimalField object>, 'map_data_res_max': <django.forms.fields.IntegerField object>, 'map_data_res_min': <django.forms.fields.IntegerField object>, 'map_data_search_radius': <django.forms.fields.DecimalField object>, 'map_data_searchbox_br_lat': <django.forms.fields.DecimalField object>, 'map_data_searchbox_br_lon': <django.forms.fields.DecimalField object>, 'map_data_searchbox_polygon_file': <django.forms.fields.FileField object>, 'map_data_searchbox_tl_lat': <django.forms.fields.DecimalField object>, 'map_data_searchbox_tl_lon': <django.forms.fields.DecimalField object>, 'map_data_searchtype_comboBox': <django.forms.fields.ChoiceField object>, 'map_data_vertical_scale_factor': <django.forms.fields.DecimalField object>}
error_css_class = 'error'
property media

Return all media required to render the widgets on this form.

required_css_class = 'required'
class src.volumetric_dggs.forms.VolumetricTerraNexus_RegisteredVoxelsQueryForm(*args, min_height=-1, max_height=1, **kwargs)

Bases: Form

base_fields = {'get_registered_voxels_get_centroids_checkbox': <django.forms.fields.BooleanField object>, 'get_registered_voxels_get_edges_checkbox': <django.forms.fields.BooleanField object>, 'get_registered_voxels_get_vertices_checkbox': <django.forms.fields.BooleanField object>, 'get_registered_voxels_get_voxel_mesh_checkbox': <django.forms.fields.BooleanField object>, 'get_registered_voxels_ref_height': <django.forms.fields.DecimalField object>, 'get_registered_voxels_ref_lat': <django.forms.fields.DecimalField object>, 'get_registered_voxels_ref_lon': <django.forms.fields.DecimalField object>, 'get_registered_voxels_res_max': <django.forms.fields.IntegerField object>, 'get_registered_voxels_res_min': <django.forms.fields.IntegerField object>, 'get_registered_voxels_search_height_max': <django.forms.fields.DecimalField object>, 'get_registered_voxels_search_height_min': <django.forms.fields.DecimalField object>, 'get_registered_voxels_search_radius': <django.forms.fields.DecimalField object>, 'get_registered_voxels_searchbox_br_lat': <django.forms.fields.DecimalField object>, 'get_registered_voxels_searchbox_br_lon': <django.forms.fields.DecimalField object>, 'get_registered_voxels_searchbox_polygon_file': <django.forms.fields.FileField object>, 'get_registered_voxels_searchbox_tl_lat': <django.forms.fields.DecimalField object>, 'get_registered_voxels_searchbox_tl_lon': <django.forms.fields.DecimalField object>, 'get_registered_voxels_searchtype_comboBox': <django.forms.fields.ChoiceField object>, 'get_registered_voxels_visualise_response_checkbox': <django.forms.fields.BooleanField object>}
declared_fields = {'get_registered_voxels_get_centroids_checkbox': <django.forms.fields.BooleanField object>, 'get_registered_voxels_get_edges_checkbox': <django.forms.fields.BooleanField object>, 'get_registered_voxels_get_vertices_checkbox': <django.forms.fields.BooleanField object>, 'get_registered_voxels_get_voxel_mesh_checkbox': <django.forms.fields.BooleanField object>, 'get_registered_voxels_ref_height': <django.forms.fields.DecimalField object>, 'get_registered_voxels_ref_lat': <django.forms.fields.DecimalField object>, 'get_registered_voxels_ref_lon': <django.forms.fields.DecimalField object>, 'get_registered_voxels_res_max': <django.forms.fields.IntegerField object>, 'get_registered_voxels_res_min': <django.forms.fields.IntegerField object>, 'get_registered_voxels_search_height_max': <django.forms.fields.DecimalField object>, 'get_registered_voxels_search_height_min': <django.forms.fields.DecimalField object>, 'get_registered_voxels_search_radius': <django.forms.fields.DecimalField object>, 'get_registered_voxels_searchbox_br_lat': <django.forms.fields.DecimalField object>, 'get_registered_voxels_searchbox_br_lon': <django.forms.fields.DecimalField object>, 'get_registered_voxels_searchbox_polygon_file': <django.forms.fields.FileField object>, 'get_registered_voxels_searchbox_tl_lat': <django.forms.fields.DecimalField object>, 'get_registered_voxels_searchbox_tl_lon': <django.forms.fields.DecimalField object>, 'get_registered_voxels_searchtype_comboBox': <django.forms.fields.ChoiceField object>, 'get_registered_voxels_visualise_response_checkbox': <django.forms.fields.BooleanField object>}
error_css_class = 'error'
property media

Return all media required to render the widgets on this form.

required_css_class = 'required'
class src.volumetric_dggs.forms.VolumetricTerraNexus_ToolsSelectionForm(*args, **kwargs)

Bases: Form

base_fields = {'mappingTool_comboBox': <django.forms.fields.ChoiceField object>, 'queryTool_comboBox': <django.forms.fields.ChoiceField object>, 'visualisationTool_comboBox': <django.forms.fields.ChoiceField object>}
declared_fields = {'mappingTool_comboBox': <django.forms.fields.ChoiceField object>, 'queryTool_comboBox': <django.forms.fields.ChoiceField object>, 'visualisationTool_comboBox': <django.forms.fields.ChoiceField object>}
error_css_class = 'error'
property media

Return all media required to render the widgets on this form.

required_css_class = 'required'

volumetric_dggs.models module

volumetric_dggs.routing module

Note

Module Details

Volumetric DGGS Routing Module

This Module handles routing of asynchronous tasks to their corresponding resource. This is similar to the WSGI urls.py file but targeting web services.

Created: 30 June 2020

@author: Dr. Matthew B.J. Purss

volumetric_dggs.tests module

volumetric_dggs.urls module

Note

Module Details

Volumetric DGGS URL Configuration

The urlpatterns list routes URLs to views for the surface_dggs package. For more information please see: Django Documentation - urls

Created: 7 September 2017

@author: Dr. Matthew B.J. Purss

volumetric_dggs.views module

Note

Module Details

Volumetric DGGS “Views” Module

This module prepares the django views necessary to perform all tasks relevant to Volumetric DGGS interactions with TerraNexus.

Created: 7 September 2017

@author: Dr. Matthew B.J. Purss

src.volumetric_dggs.views.VolumetricDGGS_tools(request)

Note

Function Details

TerraNexus Web Application Volumetric DGGS Tools Home page delivered to the url: {TerraNexus_HomePage}/volumetric_dggs/tools

Parameters:

request (request-object, required) – The html request object.

src.volumetric_dggs.views.terrain_builder(request)

Note

Function Details

TerraNexus Web Application Terrain Builder Resource. This resource allows you to upload a set of 3D points and generate a 3D Mesh that is then mapped to the selected Volumetric DGGS instance.

Parameters:

request (request-object, required) – The html request object.

src.volumetric_dggs.views.terrain_builder_callback(task_id, task_result)

Note

Function Details callback function that recieves and manages the output from the terrain_builder_task asynchronous Celery Task.

Parameters:
  • task_id (str, required) – identifier of the task currently being run.

  • task_result (JSON, required) – task results in JSON format

src.volumetric_dggs.views.volumetricDGGS(request)

Note

Function Details

TerraNexus Web Application Volumetric DGGS Home page delivered to the url: {TerraNexus_HomePage}/volumetric_dggs

Parameters:

request (request-object, required) – The html request object.

src.volumetric_dggs.views.volumetricDGGS_build(request)

Note

Function Details

TerraNexus Web Application Volumetric DGGS Build Home page delivered to the url: {TerraNexus_HomePage}/volumetric_dggs/build

Parameters:

request (request-object, required) – The html request object.

src.volumetric_dggs.views.volumetricDGGS_build_TerraNexus(request)

Note

Function Details

TerraNexus Web Application TerraNexus Volumetric DGGS Build Home page delivered to the url: {TerraNexus_HomePage}/volumetric_dggs/build_TerraNexus

Parameters:

request (request-object, required) – The html request object.

src.volumetric_dggs.views.volumetricDGGS_open(request)

Note

Function Details TerraNexus Web Application Volumetric DGGS Open Home page delivered to the url: {TerraNexus_HomePage}/volumetric_dggs/open

Parameters:

request (request-object, required) – The html request object.

src.volumetric_dggs.views.volumetricDGGS_repair(request)

Note

Function Details TerraNexus Web Application Volumetric DGGS Repair Home page delivered to the url: {TerraNexus_HomePage}/volumetric_dggs/repair

Parameters:

request (request-object, required) – The html request object.

volumetric_dggs.views tasks

src.volumetric_dggs.views.map_data_task(dggs_store, input_dataset_path, data_type='model', search_type='All_voxels', search_box=[], search_radius=1.0, ref_location=[], res_min=0, res_max=1, horizontal_scale_factor=10000, vertical_scale_factor=10000, chunk_size=100, equalise_voxels_flag=True)

Note

Function Details

Celery Task to Map Feature Data in parallel.

Parameters:
  • dggs_store (str, required) – MongoDB database to store the dggs structure in. This is automatically generated to ensure the dggrsID is unique.

  • input_dataset_path (str, required) – Path to the data files being mapped.

  • data_type (str, optional, default="model") – Data type of the data to be mapped to the Surface DGGS.

  • search_type (str, optional, default="All_cells") – The Search Type to apply.

  • ref_location (array-like, optional, default=[]) – The Reference Location to search for zones using the “Range_Search” method.

  • res_min (int, optional, default=0) – The minimum DGGS resolution to search for zones that are within the search_box.

  • res_max (int, optional, default=1) – The maximum DGGS resolution to search for zones that are within the search_box.

  • horizontal_scale_factor (int, optional, default=10000) – Horizontal Scale Factor to apply to a Mesh object to bring it into real-world context.

  • vertical_scale_factor (int, optional, default=10000) – Vertical Scale Factor to apply to a Mesh object to bring it into real-world context.

  • chunk_size (int, optional, default=10000) – Chunk size to use to throttle the process to ensure it does not exceed the hardware memory resource capacity.

  • equalise_voxels_flag (boolean, optional, default=True) – Flag to select whether, or not, to equalise the volume of Volumetric DGGS Zones.

Returns:

task_output – JSON compatible dictionary object is returned via the consumers “response_message” function.

Return type:

JSON

src.volumetric_dggs.views.terrain_builder_task(dggs_store='', mongodbname='', input_dataset='', res_min=0, res_max=1, ref_lon=0.0, ref_lat=0.0, ref_height=0.0, horizontal_scale_factor=10000, vertical_scale_factor=10000, chunk_size=100)

Note

Function Details

Celery Task to build a mesh terrain from a given set of 3D point locations.

Parameters:
  • dggs_store (str, optional, default="model") – MongoDB database to store the dggs structure in. This is automatically generated to ensure the dggrsID is unique.

  • mongodbname (str, optional, default="model") – MongoDB database to store the dggs structure in. This is automatically generated to ensure the dggrsID is unique.

  • input_dataset_path (str, optional, default="model") – Path to the data files being mapped.

  • res_min (int, optional, default=0) – The minimum DGGS resolution to search for zones that are within the search_box.

  • res_max (int, optional, default=1) – The maximum DGGS resolution to search for zones that are within the search_box.

  • ref_lon (float, optional, default=0.0) – The Reference Longitude to fix and orient the terrain mesh to.

  • ref_lat (float, optional, default=0.0) – The Reference Latitude to fix and orient the terrain mesh to.

  • ref_height (float, optional, default=0.0) – The Reference ellipsoidal height to fix and orient the terrain mesh to.

  • horizontal_scale_factor (int, optional, default=10000) – Horizontal Scale Factor to apply to a Mesh object to bring it into real-world context.

  • vertical_scale_factor (int, optional, default=10000) – Vertical Scale Factor to apply to a Mesh object to bring it into real-world context.

  • chunk_size (int, optional, default=10000) – Chunk size to use to throttle the process to ensure it does not exceed the hardware memory resource capacity.

Returns:

task_output – JSON compatible dictionary object is returned via the consumers “response_message” function.

Return type:

JSON

src.volumetric_dggs.views.get_mapped_data_task(dggs_store, mapped_data_files, search_type='All_data', ref_location=[], search_box=[], search_radius=1.0, res_min=0, res_max=1, mesh_params={}, output_type='data_points', output_format='json', chunk_size=10000)

Note

Function Details

Celery Task to Get DGGS Mapped Data from the Database in parallel.

Parameters:
  • dggs_store (str, required) – MongoDB database to store the dggs structure in. This is automatically generated to ensure the dggrsID is unique.

  • mapped_data_files (str, required) – Path to the data files being mapped.

  • search_type (str, optional, default="All_cells") – The Search Type to apply.

  • ref_location (array-like, optional, default=[]) – The Reference Location to search for zones using the “Range_Search” method.

  • search_box (array-like, optional, default=[]) – The search box to use to conduct the search for DGGS zones.

  • search_radius (float, optional, default=1.0) – The minimum Search Radius to from a Reference Location to search for zones using the “Range_Search” method.

  • res_min (int, optional, default=0) – The minimum DGGS resolution to search for zones that are within the search_box.

  • res_max (int, optional, default=1) – The maximum DGGS resolution to search for zones that are within the search_box.

  • mesh_params (JSON, optional, default="{}") – JSON/Dictionary object with 3D Mesh parameters to generate a mesh using PyMesh

  • output_type (str, optional, default="data_points") – Output data type.

  • output_format (str, optional, default="json") – Output data format.

  • chunk_size (int, optional, default=10000) – Chunk size to use to throttle the process to ensure it does not exceed the hardware memory resource capacity.

Returns:

task_output – JSON compatible dictionary object is returned via the consumers “response_message” function.

Return type:

JSON

src.volumetric_dggs.views.get_registered_voxels_task(dggs_store, search_type='All_voxels', search_box=[], search_radius=1.0, ref_location=[], res_min=0, res_max=1, height_min=-1, height_max=1, dggs_tool='')

Note

Celery Task to Retrieve Surface DGGS Registered Zones from the Database in parallel.

Parameters:
  • dggs_store (str, required) – MongoDB database to store the dggs structure in. This is automatically generated to ensure the dggrsID is unique.

  • search_type (str, optional, default="All_cells") – The Search Type to apply.

  • search_box (array-like, optional, default=[]) – The search box to use to conduct the search for DGGS zones.

  • search_radius (float, optional, default=1.0) – The minimum Search Radius to from a Reference Location to search for zones using the “Range_Search” method.

  • ref_location (array-like, optional, default=[]) – The Reference Location to search for zones using the “Range_Search” method.

  • res_min (int, optional, default=0) – The minimum DGGS resolution to search for zones that are within the search_box.

  • res_max (int, optional, default=1) – The maximum DGGS resolution to search for zones that are within the search_box.

  • height_min (float, optional, default=-1) – The minimum ellipsoidal height to search over in metres.

  • height_max (float, optional, default=1) – The maximum ellipsoidal height to search over in metres.

Returns:

task_output – JSON compatible dictionary object is returned via the consumers “response_message” function.

Return type:

JSON

src.volumetric_dggs.views.find_voxels_task(user_details_dict, dggs_store, search_box=[], res_min=0, res_max=1, height_min=-1.0, height_max=1.0, ref_location=[], search_radius=0.0, search_type='res', chunk_size=100, get_all_voxels=False, construct_voxels=True, equalise_voxels=True)

Note

Function Details

Celery Task to Find Surface DGGS Zones in parallel.

Parameters:
  • user_details_dict (JSON, required) – User details - for response email notification.

  • dggs_store (str, required) – MongoDB database to store the dggs structure in. This is automatically generated to ensure the dggrsID is unique.

  • search_box (array-like, required) – The search box to use to conduct the search for DGGS zones.

  • res_min (int, optional, default=0) – The minimum DGGS resolution to search for zones that are within the search_box.

  • res_max (int, optional, default=1) – The maximum DGGS resolution to search for zones that are within the search_box.

  • height_min (float, optional, default=-1) – The minimum ellipsoidal height to search over in metres.

  • height_max (float, optional, default=1) – The maximum ellipsoidal height to search over in metres.

  • ref_location (array-like, optional, default=[]) – The Reference Location to search for zones using the “Range_Search” method.

  • search_radius (float, optional, default=1.0) – The minimum Search Radius to from a Reference Location to search for zones using the “Range_Search” method.

  • search_type (str, optional, default="search_box") – The Search Type to apply.

  • chunk_size (int, optional, default=10000) – Chunk size to use to throttle the process to ensure it does not exceed the hardware memory resource capacity.

  • get_all_voxels (boolean, optional, default=False) – A Flag to select whether or not to construct DGGS zones once they have been found.

  • construct_voxels (boolean, optional, default=True) – A Flag to select whether or not to construct DGGS zones once they have been found.

  • equalise_voxels (boolean, optional, default=True) –

    A Flag to select whether or not to equalise the surface area of the Volumetric DGGS zones once they have been found.

    Note

    • if this flag is set to False, then the Surface DGGS will have a varying zone area uncertainty of between ~1% and ~15% across the whole earth surface.

    • Choosing to not “equalise” DGGS zone areas will provide a performance boost for the Surface DGGS instance during zone construction operations, but at the cost of increased analysis uncertainty in terms of the surface area a given DGGS zone occupies.

    • For some applications and use case scenarios this is not important. For others it is.

Returns:

task_output – JSON compatible dictionary object is returned via the consumers “response_message” function.

Return type:

JSON