types

package
v0.0.12 Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2020 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CODE_USAGE_LIMITATION_PERMIT = "PERMIT"
	CODE_USAGE_LIMITATION_FORBID = "FORBID"
)

Variables

View Source
var IgnoreUndocumented = false
View Source
var MidModeCompliant = false

TODO, those will be moved into a parser struct

Functions

func FeatureString

func FeatureString(f Feature) string

func FillProperties

func FillProperties(f GeoFeature, gf *geojson.Feature)

func GetNearestPointOffset

func GetNearestPointOffset(pt *geo.Point, points *geo.Path) int

helper

func GetSlice

func GetSlice(pts geo.PointSet, start, end int) geo.PointSet

func ParseLongLat

func ParseLongLat(long, lat string, codeDatum string) (*geo.Point, error)

func RegisterValidators

func RegisterValidators(v *validator.Validate, trans ut.Translator)

func Reverse

func Reverse(a geo.PointSet)

func ToGeoJSONPolygon

func ToGeoJSONPolygon(p *geo.Path) *geojson.Feature

ToGeoJSON creates a new geojson feature with a linestring geometry containing all the points.

func UidHash

func UidHash(uid interface{}) string

func UidString

func UidString(uid interface{}) string

func ValidateLat

func ValidateLat(fl validator.FieldLevel) bool

func ValidateLong

func ValidateLong(fl validator.FieldLevel) bool

Types

type Abd

type Abd struct {
	AbdUid AbdUid `xml:"AbdUid"`
	Avx    []Avx  `xml:"Avx"`
}

func (*Abd) GeoJson

func (f *Abd) GeoJson(fmap FeatureMap) (*geojson.Feature, error)

func (*Abd) Uid

func (f *Abd) Uid() FeatureUid

type AbdUid

type AbdUid struct {
	Uid

	AseUid *AseUid `xml:"AseUid"`
}

func (*AbdUid) Hash

func (uid *AbdUid) Hash() string

func (*AbdUid) String

func (uid *AbdUid) String() string

type Adg

type Adg struct {
	AdgUid           AdgUid  `xml:"AdgUid"`
	AseUidSameExtent *AseUid `xml:"AseUidSameExtent"`
}

func (*Adg) Uid

func (f *Adg) Uid() FeatureUid

type AdgUid

type AdgUid struct {
	// TODO, temp allow mid
	Uid

	AseUid *AseUid `xml:"AseUid"`
}

func (*AdgUid) Hash

func (uid *AdgUid) Hash() string

func (*AdgUid) String

func (uid *AdgUid) String() string

type Aga

type Aga struct {
	AgaUid     AgaUid `xml:"AgaUid"`
	TxtAddress string `xml:"txtAddress"`
	TxtRmk     string `xml:"txtRmk"`
}

func (*Aga) Uid

func (f *Aga) Uid() FeatureUid

type AgaUid

type AgaUid struct {
	Uid

	AhsUid   *AhsUid `xml:"AhsUid"`
	CodeType string  `xml:"codeType"`
	NoSeq    string  `xml:"noSeq"`
}

func (*AgaUid) Hash

func (uid *AgaUid) Hash() string

func (*AgaUid) String

func (uid *AgaUid) String() string

type Aha

type Aha struct {
	Source
	AhaUid     AhaUid `xml:"AhaUid"`
	TxtAddress string `xml:"txtAddress,omitempty"`
	TxtRmk     string `xml:"txtRmk,omitempty"`
}

func (*Aha) Uid

func (f *Aha) Uid() FeatureUid

type AhaUid

type AhaUid struct {
	Uid

	AhpUid   *AhpUid `xml:"AhpUid"`
	CodeType string  `xml:"codeType"`
	NoSeq    int     `xml:"noSeq"`
}

func (*AhaUid) Hash

func (uid *AhaUid) Hash() string

func (*AhaUid) String

func (uid *AhaUid) String() string

type Ahp

type Ahp struct {
	Source
	AhpUid           AhpUid      `xml:"AhpUid"`
	OrgUid           OrgUid      `xml:"OrgUid"`
	TxtName          string      `xml:"txtName"`
	CodeIcao         string      `xml:"codeIcao,omitempty"`
	CodeIata         string      `xml:"codeIata,omitempty"`
	CodeGps          string      `xml:"codeGps,omitempty"`
	CodeType         string      `xml:"codeType"`
	GeoLat           string      `xml:"geoLat"`
	GeoLong          string      `xml:"geoLong"`
	CodeDatum        string      `xml:"codeDatum"`
	ValElev          string      `xml:"valElev,omitempty"`
	UomDistVer       string      `xml:"uomDistVer,omitempty"`
	TxtNameCitySer   string      `xml:"txtNameCitySer,omitempty"`
	ValMagVar        string      `xml:"valMagVar,omitempty"`
	DateMagVar       string      `xml:"dateMagVar,omitempty"`
	ValMagVarChg     string      `xml:"valMagVarChg,omitempty"`
	ValRefT          string      `xml:"valRefT,omitempty"`
	UomRefT          string      `xml:"uomRefT,omitempty"`
	TxtNameAdmin     string      `xml:"txtNameAdmin,omitempty"`
	ValTransitionAlt string      `xml:"valTransitionAlt,omitempty"`
	UomTransitionAlt string      `xml:"uomTransitionAlt,omitempty"`
	Aht              []Timetable `xml:"Aht,omitempty"`
	TxtRmk           string      `xml:"txtRmk,omitempty"`

	// References
	Ahu []*Ahu `xml:"-"`

	// TODO, drop, document
	XXTxtDescrSite       string `xml:"txtDescrSite,omitempty" validate:"bug"`
	XXvalGeoidUndulation string `xml:"valGeoidUndulation,omitempty" validate:"bug"`
}

func (*Ahp) GeoJson

func (f *Ahp) GeoJson(fmap FeatureMap) (*geojson.Feature, error)

AD

func (*Ahp) Uid

func (f *Ahp) Uid() FeatureUid

type AhpUid

type AhpUid struct {
	RegionalUid
	CodeId string `xml:"codeId"`
}

func (*AhpUid) Hash

func (uid *AhpUid) Hash() string

func (*AhpUid) Ref

func (uid *AhpUid) Ref() *Ahp

func (*AhpUid) String

func (uid *AhpUid) String() string

type Ahs

type Ahs struct {
	AhsUid      AhsUid    `xml:"AhsUid"`
	TxtDescrFac string    `xml:"txtDescrFac"`
	Ast         Timetable `xml:"Ast"`
	TxtRmk      string    `xml:"txtRmk"`
}

func (*Ahs) Uid

func (f *Ahs) Uid() FeatureUid

type AhsUid

type AhsUid struct {
	// TODO, temp allow mid
	Uid

	AhpUid   *AhpUid `xml:"AhpUid"`
	CodeType string  `xml:"codeType"`
}

Ahs - Airport Ground Service

func (*AhsUid) Hash

func (uid *AhsUid) Hash() string

func (*AhsUid) String

func (uid *AhsUid) String() string

type Ahu

type Ahu struct {
	AhuUid          AhuUid            `xml:"AhuUid"`
	UsageLimitation []UsageLimitation `xml:"UsageLimitation"`

	// TODO, THIS IS WRONG!!!
	XXusageLimitation     interface{} `xml:"usageLimitation" validate:"bug" hash:"skip"`
	XXcodeUsageLimitation interface{} `xml:"codeUsageLimitation" validate:"bug" hash:"skip"`
}

func (*Ahu) Uid

func (f *Ahu) Uid() FeatureUid

type AhuUid

type AhuUid struct {
	// TODO, temp allow mid
	Uid

	AhpUid AhpUid `xml:"AhpUid"`
}

func (*AhuUid) Hash

func (uid *AhuUid) Hash() string

func (*AhuUid) String

func (uid *AhuUid) String() string

type AircraftClass

type AircraftClass struct {
	CodeType string `xml:"codeType"`
}

type Ase

type Ase struct {
	Source
	AseUid           AseUid      `xml:"AseUid" validate:"dive"`
	OrgUid           *OrgUid     `xml:"OrgUid"`
	TxtLocalType     string      `xml:"txtLocalType,omitempty"` //TODO: validate:"omitempty,alpha"`
	TxtName          string      `xml:"txtName,omitempty"`
	CodeClass        string      `xml:"codeClass,omitempty" validate:"omitempty,oneof=A B C D E F G"`
	CodeLocInd       string      `xml:"codeLocInd,omitempty" validate:"omitempty,alpha,len=4"`
	CodeActivity     string      `` /* 264-byte string literal not displayed */
	CodeDistVerUpper string      `xml:"codeDistVerUpper,omitempty" validate:"omitempty,oneof=HEI ALT STD"`
	ValDistVerUpper  string      `xml:"valDistVerUpper,omitempty" validate:"omitempty,numeric"`
	UomDistVerUpper  string      `xml:"uomDistVerUpper,omitempty" validate:"omitempty,uomElev"`
	CodeDistVerLower string      `xml:"codeDistVerLower,omitempty" validate:"omitempty,oneof=HEI ALT STD"`
	ValDistVerLower  string      `xml:"valDistVerLower,omitempty" validate:"omitempty,numeric"`
	UomDistVerLower  string      `xml:"uomDistVerLower,omitempty" validate:"omitempty,uomElev"`
	CodeDistVerMax   string      `xml:"codeDistVerMax,omitempty" validate:"omitempty,oneof=HEI ALT STD"`
	ValDistVerMax    string      `xml:"valDistVerMax,omitempty" validate:"omitempty,numeric"`
	UomDistVerMax    string      `xml:"uomDistVerMax,omitempty" validate:"omitempty,uomElev"`
	CodeDistVerMnm   string      `xml:"codeDistVerMnm,omitempty" validate:"omitempty,oneof=HEI ALT STD"`
	ValDistVerMnm    string      `xml:"valDistVerMnm,omitempty" validate:"omitempty,numeric"`
	UomDistVerMnm    string      `xml:"uomDistVerMnm,omitempty" validate:"omitempty,uomElev"`
	Att              []Timetable `xml:"Att,omitempty" validate:"dive"`
	CodeSelAvbl      string      `xml:"codeSelAvbl,omitempty"` //TODO: validate:"omitempty,yesno"`
	TxtRmk           string      `xml:"txtRmk,omitempty"`

	// Relations
	Adg *Adg `xml:"-" validate:"-"`
	// contains filtered or unexported fields
}

func (*Ase) Uid

func (f *Ase) Uid() FeatureUid

type AseUid

type AseUid struct {
	RegionalUid
	CodeType string `xml:"codeType"` // TODO: validate:"required,oneof=FIR UIR CTA UTA TMA CTR TSA TRA AWY P R D RAS CLASS SECTOR"`
	CodeId   string `xml:"codeId" validate:"required,codeId"`
	// contains filtered or unexported fields
}

func (*AseUid) Hash

func (uid *AseUid) Hash() string

func (*AseUid) Ref

func (uid *AseUid) Ref() *Ase

func (*AseUid) String

func (uid *AseUid) String() string

type Avx

type Avx struct {
	GbrUid         *GbrUid `xml:"GbrUid,omitempty"`
	CodeType       string  `xml:"codeType"`
	GeoLat         string  `xml:"geoLat"`
	GeoLong        string  `xml:"geoLong"`
	CodeDatum      string  `xml:"codeDatum"`
	ValGeoAccuracy string  `xml:"valGeoAccuracy,omitempty"`
	UomGeoAccuracy string  `xml:"uomGeoAccuracy,omitempty"`
	GeoLatArc      string  `xml:"geoLatArc,omitempty"`
	GeoLongArc     string  `xml:"geoLongArc,omitempty"`
	ValRadiusArc   string  `xml:"valRadiusArc,omitempty"`
	UomRadiusArc   string  `xml:"uomRadiusArc,omitempty"`
	ValHex         string  `xml:"valHex,omitempty"`
	TxtRmk         string  `xml:"txtRmk,omitempty"`

	// TODO, invalid
	XXValCrc string `xml:"valCrc,omitempty" validate:"bug"`
	// contains filtered or unexported fields
}

Avx - Airspace Border Vertex

type Cdl

type Cdl struct {
	TxtCallSign string `xml:"txtCallSign"`
	CodeLang    string `xml:"codeLang"`
}

type Dme

type Dme struct {
	Source
	DmeUid       DmeUid      `xml:"DmeUid" validate:"dive"`
	OrgUid       *OrgUid     `xml:"OrgUid"`
	VorUid       *VorUid     `xml:"VorUid"`
	TxtName      string      `xml:"txtName,omitempty"`
	CodeChannel  string      `xml:"codeChannel" validate:"required,dmeChan"`
	ValGhostFreq string      `xml:"valGhostFreq,omitempty" validate:"omitempty,freq"`
	UomGhostFreq string      `xml:"uomGhostFreq,omitempty" validate:"omitempty,uomFreq"`
	CodeDatum    string      `xml:"codeDatum" validate:"wge"`
	ValElev      string      `xml:"valElev,omitempty" validate:"omitempty,elev"`
	UomDistVer   string      `xml:"uomDistVer,omitempty" validate:"omitempty,uomDist"`
	Dtt          []Timetable `xml:"Dtt,omitempty" validate:"dive"`
	TxtRmk       string      `xml:"txtRmk,omitempty"`
	// contains filtered or unexported fields
}

func (*Dme) GeoJson

func (f *Dme) GeoJson(fmap FeatureMap) (*geojson.Feature, error)

func (*Dme) Uid

func (f *Dme) Uid() FeatureUid

type DmeUid

type DmeUid struct {
	RegionalUid
	CodeId  string `xml:"codeId" validate:"codeId"`
	GeoLat  string `xml:"geoLat" validate:"lat"`
	GeoLong string `xml:"geoLong" validate:"lon"`
}

func (*DmeUid) Hash

func (uid *DmeUid) Hash() string

func (*DmeUid) String

func (uid *DmeUid) String() string

type Dpn

type Dpn struct {
	Source
	DpnUid      DpnUid  `xml:"DpnUid" validate:"dive"`
	AhpUidAssoc *AhpUid `xml:"AhpUidAssoc"`
	CodeDatum   string  `xml:"codeDatum" validate:"wge"`
	CodeType    string  `xml:"codeType" validate:"oneof=ICAO ADHP COORD VFR-RP VFR-MRP VFR-ENR VFR-GLDR VFR-HELI TOWN OTHER"`
	TxtName     string  `xml:"txtName,omitempty"`
	TxtRmk      string  `xml:"txtRmk,omitempty"`
	ValTrueBrg  string  `xml:"valTrueBrg,omitempty" validate:"omitempty,numeric,len=3"` // must be left-zero padded eg. 090
	ValElev     string  `xml:"valElev,omitempty" validate:"omitempty,numeric"`
	UomElev     string  `xml:"uomElev,omitempty" validate:"omitempty,uomDist"`

	// TODO, drop, invalid
	XXvalCrs        string `xml:"valCrs,omitempty" validate:"undocumented"`
	XXvalHgt        string `xml:"valHgt,omitempty" validate:"undocumented"`
	XXuomDistVer    string `xml:"uomDistVer,omitempty" validate:"undocumented"`
	XXuomFreq       string `xml:"uomFreq,omitempty" validate:"undocumented"`
	XXcodeTypeNorth string `xml:"codeTypeNorth,omitempty" validate:"undocumented"`
	// contains filtered or unexported fields
}

func (*Dpn) GeoJson

func (f *Dpn) GeoJson(fmap FeatureMap) (*geojson.Feature, error)

navigation

func (*Dpn) Uid

func (f *Dpn) Uid() FeatureUid

type DpnUid

type DpnUid struct {
	RegionalUid
	CodeId  string `xml:"codeId" validate:"codeId"`
	GeoLat  string `xml:"geoLat" validate:"lat"`
	GeoLong string `xml:"geoLong" validate:"lon"`
}

func (*DpnUid) Hash

func (uid *DpnUid) Hash() string

func (*DpnUid) String

func (uid *DpnUid) String() string

type Fda

type Fda struct {
	FdaUid             FdaUid `xml:"FdaUid"`
	ValLen             string `xml:"valLen,omitempty"`
	UomLen             string `xml:"uomLen,omitempty"`
	CodeIntst          string `xml:"codeIntst,omitempty"`
	CodeSequencedFlash string `xml:"codeSequencedFlash,omitempty"`
	TxtDescrFlash      string `xml:"txtDescrFlash,omitempty"`
	TxtRmk             string `xml:"txtRmk,omitempty"`
}

func (*Fda) Uid

func (f *Fda) Uid() FeatureUid

type FdaUid

type FdaUid struct {
	Uid
	FdnUid   *FdnUid `xml:"FdnUid"`
	CodeType string  `xml:"codeType"`
}

func (*FdaUid) Hash

func (uid *FdaUid) Hash() string

func (*FdaUid) String

func (uid *FdaUid) String() string

type Fdd

type Fdd struct {
	FddUid FddUid `xml:"FddUid"`

	ValDist string `xml:"valDist"`
	UomDist string `xml:"uomDist"`
	TxtRmk  string `xml:"txtRmk,omitempty"`
}

func (*Fdd) Uid

func (f *Fdd) Uid() FeatureUid

type FddUid

type FddUid struct {
	// TODO, temp allow mid
	Uid

	FdnUid        FdnUid `xml:"FdnUid"`
	CodeType      string `xml:"codeType"`
	CodeDayPeriod string `xml:"codeDayPeriod"`
}

func (*FddUid) Hash

func (uid *FddUid) Hash() string

func (*FddUid) String

func (uid *FddUid) String() string

type Fdn

type Fdn struct {
	FdnUid FdnUid `xml:"FdnUid"`

	// TODO, drop, document
	XXXrearTakeOffSectorAvail      string `xml:"rearTakeOffSectorAvail,omitempty" validate:"undocumented"`
	XXXrearTakeoffSectorBrg        string `xml:"rearTakeoffSectorBrg,omitempty" validate:"undocumented"`
	XXXrearTakeoffSectorSlopeAngle string `xml:"rearTakeoffSectorSlopeAngle,omitempty" validate:"undocumented"`
	XXXcodingMode                  string `xml:"codingMode,omitempty" validate:"undocumented"`

	//normal
	ValTrueBrg           string `xml:"valTrueBrg,omitempty"`
	ValMagBrg            string `xml:"valMagBrg,omitempty"`
	CodeTypeVasis        string `xml:"codeTypeVasis,omitempty"`
	CodePsnVasis         string `xml:"codePsnVasis,omitempty"`
	NoBoxVasis           string `xml:"noBoxVasis,omitempty"`
	CodePortableVasis    string `xml:"codePortableVasis,omitempty"`
	ValSlopeAngleGpVasis string `xml:"valSlopeAngleGpVasis,omitempty"`
	ValMeht              string `xml:"valMeht,omitempty"`
	UomMeht              string `xml:"uomMeht,omitempty"`
	TxtRmk               string `xml:"txtRmk,omitempty"`

	//TODO, document
	XXXnonIcaoValSlopeAngle   string               `xml:"nonIcaoValSlopeAngle,omitempty" validate:"undocumented"`
	XXXnonIcaoValOpeningAngle string               `xml:"nonIcaoValOpeningAngle,omitempty" validate:"undocumented"`
	XXXnonIcaoMaxSectorLen    string               `xml:"nonIcaoMaxSectorLen,omitempty" validate:"undocumented"`
	XXXiapInitialAlt          string               `xml:"iapInitialAlt,omitempty" validate:"undocumented"`
	XXXgeoLat                 string               `xml:"geoLat,omitempty" validate:"undocumented"`
	XXXgeoLong                string               `xml:"geoLong,omitempty" validate:"undocumented"`
	XXXgmlSectorExtend        []XXXgmlSectorExtend `xml:"gmlSectorExtend,omitempty" validate:"dive"`
	XXXgmlSectorCenterline    []XXXgmlSectorExtend `xml:"gmlSectorCenterline,omitempty" validate:"dive"`
	// contains filtered or unexported fields
}

func (*Fdn) Uid

func (f *Fdn) Uid() FeatureUid

type FdnUid

type FdnUid struct {
	// TODO, temp allow mid
	Uid

	FtoUid   *FtoUid `xml:"FtoUid"`
	TxtDesig string  `xml:"txtDesig"`
}

func (*FdnUid) Hash

func (uid *FdnUid) Hash() string

func (*FdnUid) String

func (uid *FdnUid) String() string

type Fdo

type Fdo struct {
	FdoUid      FdoUid `xml:"FdoUid"`
	CodeTypeOps string `xml:"codeTypeOps,omitempty"`
	TxtRmk      string `xml:"txtRmk,omitempty"`
}

func (*Fdo) Uid

func (f *Fdo) Uid() FeatureUid

type FdoUid

type FdoUid struct {
	Uid
	ObsUid *ObsUid `xml:"ObsUid"`
	FdnUid *FdnUid `xml:"FdnUid"`
}

func (*FdoUid) Hash

func (uid *FdoUid) Hash() string

func (*FdoUid) String

func (uid *FdoUid) String() string

type Feature

type Feature interface {
	Uid() FeatureUid
}

type FeatureMap

type FeatureMap map[string]Feature

type FeatureUid

type FeatureUid interface {
	String() string
	Hash() string
	OriginalMid() string
}

type FlightClass

type FlightClass struct {
	CodeRule    string `xml:"codeRule,omitempty"`
	CodeMil     string `xml:"codeMil,omitempty"`
	CodeOrigin  string `xml:"codeOrigin,omitempty"`
	CodePurpose string `xml:"codePurpose,omitempty"`
}

type Fls

type Fls struct {
	FlsUid     FlsUid `xml:"FlsUid"`
	TxtDescr   string `xml:"txtDescr,omitempty"`
	CodeIntst  string `xml:"codeIntst,omitempty"`
	CodeColour string `xml:"codeColour,omitempty"`
	TxtRmk     string `xml:"txtRmk,omitempty"`
}

func (*Fls) Uid

func (f *Fls) Uid() FeatureUid

type FlsUid

type FlsUid struct {
	Uid
	FdnUid  *FdnUid `xml:"FdnUid"`
	CodePsn string  `xml:"codePsn"`
}

func (*FlsUid) Hash

func (uid *FlsUid) Hash() string

func (*FlsUid) String

func (uid *FlsUid) String() string

type Fqy

type Fqy struct {
	Source
	FqyUid     FqyUid      `xml:"FqyUid"`
	ValFreqRec string      `xml:"valFreqRec,omitempty"`
	UomFreq    string      `xml:"uomFreq"`
	CodeType   string      `xml:"codeType,omitempty"`
	Ftt        []Timetable `xml:"Ftt,omitempty"`
	TxtRmk     string      `xml:"txtRmk,omitempty"`
	Cdl        []Cdl       `xml:"Cdl"`

	// TODO drop
	XtPrimary string `xml:"xt_primary,omitempty" validate:"bug"`
}

func (*Fqy) Uid

func (f *Fqy) Uid() FeatureUid

type FqyUid

type FqyUid struct {
	// TODO, temp allow mid
	Uid

	SerUid       *SerUid `xml:"SerUid"`
	ValFreqTrans string  `xml:"valFreqTrans"`
}

func (*FqyUid) Hash

func (uid *FqyUid) Hash() string

func (*FqyUid) String

func (uid *FqyUid) String() string

type Fto

type Fto struct {
	FtoUid FtoUid `xml:"FtoUid"`

	XXXValMaxRotorDim string `xml:"valMaxRotorDim,omitempty" validate:"omitempty,undocumented"`
	ValLen            string `xml:"valLen,omitempty"`
	ValWid            string `xml:"valWid,omitempty"`
	UomDim            string `xml:"uomDim,omitempty"`
	SurfaceCharacteristics
	TxtProfile     string `xml:"txtProfile,omitempty"`
	TxtMarking     string `xml:"txtMarking,omitempty"`
	CodeSts        string `xml:"codeSts,omitempty"`
	TxtRmk         string `xml:"txtRmk,omitempty"`
	ValMaxRotorDia string `xml:"valMaxRotorDia,omitempty" validate:"omitempty,numeric"`
}

func (*Fto) Uid

func (f *Fto) Uid() FeatureUid

type FtoUid

type FtoUid struct {
	Uid

	AhpUid   *AhpUid `xml:"AhpUid"`
	TxtDesig string  `xml:"txtDesig"`
}

func (*FtoUid) Hash

func (uid *FtoUid) Hash() string

func (*FtoUid) String

func (uid *FtoUid) String() string

type Ful

type Ful struct {
	FulUid FulUid `xml:"FulUid"`

	TxtDescr string `xml:"txtDescr,omitempty"`
	TxtRmk   string `xml:"txtRmk,omitempty"`
}

func (*Ful) Uid

func (f *Ful) Uid() FeatureUid

type FulUid

type FulUid struct {
	// TODO, temp allow mid
	Uid

	AhpUid  *AhpUid `xml:"AhpUid"`
	CodeCat string  `xml:"codeCat"`
}

func (*FulUid) Hash

func (uid *FulUid) Hash() string

func (*FulUid) String

func (uid *FulUid) String() string

type Gbr

type Gbr struct {
	GbrUid   GbrUid `xml:"GbrUid"  validate:"dive"`
	CodeType string `xml:"codeType"` // TODO validate:"required"`
	TxtRmk   string `xml:"txtRmk,omitempty"`
	Gbv      []Gbv  `xml:"Gbv" validate:"dive"`
	// contains filtered or unexported fields
}

func (*Gbr) GeoJson

func (f *Gbr) GeoJson(fmap FeatureMap) (*geojson.Feature, error)

func (*Gbr) GeoJsonPath

func (f *Gbr) GeoJsonPath(fmap FeatureMap) (*geo.Path, error)

func (*Gbr) Uid

func (f *Gbr) Uid() FeatureUid

type GbrUid

type GbrUid struct {
	Uid
	TxtName string `xml:"txtName" validate:"required"`
}

Geographical border types

func (*GbrUid) Hash

func (uid *GbrUid) Hash() string

func (*GbrUid) String

func (uid *GbrUid) String() string

type Gbv

type Gbv struct {
	CodeType       string `xml:"codeType" validate:"oneof=GRC END"`
	GeoLat         string `xml:"geoLat" validate:"lat"`
	GeoLong        string `xml:"geoLong" validate:"lon"`
	CodeDatum      string `xml:"codeDatum"` // TODO validate:"required,wge"`
	ValGeoAccuracy string `xml:"valGeoAccuracy,omitempty"`
	UomGeoAccuracy string `xml:"uomGeoAccuracy,omitempty"`
	GeoLatArc      string `xml:"geoLatArc,omitempty"`
	GeoLongArc     string `xml:"geoLongArc,omitempty"`
	ValRadiusArc   string `xml:"valRadiusArc,omitempty"`
	UomRadiusArc   string `xml:"uomRadiusArc,omitempty"`
	ValHex         string `xml:"valHex,omitempty"`
	TxtRmk         string `xml:"txtRmk,omitempty"`

	// TODO, invalid
	XXValCrc string `xml:"valCrc,omitempty"` // TODO validate:"bug"`
	// contains filtered or unexported fields
}

type GeoFeature

type GeoFeature interface {
	Uid() FeatureUid // From Feature
	GeoJson(fmap FeatureMap) (*geojson.Feature, error)
}

type Igp

type Igp struct {
	ValFreq    string      `xml:"valFreq"`
	UomFreq    string      `xml:"uomFreq"`
	ValSlope   string      `xml:"valSlope,omitempty"`
	ValRdh     string      `xml:"valRdh,omitempty"`
	UomRdh     string      `xml:"uomRdh,omitempty"`
	GeoLat     string      `xml:"geoLat"`
	GeoLong    string      `xml:"geoLong"`
	CodeDatum  string      `xml:"codeDatum"`
	ValElev    string      `xml:"valElev,omitempty"`
	UomDistVer string      `xml:"uomDistVer,omitempty"`
	Igt        []Timetable `xml:"Igt"`
	TxtRmk     string      `xml:"txtRmk,omitempty"`
}

type Ils

