harmonizeunit

package
v0.0.0-...-7fbf898 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 15, 2022 License: Apache-2.0 Imports: 14 Imported by: 1

Documentation

Overview

Package harmonizeunit harmonizes units.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LoadUnitHarmonizationProjectors

func LoadUnitHarmonizationProjectors(r *types.Registry, unitHarmonizationConfig *hpb.UnitHarmonizationConfig) error

LoadUnitHarmonizationProjectors loads all unit harmonization projectors.

func ParseUnitConfigFiles

func ParseUnitConfigFiles(unitConversion *httppb.Location) (*ucpb.UnitConfiguration, error)

ParseUnitConfigFiles parses the unit config files.

Types

type HarmonizedUnit

type HarmonizedUnit struct {
	Quantity         float64
	Unit             string
	System           string
	Version          string
	OriginalQuantity float64
	OriginalUnit     string
}

HarmonizedUnit is the result of harmonization.

func (HarmonizedUnit) ToJSONContainer

func (h HarmonizedUnit) ToJSONContainer() jsonutil.JSONContainer

ToJSONContainer converts the HarmonizedUnit to a JSONContainer.

type LocalUnitHarmonizer

type LocalUnitHarmonizer struct {
	// contains filtered or unexported fields
}

LocalUnitHarmonizer will harmonize units using files stored locally.

func (*LocalUnitHarmonizer) Harmonize

func (h *LocalUnitHarmonizer) Harmonize(sourceQuantity float64, sourceUnit string, harmonizedCodes []harmonizecode.HarmonizedCode) (HarmonizedUnit, error)

Harmonize implements UnitHarmonizer's Harmonize function.

type RemoteUnitHarmonizer

type RemoteUnitHarmonizer struct {
	// contains filtered or unexported fields
}

RemoteUnitHarmonizer will harmonize units using a remote lookup service.

func (*RemoteUnitHarmonizer) Harmonize

func (h *RemoteUnitHarmonizer) Harmonize(sourceQuantity float64, sourceUnit string, sourceCode string, sourceCodeSystem string) (HarmonizedUnit, error)

Harmonize implements UnitHarmonizer's Harmonize function. TODO(): Add support for this.

type UnitHarmonizer

type UnitHarmonizer interface {
	Harmonize(sourceQuantity float64, sourceUnit string, harmonizedCodes []harmonizecode.HarmonizedCode) (HarmonizedUnit, error)
}

UnitHarmonizer is the interface for harmonizing units.

func MakeLocalUnitHarmonizer

func MakeLocalUnitHarmonizer(uc *ucpb.UnitConfiguration) (UnitHarmonizer, error)

MakeLocalUnitHarmonizer creates a local unit harmonizer based on the provided config files.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL