S111Root

class s100py.s111.v1_2.api.S111Root(recursively_create_children=False, **kywrds)

Bases: S100Root

The root group contains a feature information group and N feature containers. In S111 there is one feature container ‘surface current’. The coverage names are determined from the matching CoveragesAttributes 10.2.1, 10.2.2 and Table 12.1 of v1.0.1

Inheritance diagram of S111Root

Attributes Summary

dataset_delivery_interval

depth_type_index

east_bound_longitude

Eastern extent

epoch

false_easting

false_northing

feature_information

geographic_identifier

horizontal_crs

horizontal_cs

horizontal_datum

issue_date

issue_time

meta_features

metadata

name_of_horizontal_crs

name_of_horizontal_datum

north_bound_latitude

Northern extent

prime_meridian

product_specification

projection_method

projection_parameter_1

projection_parameter_2

projection_parameter_3

projection_parameter_4

projection_parameter_5

south_bound_latitude

Southern extent

spheriod

surface_current

surface_current_depth

type_of_horizontal_crs

vertical_coordinate_base

vertical_cs

vertical_datum

vertical_datum_reference

west_bound_longitude

Western extent

Methods Summary

add_data(key, value)

dataset_delivery_interval_create()

Creates a blank, empty or zero value for dataset_delivery_interval

depth_type_index_create()

Creates a value using the first item in the enumeration of depth_type_index

east_bound_longitude_create()

epoch_create()

Creates a blank, empty or zero value for epoch

false_easting_create()

Creates a blank, empty or zero value for false_easting

false_northing_create()

Creates a blank, empty or zero value for false_northing

feature_information_create()

geographic_identifier_create()

Creates a blank, empty or zero value for geographic_identifier

get_all_keys()

Gets all the non-standard keys that are contained in this object currently as well as all the standard keys (S100/HDF5 style names) that could be added.

get_compound_dtype()

Override this method if the dtype of compound dataset items is important

get_data(key)

get_hdf5_from_file(file_obj)

get_s1xx_attr(s1xx_name)

get_standard_keys()

Returns the S100 (HDF5) names for the things that are listed in the specs for this class.

get_standard_list_properties()

Returns a list of properties that are lists (children based on S1xxCollection).

get_standard_properties()

This function autodetermines the properties implemented (which have get/set @properties and _hdf_name associated)

get_standard_properties_mapping()

This function autodetermines the HDF5 or xml names and their associated property names.

get_write_dtypes()

Override this method if the data types of attributes/groups/dataset items is important

get_write_order()

Override this method if the write order of attributes/groups/dataset items is important

horizontal_crs_create()

Creates a blank, empty or zero value for horizontal_crs

horizontal_cs_create()

Creates a blank, empty or zero value for horizontal_cs

horizontal_datum_create()

Creates a blank, empty or zero value for horizontal_datum

initialize_properties([...])

Calls the create function for all the properties of the class.

issue_date_create()

Creates a blank, empty or zero value for issue_date

issue_time_create()

Creates a blank, empty or zero value for issue_time

meta_features_create()

Creates a blank, empty or zero value for meta_features

metadata_create()

Creates a blank, empty or zero value for metadata

name_of_horizontal_crs_create()

Creates a blank, empty or zero value for name_of_horizontal_crs

name_of_horizontal_datum_create()

Creates a blank, empty or zero value for name_of_horizontal_datum

north_bound_latitude_create()

prime_meridian_create()

Creates a blank, empty or zero value for prime_meridian

product_specification_create()

Creates a blank, empty or zero value for product_specification

projection_method_create()

Creates a blank, empty or zero value for projection_method

projection_parameter_1_create()

Creates a blank, empty or zero value for projection_parameter_1

projection_parameter_2_create()

Creates a blank, empty or zero value for projection_parameter_2

projection_parameter_3_create()

Creates a blank, empty or zero value for projection_parameter_3

projection_parameter_4_create()

Creates a blank, empty or zero value for projection_parameter_4

projection_parameter_5_create()

Creates a blank, empty or zero value for projection_parameter_5

read(group_object)

Given an h5py.File or a h5py group then read the data based on the encoded S100+ spec.

read_simple_attributes(group_object)

Reads the standard simple types (strings, ints, floats, datetimes, enums) from the given group as specified by the class specs.

set_datetime_attribute(val, hdf_name, date_type)

set_enum_attribute(val, hdf_name, enum_type)