type Ils struct {
	IlsUid  IlsUid  `xml:"IlsUid"`
	DmeUid  *DmeUid `xml:"DmeUid"`
	CodeCat string  `xml:"codeCat"`
	TxtRmk  string  `xml:"txtRmk,omitempty"`
	Ilz     Ilz     `xml:"Ilz"`
	Igp     *Igp    `xml:"Igp"`
}

func (*Ils) Uid

func (f *Ils) Uid() FeatureUid

type IlsUid

type IlsUid struct {
	Uid
	RdnUid *RdnUid `xml:"RdnUid"`
}

func (*IlsUid) Hash

func (uid *IlsUid) Hash() string

func (*IlsUid) String

func (uid *IlsUid) String() string

type Ilz

type Ilz struct {
	CodeId          string      `xml:"codeId"`
	ValFreq         string      `xml:"valFreq"`
	UomFreq         string      `xml:"uomFreq"`
	CodeTypeUseBack string      `xml:"codeTypeUseBack,omitempty"`
	GeoLat          string      `xml:"geoLat"`
	GeoLong         string      `xml:"geoLong"`
	CodeDatum       string      `xml:"codeDatum"`
	ValElev         string      `xml:"valElev,omitempty"`
	UomDistVer      string      `xml:"uomDistVer,omitempty"`
	Ilt             []Timetable `xml:"Ilt"`
	TxtRmk          string      `xml:"txtRmk,omitempty"`
}

type Lbm

type Lbm struct {
	LbmUid        LbmUid      `xml:"LbmUid"`
	TxtValueLabel string      `xml:"txtValueLabel"`
	GeoLat        string      `xml:"geoLat"`
	GeoLong       string      `xml:"geoLong"`
	CodeDatum     string      `xml:"codeDatum"`
	ZoomLevel     []ZoomLevel `xml:"ZoomLevel"`
}

func (*Lbm) Uid

func (f *Lbm) Uid() FeatureUid

type LbmUid

type LbmUid struct {
	RegionalUid
	CodeType string `xml:"codeType"`
	TxtName  string `xml:"txtName"`
}

func (*LbmUid) Hash

func (uid *LbmUid) Hash() string

func (*LbmUid) String

func (uid *LbmUid) String() string

type Mkr

type Mkr struct {
	Source
	MkrUid     MkrUid      `xml:"MkrUid" validate:"dive"`
	OrgUid     *OrgUid     `xml:"OrgUid"`
	IlsUid     IlsUid      `xml:"IlsUid" validate:"dive"`
	CodePsnIls string      `xml:"codePsnIls,omitempty"`
	ValFreq    string      `xml:"valFreq" validate:"freq"`
	UomFreq    string      `xml:"uomFreq" validate:"uomFreq"`
	TxtName    string      `xml:"txtName,omitempty"`
	CodeDatum  string      `xml:"codeDatum" validate:"wge"`
	ValElev    string      `xml:"valElev,omitempty" validate:"omitempty,elev"`
	UomDistVer string      `xml:"uomDistVer,omitempty" validate:"omitempty,uomDist"`
	Mtt        []Timetable `xml:"Mtt" validate:"dive"`
	TxtRmk     string      `xml:"txtRmk"`
	// contains filtered or unexported fields
}

func (*Mkr) GeoJson

func (f *Mkr) GeoJson(fmap FeatureMap) (*geojson.Feature, error)

func (*Mkr) Uid

func (f *Mkr) Uid() FeatureUid

type MkrUid

type MkrUid struct {
	RegionalUid
	CodeId  string `xml:"codeId" validate:"codeId"`
	GeoLat  string `xml:"geoLat" validate:"lat"`
	GeoLong string `xml:"geoLong" validate:"lon"`
}

func (*MkrUid) Hash

func (uid *MkrUid) Hash() string

func (*MkrUid) String

func (uid *MkrUid) String() string

type Ndb

type Ndb struct {
	Source
	NdbUid     NdbUid      `xml:"NdbUid" validate:"dive"`
	OrgUid     *OrgUid     `xml:"OrgUid"`
	TxtName    string      `xml:"txtName,omitempty"`
	ValFreq    string      `xml:"valFreq" validate:"freq"`
	UomFreq    string      `xml:"uomFreq" validate:"eq=KHZ"`
	CodeClass  string      `xml:"codeClass,omitempty" validate:"omitempty,oneof=B L M OTHER"`
	CodeDatum  string      `xml:"codeDatum" validate:"wge"`
	ValElev    string      `xml:"valElev,omitempty" validate:"omitempty,elev"`
	UomDistVer string      `xml:"uomDistVer,omitempty" validate:"omitempty,uomDist"`
	Ntt        []Timetable `xml:"Ntt,omitempty" validate:"dive"`
	TxtRmk     string      `xml:"txtRmk,omitempty"`
	// contains filtered or unexported fields
}

func (*Ndb) GeoJson

func (f *Ndb) GeoJson(fmap FeatureMap) (*geojson.Feature, error)

func (*Ndb) Uid

func (f *Ndb) Uid() FeatureUid

type NdbUid

type NdbUid struct {
	RegionalUid
	CodeId  string `xml:"codeId" validate:"codeId"`
	GeoLat  string `xml:"geoLat" validate:"lat"`
	GeoLong string `xml:"geoLong" validate:"lon"`
}

func (*NdbUid) Hash

func (uid *NdbUid) Hash() string

func (*NdbUid) String

func (uid *NdbUid) String() string

type Obs

type Obs struct {
	Source
	ObsUid           ObsUid  `xml:"ObsUid"`
	TxtName          string  `xml:"txtName,omitempty"`
	CodeType         string  `xml:"codeType,omitempty"`
	CodeGroup        string  `xml:"codeGroup,omitempty"`
	CodeLgt          string  `xml:"codeLgt,omitempty"`
	CodeMarking      string  `xml:"codeMarking,omitempty"`
	TxtDescrLgt      string  `xml:"txtDescrLgt,omitempty"`
	TxtDescrMarking  string  `xml:"txtDescrMarking,omitempty"`
	CodeDatum        string  `xml:"codeDatum"`
	ValGeoAccuracy   string  `xml:"valGeoAccuracy,omitempty"`
	UomGeoAccuracy   string  `xml:"uomGeoAccuracy,omitempty"`
	ValElev          string  `xml:"valElev"`
	ValElevAccuracy  string  `xml:"valElevAccuracy,omitempty"`
	UomElevAccuracy  string  `xml:"uomElevAccuracy,omitempty"`
	ValHgt           string  `xml:"valHgt,omitempty"`
	UomDistVer       string  `xml:"uomDistVer"`
	CodeHgtAccuracy  string  `xml:"codeHgtAccuracy,omitempty"`
	ValRadius        string  `xml:"valRadius,omitempty"`
	UomRadius        string  `xml:"uomRadius,omitempty"`
	ObsUidLink       *ObsUid `xml:"ObsUidLink,omitempty"`
	CodeLinkType     string  `xml:"codeLinkType,omitempty"`
	DatetimeValidWef string  `xml:"datetimeValidWef,omitempty"`
	DatetimeValidTil string  `xml:"datetimeValidTil,omitempty"`
	TxtRmk           string  `xml:"txtRmk,omitempty"`
}

func (*Obs) Uid

func (f *Obs) Uid() FeatureUid

type ObsUid

type ObsUid struct {
	Uid
	OgrUid  OgrUid `xml:"OgrUid"`
	GeoLat  string `xml:"geoLat"`
	GeoLong string `xml:"geoLong"`
}

func (*ObsUid) Hash

func (uid *ObsUid) Hash() string

func (*ObsUid) String

func (uid *ObsUid) String() string

type Ogr

type Ogr struct {
	Source
	OgrUid          OgrUid `xml:"OgrUid"`
	CodeDatum       string `xml:"codeDatum"`
	ValGeoAccuracy  string `xml:"valGeoAccuracy,omitempty"`
	UomGeoAccuracy  string `xml:"uomGeoAccuracy,omitempty"`
	ValElevAccuracy string `xml:"valElevAccuracy,omitempty"`
	UomElevAccuracy string `xml:"uomElevAccuracy,omitempty"`
	TxtRmk          string `xml:"txtRmk,omitempty"`
}

func (*Ogr) Uid

func (f *Ogr) Uid() FeatureUid

type OgrUid

type OgrUid struct {
	RegionalUid

	TxtName string `xml:"txtName"`
	GeoLat  string `xml:"geoLat"`
	GeoLong string `xml:"geoLong"`
}

func (*OgrUid) Hash

func (uid *OgrUid) Hash() string

func (*OgrUid) String

func (uid *OgrUid) String() string

type Org

type Org struct {
	Source
	OrgUid   OrgUid
	CodeId   string `xml:"codeId,omitempty"`
	CodeType string `xml:"codeType"`
	TxtRmk   string `xml:"txtRmk,omitempty"`
}

func (*Org) Uid

func (f *Org) Uid() FeatureUid

type OrgUid

type OrgUid struct {
	RegionalUid
	TxtName string `xml:"txtName"`
}

func (*OrgUid) Hash

func (uid *OrgUid) Hash() string

func (*OrgUid) String

func (uid *OrgUid) String() string

type Rda

type Rda struct {
	RdaUid             RdaUid `xml:"RdaUid"`
	ValLen             string `xml:"valLen,omitempty"`
	UomLen             string `xml:"uomLen,omitempty"`
	CodeIntst          string `xml:"codeIntst,omitempty"`
	CodeSequencedFlash string `xml:"codeSequencedFlash,omitempty"`
	TxtDescrFlash      string `xml:"txtDescrFlash,omitempty"`
	TxtRmk             string `xml:"txtRmk,omitempty"`
}

func (*Rda) Uid

func (f *Rda) Uid() FeatureUid

type RdaUid

type RdaUid struct {
	Uid
	RdnUid   RdnUid `xml:"RdnUid"`
	CodeType string `xml:"codeType"`
}

Rda - Runway Direction approach Lighting

func (*RdaUid) Hash

func (uid *RdaUid) Hash() string

func (*RdaUid) String

func (uid *RdaUid) String() string

type Rdd

type Rdd struct {
	RddUid  RddUid `xml:"RddUid"`
	ValDist string `xml:"valDist"`
	UomDist string `xml:"uomDist"`
	TxtRmk  string `xml:"txtRmk,omitempty"`
}

func (*Rdd) Uid

func (f *Rdd) Uid() FeatureUid

type RddUid

type RddUid struct {
	Uid

	RdnUid        *RdnUid `xml:"RdnUid"`
	CodeType      string  `xml:"codeType"`
	CodeDayPeriod string  `xml:"codeDayPeriod"`
}

func (*RddUid) Hash

func (uid *RddUid) Hash() string

func (*RddUid) String

func (uid *RddUid) String() string

type Rdn

type Rdn struct {
	RdnUid  RdnUid `xml:"RdnUid"`
	GeoLat  string `xml:"geoLat"`
	GeoLong string `xml:"geoLong"`
	// TODO, sometimes called geoLon
	BUGGeoLon string `xml:"geoLon,omitempty" validate:"bug"`

	ValTrueBrg           string `xml:"valTrueBrg,omitempty"`
	ValMagBrg            string `xml:"valMagBrg,omitempty"`
	ValElevTdz           string `xml:"valElevTdz,omitempty"`
	UomElevTdz           string `xml:"uomElevTdz,omitempty"`
	CodeTypeVasis        string `xml:"codeTypeVasis,omitempty"`
	CodePsnVasis         string `xml:"codePsnVasis,omitempty"`
	NoBoxVasis           string `xml:"noBoxVasis,omitempty"`
	CodePortableVasis    string `xml:"codePortableVasis,omitempty"`
	ValSlopeAngleGpVasis string `xml:"valSlopeAngleGpVasis,omitempty"`
	ValMeht              string `xml:"valMeht,omitempty"`
	UomMeht              string `xml:"uomMeht,omitempty"`
	CodeVfrPattern       string `xml:"codeVfrPattern,omitempty"`
	TxtRmk               string `xml:"txtRmk,omitempty"`

	// References
	Rdd []*Rdd `xml:"-" validate:"-"`
}

func (*Rdn) Uid

func (f *Rdn) Uid() FeatureUid

type RdnUid

type RdnUid struct {
	// TODO, temp allow mid
	Uid

	RwyUid   *RwyUid `xml:"RwyUid"`
	TxtDesig string  `xml:"txtDesig"`
}

func (*RdnUid) Hash

func (uid *RdnUid) Hash() string

func (*RdnUid) Ref

func (uid *RdnUid) Ref() *Rdn

func (*RdnUid) String

func (uid *RdnUid) String() string

type Rdo

type Rdo struct {
	RdoUid      RdoUid `xml:"RdoUid"`
	CodeTypeOps string `xml:"codeTypeOps,omitempty"`
	TxtRmk      string `xml:"txtRmk,omitempty"`
}

func (*Rdo) Uid

func (f *Rdo) Uid() FeatureUid

type RdoUid

type RdoUid struct {
	Uid
	ObsUid *ObsUid `xml:"ObsUid"`
	RdnUid *RdnUid `xml:"RdnUid"`
}

func (*RdoUid) Hash

func (uid *RdoUid) Hash() string

func (*RdoUid) String

func (uid *RdoUid) String() string

type RegionalUid

type RegionalUid struct {
	Uid
	Region string `xml:"region,attr,omitempty" hash:"required"`
	XtFir  string `xml:"xt_fir,attr,omitempty" hash:"ignore"`
}

type Rls

type Rls struct {
	RlsUid     RlsUid `xml:"RlsUid"`
	TxtDescr   string `xml:"txtDescr,omitempty"`
	CodeIntst  string `xml:"codeIntst,omitempty"`
	CodeColour string `xml:"codeColour,omitempty"`
	TxtRmk     string `xml:"txtRmk,omitempty"`
}

func (*Rls) Uid

func (f *Rls) Uid() FeatureUid

type RlsUid

type RlsUid struct {
	Uid

	RdnUid  *RdnUid `xml:"RdnUid"`
	CodePsn string  `xml:"codePsn"`
}

func (*RlsUid) Hash

func (uid *RlsUid) Hash() string

func (*RlsUid) Region