Function to set an attribute that is an enumeration type using either it's string or numeric value or enumeration instance.

set_s1xx_attr(s1xx_name, val)

south_bound_latitude_create()

spheriod_create()

Creates a blank, empty or zero value for spheriod

surface_current_create()

surface_current_depth_create()

Creates a blank, empty or zero value for surface_current_depth

type_of_horizontal_crs_create()

Creates a blank, empty or zero value for type_of_horizontal_crs

vertical_coordinate_base_create()

Creates a blank, empty or zero value for vertical_coordinate_base

vertical_cs_create()

Creates a blank, empty or zero value for vertical_cs

vertical_datum_create()

Creates a blank, empty or zero value for vertical_datum

vertical_datum_reference_create()

Creates a blank, empty or zero value for vertical_datum_reference

west_bound_longitude_create()

write(group_object)

write the contained data and all it's children into an HDF5 file using h5py.

write_as_xml(etree_object)

write_simple_attributes(group_object)

Attributes Documentation

dataset_delivery_interval
depth_type_index
east_bound_longitude

Eastern extent

epoch
false_easting
false_northing
feature_information
geographic_identifier
horizontal_crs
horizontal_cs
horizontal_datum
issue_date
issue_time
meta_features
metadata
name_of_horizontal_crs
name_of_horizontal_datum
north_bound_latitude

Northern extent

prime_meridian
product_specification
projection_method
projection_parameter_1
projection_parameter_2
projection_parameter_3
projection_parameter_4
projection_parameter_5
south_bound_latitude

Southern extent

spheriod
surface_current
surface_current_depth
type_of_horizontal_crs
vertical_coordinate_base
vertical_cs
vertical_datum
vertical_datum_reference
west_bound_longitude

Western extent

Methods Documentation

add_data(key, value)
dataset_delivery_interval_create()

Creates a blank, empty or zero value for dataset_delivery_interval

depth_type_index_create()

Creates a value using the first item in the enumeration of depth_type_index

east_bound_longitude_create()
epoch_create()

Creates a blank, empty or zero value for epoch

false_easting_create()

Creates a blank, empty or zero value for false_easting

false_northing_create()

Creates a blank, empty or zero value for false_northing

feature_information_create()
geographic_identifier_create()

Creates a blank, empty or zero value for geographic_identifier

get_all_keys()

Gets all the non-standard keys that are contained in this object currently as well as all the standard keys (S100/HDF5 style names) that could be added.

Return type:

list

get_compound_dtype()

Override this method if the dtype of compound dataset items is important

Return type:

A list of dtype, None otherwise.

get_data(key)
get_hdf5_from_file(file_obj)
get_s1xx_attr(s1xx_name)
get_standard_keys()

Returns the S100 (HDF5) names for the things that are listed in the specs for this class.

Returns:

The S102 HDF5 group/attribute/dataset names from this object that will be written or read from an HDF5 file. e.g. BathymetryCoverage or westBoundLongitude etc.

For the class “Root”: [‘BathymetryCoverage’, ‘Group_F’, ‘TrackingListCoverage’]

Return type:

list

get_standard_list_properties()

Returns a list of properties that are lists (children based on S1xxCollection). Basically a way of finding which items will be named <name>_001, <name>_002 etc

Returns:

The property names that will have auto-generated names based on their index in a list.

Return type:

list

classmethod get_standard_properties()

This function autodetermines the properties implemented (which have get/set @properties and _hdf_name associated)

Returns:

Names of the properties implemented.

For eample class “Root” might have (for S102): [‘bathymetry_coverage’, ‘feature_information’, ‘tracking_list_coverage’]

Return type:

list

get_standard_properties_mapping()

This function autodetermines the HDF5 or xml names and their associated property names. Keys are the s100 (HDF5 spelling) strings and the values are the python style naming.

Returns:

dictionary of xml element names as keys and property names as values.

For the class “Root”: {‘BathymetryCoverage’: ‘bathymetry_coverage’, ‘Group_F’: ‘feature_information’, ‘TrackingListCoverage’: ‘tracking_list_coverage’}

Return type:

dict

get_write_dtypes()

Override this method if the data types of attributes/groups/dataset items is important

Return type:

A list of tuples having key names and type, None otherwise.

get_write_order()

Override this method if the write order of attributes/groups/dataset items is important

Return type:

A list of key names if order is important, None otherwise.