func (uid *RlsUid) Region() string

func (*RlsUid) String

func (uid *RlsUid) String() string

type Rwy

type Rwy struct {
	RwyUid    RwyUid `xml:"RwyUid"`
	ValLen    string `xml:"valLen,omitempty"`
	ValWid    string `xml:"valWid,omitempty"`
	UomDimRwy string `xml:"uomDimRwy,omitempty"`
	SurfaceCharacteristics
	ValLenStrip string `xml:"valLenStrip,omitempty"`
	ValWidStrip string `xml:"valWidStrip,omitempty"`
	UomDimStrip string `xml:"uomDimStrip,omitempty"`
	CodeSts     string `xml:"codeSts,omitempty"`
	TxtRmk      string `xml:"txtRmk,omitempty"`
}

func (*Rwy) Uid

func (f *Rwy) Uid() FeatureUid

type RwyUid

type RwyUid struct {
	Uid

	AhpUid   *AhpUid `xml:"AhpUid"`
	TxtDesig string  `xml:"txtDesig"`
}

func (*RwyUid) Hash

func (uid *RwyUid) Hash() string

func (*RwyUid) Ref

func (uid *RwyUid) Ref() *Rwy

func (*RwyUid) String

func (uid *RwyUid) String() string

type Sae

type Sae struct {
	SaeUid SaeUid `xml:"SaeUid"`
}

func (*Sae) Uid

func (f *Sae) Uid() FeatureUid

type SaeUid

type SaeUid struct {
	Uid

	SerUid *SerUid `xml:"SerUid"`
	AseUid *AseUid `xml:"AseUid"`
}

func (*SaeUid) Hash

func (uid *SaeUid) Hash() string

func (*SaeUid) String

func (uid *SaeUid) String() string

type Ser

type Ser struct {
	Source
	SerUid SerUid      `xml:"SerUid"`
	Stt    []Timetable `xml:"Stt"`
	TxtRmk string      `xml:"txtRmk,omitempty"`
}

func (*Ser) Uid

func (f *Ser) Uid() FeatureUid

type SerUid

type SerUid struct {
	// TODO, temp allow mid
	Uid

	UniUid   *UniUid `xml:"UniUid"`
	CodeType string  `xml:"codeType"`
	NoSeq    int     `xml:"noSeq"`
}

func (*SerUid) Hash

func (uid *SerUid) Hash() string

func (*SerUid) Ref

func (uid *SerUid) Ref() *Ser

func (*SerUid) String

func (uid *SerUid) String() string

type Source

type Source struct {
	Source string `xml:"source,attr,omitempty"`
}

type SurfaceCharacteristics

type SurfaceCharacteristics struct {
	CodeComposition         string `xml:"codeComposition,omitempty"`
	CodePreparation         string `xml:"codePreparation,omitempty"`
	CodeCondSfc             string `xml:"codeCondSfc,omitempty"`
	ValPcnClass             string `xml:"valPcnClass,omitempty"`
	CodePcnPavementType     string `xml:"codePcnPavementType,omitempty"`
	CodePcnPavementSubgrade string `xml:"codePcnPavementSubgrade,omitempty"`
	CodePcnMaxTirePressure  string `xml:"codePcnMaxTirePressure,omitempty"`
	CodePcnEvalMethod       string `xml:"codePcnEvalMethod,omitempty"`
	TxtPcnNote              string `xml:"txtPcnNote,omitempty"`
	ValSiwlWeight           string `xml:"valSiwlWeight,omitempty"`
	UomSiwlWeight           string `xml:"uomSiwlWeight,omitempty"`
	ValSiwlTirePressure     string `xml:"valSiwlTirePressure,omitempty"`
	UomSiwlTirePressure     string `xml:"uomSiwlTirePressure,omitempty"`
	ValAuwWeight            string `xml:"valAuwWeight,omitempty"`
	UomAuwWeight            string `xml:"uomAuwWeight,omitempty"`
}

type Tcn

type Tcn struct {
	Source
	TcnUid       TcnUid      `xml:"TcnUid" validate:"dive"`
	OrgUid       *OrgUid     `xml:"OrgUid"`
	VorUid       *VorUid     `xml:"VorUid"`
	TxtName      string      `xml:"txtName,omitempty"`
	CodeChannel  string      `xml:"codeChannel" validate:"dmeChan"`
	ValGhostFreq string      `xml:"valGhostFreq,omitempty" validate:"omitempty,freq"`
	UomGhostFreq string      `xml:"uomGhostFreq,omitempty" validate:"omitempty,uomFreq"`
	CodeDatum    string      `xml:"codeDatum" validate:"wge"`
	ValElev      string      `xml:"valElev" validate:"omitempty,elev"`
	UomDistVer   string      `xml:"uomDistVer" validate:"omitempty,uomDist"`
	Ttt          []Timetable `xml:"Ttt" validate:"dive"`
	TxtRmk       string      `xml:"txtRmk"`
	// contains filtered or unexported fields
}

func (*Tcn) GeoJson

func (f *Tcn) GeoJson(fmap FeatureMap) (*geojson.Feature, error)

func (*Tcn) Uid

func (f *Tcn) Uid() FeatureUid

type TcnUid

type TcnUid struct {
	RegionalUid
	CodeId  string `xml:"codeId" validate:"codeId"`
	GeoLat  string `xml:"geoLat" validate:"lat"`
	GeoLong string `xml:"geoLong" validate:"lon"`
}

func (*TcnUid) Hash

func (uid *TcnUid) Hash() string

func (*TcnUid) String

func (uid *TcnUid) String() string

type Timetable

type Timetable struct {
	CodeWorkHr   string  `xml:"codeWorkHr,omitempty" validate:"omitempty,oneof=H24 HJ HN HX HO NOTAM OTHER TIMSH"`
	Timsh        []Timsh `xml:"Timsh,omitempty" validate:"dive"`
	TxtRmkWorkHr string  `xml:"txtRmkWorkHr,omitempty"`
}

type Timsh

type Timsh struct {
	CodeTimeRef      string `xml:"codeTimeRef" validate:"oneof=UTC UTCW"`
	DateValidWef     string `xml:"dateValidWef" validate:"omitempty,date"`
	DateYearValidWef string `xml:"dateYearValidWef,omitempty" validate:"omitempty,year"`
	DateValidTil     string `xml:"dateValidTil" validate:"omitempty,date"`
	DateYearValidTil string `xml:"dateYearValidTil,omitempty" validate:"omitempty,year"`
	CodeDay          string `xml:"codeDay" validate:"oneof=MON TUE WED THU FRI SAT SUN WD PWD AWD LH PLH ALH ANY"`
	CodeDayTil       string `xml:"codeDayTil,omitempty" validate:"oneof=MON TUE WED THU FRI SAT SUN WD PWD AWD LH PLH ALH ANY"`
	TimeWef          string `xml:"timeWef,omitempty" validate:"omitempty,time"`
	CodeEventWef     string `xml:"codeEventWef,omitempty" validate:"omitempty,oneof=SR SS"`
	TimeRelEventWef  string `xml:"timeRelEventWef,omitempty" validate:"omitempty,numeric"`
	CodeCombWef      string `xml:"codeCombWef,omitempty" validate:"omitempty,oneof=E L"`
	TimeTil          string `xml:"timeTil,omitempty" validate:"omitempty,time"`
	CodeEventTil     string `xml:"codeEventTil,omitempty" validate:"omitempty,oneof=SR SS"`
	TimeRelEventTil  string `xml:"timeRelEventTil,omitempty" validate:"omitempty,numeric"`
	CodeCombTil      string `xml:"codeCombTil,omitempty" validate:"omitempty,oneof=E L"`

	// TODO, REMOVE INVALID
	XXxt_AlignSummerSavingT string `xml:"xt_AlignSummerSavingT,omitempty"`
}