horizontal_crs_create()

Creates a blank, empty or zero value for horizontal_crs

horizontal_cs_create()

Creates a blank, empty or zero value for horizontal_cs

horizontal_datum_create()

Creates a blank, empty or zero value for horizontal_datum

initialize_properties(recursively_create_children=False, overwrite=True)

Calls the create function for all the properties of the class. Default values will be created for each attribute that is expected to be contained in this object.

For example, say a class has simple attributes of ESPG code (int) and locatilty (str) and then a class made from S1xxObject called “extents” which has east and west inside it.

Calling initialize_properties(recursively_create_children=False) would result in EPSG=0, locality=”” and an instance of the “extents” class but NO value (nothing would be written to HDF5) for east, west.

Calling initialize_properties(recursively_create_children=True) would result in EPSG=0, locality=”” and an instance of the “extents” class but with east=0.0 and wesst=0.0 as well.

Calling initialize_properties(recursively_create_children=True, overwrite=False) with an esiting dataset, say locality=”test” would result in EPSG=0 being made, locality=”test” being retained and an instance of the “extents” class with east=0.0 and wesst=0.0 as well.

Parameters:
  • recursively_create_children – True = Create children for any child data that would have other children False = Only create data for immediate children of this instance

  • overwrite – True = Overwrite existing data with new default data False = Keep existing data if it exists but create new data otherwise

Return type:

None

issue_date_create()

Creates a blank, empty or zero value for issue_date

issue_time_create()

Creates a blank, empty or zero value for issue_time

meta_features_create()

Creates a blank, empty or zero value for meta_features

metadata_create()

Creates a blank, empty or zero value for metadata

name_of_horizontal_crs_create()

Creates a blank, empty or zero value for name_of_horizontal_crs

name_of_horizontal_datum_create()

Creates a blank, empty or zero value for name_of_horizontal_datum

north_bound_latitude_create()
prime_meridian_create()

Creates a blank, empty or zero value for prime_meridian

product_specification_create()

Creates a blank, empty or zero value for product_specification

projection_method_create()

Creates a blank, empty or zero value for projection_method

projection_parameter_1_create()

Creates a blank, empty or zero value for projection_parameter_1

projection_parameter_2_create()

Creates a blank, empty or zero value for projection_parameter_2

projection_parameter_3_create()

Creates a blank, empty or zero value for projection_parameter_3

projection_parameter_4_create()

Creates a blank, empty or zero value for projection_parameter_4

projection_parameter_5_create()

Creates a blank, empty or zero value for projection_parameter_5

read(group_object)

Given an h5py.File or a h5py group then read the data based on the encoded S100+ spec.

Parameters:

group_object – The group (an h5py.File is a group too) to read from.

Return type:

None

read_simple_attributes(group_object)

Reads the standard simple types (strings, ints, floats, datetimes, enums) from the given group as specified by the class specs.

Parameters:

group_object – The group (an h5py.File is a group too) to read from.

Return type:

None

set_datetime_attribute(val, hdf_name, date_type)
set_enum_attribute(val, hdf_name, enum_type)

Function to set an attribute that is an enumeration type using either it’s string or numeric value or enumeration instance.

Parameters:
  • val – The value as a string, int or Enum().

  • hdf_name – The S100 name (hdf5 spelling).

  • enum_type – The class of enumeration to use if an instance needs to be created.

Return type:

None

set_s1xx_attr(s1xx_name, val)
south_bound_latitude_create()
spheriod_create()

Creates a blank, empty or zero value for spheriod

surface_current_create()
surface_current_depth_create()

Creates a blank, empty or zero value for surface_current_depth

type_of_horizontal_crs_create()

Creates a blank, empty or zero value for type_of_horizontal_crs

vertical_coordinate_base_create()

Creates a blank, empty or zero value for vertical_coordinate_base

vertical_cs_create()

Creates a blank, empty or zero value for vertical_cs

vertical_datum_create()

Creates a blank, empty or zero value for vertical_datum

vertical_datum_reference_create()

Creates a blank, empty or zero value for vertical_datum_reference

west_bound_longitude_create()
write(group_object)

write the contained data and all it’s children into an HDF5 file using h5py.

Parameters:

group_object – An h5py.File or an h5py group object

Return type:

None

write_as_xml(etree_object)
write_simple_attributes(group_object)
__init__(recursively_create_children=False, **kywrds)