type Tla

type Tla struct {
	TlaUid    TlaUid `xml:"TlaUid"`
	FtoUid    FtoUid `xml:"FtoUid"`
	GeoLat    string `xml:"geoLat"`
	GeoLong   string `xml:"geoLong"`
	CodeDatum string `xml:"codeDatum"`
	// TODO, fix
	XXXvalTrueBrg string `xml:"valTrueBrg,omitempty"`

	ValElev    string `xml:"valElev,omitempty"`
	UomDistVer string `xml:"uomDistVer,omitempty"`
	ValLen     string `xml:"valLen,omitempty"`
	ValWid     string `xml:"valWid,omitempty"`
	UomDim     string `xml:"uomDim,omitempty"`
	SurfaceCharacteristics
	CodeClassHel string `xml:"codeClassHel,omitempty"`
	TxtMarking   string `xml:"txtMarking,omitempty"`
	CodeSts      string `xml:"codeSts,omitempty"`
	TxtRmk       string `xml:"txtRmk,omitempty"`
}

func (*Tla) Uid

func (f *Tla) Uid() FeatureUid

type TlaUid

type TlaUid struct {
	Uid

	AhpUid   *AhpUid `xml:"AhpUid"`
	TxtDesig string  `xml:"txtDesig"`
}

func (*TlaUid) Hash

func (uid *TlaUid) Hash() string

func (*TlaUid) String

func (uid *TlaUid) String() string

type Tls

type Tls struct {
	TlsUid TlsUid `xml:"TlsUid"`

	TxtDescr   string `xml:"txtDescr,omitempty"`
	CodeIntst  string `xml:"codeIntst,omitempty"`
	CodeColour string `xml:"codeColour,omitempty"`
	TxtRmk     string `xml:"txtRmk,omitempty"`
}

func (*Tls) Uid

func (f *Tls) Uid() FeatureUid

type TlsUid

type TlsUid struct {
	Uid

	TlaUid  *TlaUid `xml:"TlaUid"`
	CodePsn string  `xml:"codePsn"`
}

func (*TlsUid) Hash

func (uid *TlsUid) Hash() string

func (*TlsUid) String

func (uid *TlsUid) String() string

type Uid

type Uid struct {
	Mid   string `xml:"mid,attr,omitempty" hash:"ignore"`
	DBUid string `xml:"dbUid,attr,omitempty" hash:"ignore"`

	// reference to object itself, skip validation to avoid recursion
	IRef interface{} `hash:"ignore" validate:"-" xml:"-"`
}

func (*Uid) OriginalMid

func (uid *Uid) OriginalMid() string

type Uni

type Uni struct {
	Source
	UniUid    UniUid  `xml:"UniUid"`
	OrgUid    *OrgUid `xml:"OrgUid"`
	AhpUid    *AhpUid `xml:"AhpUid"`
	CodeClass string  `xml:"codeClass"`
	TxtRmk    string  `xml:"txtRmk,omitempty"`
}

func (*Uni) Uid

func (f *Uni) Uid() FeatureUid

type UniUid

type UniUid struct {
	RegionalUid

	TxtName  string `xml:"txtName"`
	CodeType string `xml:"codeType"`
}

func (*UniUid) Hash

func (uid *UniUid) Hash() string

func (*UniUid) Ref

func (uid *UniUid) Ref() *Uni

func (*UniUid) String

func (uid *UniUid) String() string

type UsageCondition

type UsageCondition struct {
	AircraftClass []AircraftClass `xml:"AircraftClass"`
	FlightClass   []FlightClass   `xml:"FlightClass"`
}

type UsageLimitation

type UsageLimitation struct {
	CodeUsageLimitation string           `xml:"codeUsageLimitation"`
	UsageCondition      []UsageCondition `xml:"UsageCondition,omitempty"`
	Timetable           []Timetable      `xml:"Timetable,omitempty"`
	TxtRmk              string           `xml:"txtRmk,omitempty"`
}

type Vor

type Vor struct {
	Source
	VorUid         VorUid      `xml:"VorUid" validate:"dive"`
	OrgUid         *OrgUid     `xml:"OrgUid"`
	TxtName        string      `xml:"txtName,omitempty"`
	CodeType       string      `xml:"codeType" validate:"oneof=VOR DVOR OTHER"`
	ValFreq        string      `xml:"valFreq" validate:"freq"`
	UomFreq        string      `xml:"uomFreq" validate:"eq=MHZ"`
	CodeTypeNorth  string      `xml:"codeTypeNorth" validate:"oneof=TRUE MAG GRID UTM OTHER"`
	ValDeclination string      `xml:"valDeclination,omitempty" validate:"omitempty,numeric"`
	ValMagVar      string      `xml:"valMagVar,omitempty" validate:"omitempty,numeric"`
	DateMagVar     string      `xml:"dateMagVar,omitempty" validate:"omitempty,numeric"`
	ValMagVarChg   string      `xml:"valMagVarChg,omitempty" validate:"omitempty,numeric"`
	CodeDatum      string      `xml:"codeDatum" validate:"wge"`
	ValElev        string      `xml:"valElev,omitempty" validate:"omitempty,elev"`
	UomDistVer     string      `xml:"uomDistVer,omitempty" validate:"omitempty,uomDist"`
	Vtt            []Timetable `xml:"Vtt,omitempty" validate:"dive"`
	TxtRmk         string      `xml:"txtRmk,omitempty"`
	// contains filtered or unexported fields
}

func (*Vor) GeoJson

func (f *Vor) GeoJson(fmap FeatureMap) (*geojson.Feature, error)

func (*Vor) Uid

func (f *Vor) Uid() FeatureUid

type VorUid

type VorUid struct {
	RegionalUid
	CodeId  string `xml:"codeId" validate:"codeId"`
	GeoLat  string `xml:"geoLat" validate:"lat"`
	GeoLong string `xml:"geoLong" validate:"lon"`
}

func (*VorUid) Hash

func (uid *VorUid) Hash() string

func (*VorUid) String

func (uid *VorUid) String() string

type XXXgmlSectorExtend

type XXXgmlSectorExtend struct {
	XXXgmlPosList []string `xml:"gmlPosList,omitempty" validate:"undocumented"`
}

type ZoomLevel

type ZoomLevel struct {
	ValZoomLevel  int    `xml:"valZoomLevel"`
	TxtValueLabel string `xml:"txtValueLabel,omitempty"`
	GeoLat        string `xml:"geoLat,omitempty"`
	GeoLong       string `xml:"geoLong,omitempty"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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