Documentation
¶
Index ¶
- func GetPVFlag(s string) (string, error)
- func GetSystem(csys string) (isys int, err error)
- func GetVersion(s string) (string, error)
- func ParseProductFromFilename(filename string) (*precise.SP3ProductMetadata, error)
- type CompositeKey
- type EPRecord
- type EVRecord
- type Epoch
- type Header
- type PRecord
- type Record
- type SP3
- func (sp3Data *SP3) ConvertToSP3Records() []precise.SP3Record
- func (sp3Data *SP3) ConvertToSP3RecordsWithMetadata(meta *precise.SP3ProductMetadata) []precise.SP3Record
- func (sp3Data *SP3) ExtractHeaderMetadata() *precise.SP3ProductMetadata
- func (s *SP3) ParseAccuracy() error
- func (s *SP3) ParseFirstLine() error
- func (s *SP3) ParseSP3SatelliteInfo() error
- func (s *SP3) ParseSatellites() error
- func (s *SP3) ParseSecondLine() error
- func (s *SP3) Read() (err error)
- func (s *SP3) ReadEpoch() (err error)
- func (s *SP3) ReadHeader() error
- type SP3DataMap
- type VRecord
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetPVFlag ¶ added in v0.10.0
GetPVFlag returns the position or velocity flag based on the input string
func GetVersion ¶ added in v0.10.0
GetVersion returns the SP3 version based on the input string
func ParseProductFromFilename ¶ added in v0.31.0
func ParseProductFromFilename(filename string) (*precise.SP3ProductMetadata, error)
ParseProductFromFilename extracts product metadata from an SP3 filename Supports both IGS long format (2021+) and legacy short format Returns error if filename doesn't match any known pattern
Types ¶
type CompositeKey ¶ added in v0.10.0
CompositeKey represents a composite key for the map
type EPRecord ¶ added in v0.10.0
type EPRecord struct {
Xs int
Ys int
Zs int
ClkS int
XYCorr int
XZCorr int
XCCorr int
YZCorr int
YCCorr int
ZCCorr int
// contains filtered or unexported fields
}
EPRecord represents the Position and Clock Correlation record
func (EPRecord) GetRowType ¶ added in v0.10.0
func (cf EPRecord) GetRowType() string
func (EPRecord) GetSatellite ¶ added in v0.10.0
func (cf EPRecord) GetSatellite() int
type EVRecord ¶ added in v0.10.0
type EVRecord struct {
XVelSDev int
YVelSDev int
ZVelSDev int
ClkSDev int
XYCorr int
XZCorr int
XCCorr int
YZCorr int
YCCorr int
ZCCorr int
// contains filtered or unexported fields
}
EVRecord represents the Velocity and Clock Rate-of-Change Correlation record
func (EVRecord) GetRowType ¶ added in v0.10.0
func (cf EVRecord) GetRowType() string
func (EVRecord) GetSatellite ¶ added in v0.10.0
func (cf EVRecord) GetSatellite() int
type Header ¶
type Header struct {
Version string
PosVelFlag string
StartTime time.Time
NumberOfEpochs int
DataUsed string
CoordinateSys string
OrbitType string
Agency string
GPSWeek int
SOW float64 // Seconds of Week
EpochInterval float64
MJD int // Modified Julian Date
FractionalDay float64 // Fractional Day
NumberOfSatellites int
Satellites []string
Accuracy []int
StringFields [][]string
FloatFields [][]float64
IntFields [][]int
Comments []string
}
Header represents the header of an SP3 file
type PRecord ¶ added in v0.10.0
type PRecord struct {
X float64
Y float64
Z float64
Clk float64
Xs int
Ys int
Zs int
ClkS int
ClkE string
ClkP string
OrbM string
OrbP string
// contains filtered or unexported fields
}
PRecord represents the Position and Clock record
func (PRecord) GetRowType ¶ added in v0.10.0
func (cf PRecord) GetRowType() string
func (PRecord) GetSatellite ¶ added in v0.10.0
func (cf PRecord) GetSatellite() int
type Record ¶ added in v0.10.0
type Record interface {
GetEpoch() time.Time
GetSystem() gnss.System
GetSatellite() int
GetRowType() string
}
Record is an interface for different SP3 record types
type SP3 ¶ added in v0.10.0
func (*SP3) ConvertToSP3Records ¶ added in v0.31.0
ConvertToSP3Records converts parsed SP3 data into unified SP3Record format Automatically matches P and V records by (epoch, system, satellite) Product metadata can be optionally attached after conversion
func (*SP3) ConvertToSP3RecordsWithMetadata ¶ added in v0.31.0
func (sp3Data *SP3) ConvertToSP3RecordsWithMetadata(meta *precise.SP3ProductMetadata) []precise.SP3Record
ConvertToSP3RecordsWithMetadata converts SP3 data and attaches product metadata The metadata can be extracted from filename using ParseProductFromFilename() or merged from the SP3 header using ExtractHeaderMetadata()
func (*SP3) ExtractHeaderMetadata ¶ added in v0.31.0
func (sp3Data *SP3) ExtractHeaderMetadata() *precise.SP3ProductMetadata
ExtractHeaderMetadata creates product metadata from the SP3 header This provides partial metadata - filename parsing gives more complete information
func (*SP3) ParseAccuracy ¶ added in v0.10.0
ParseAccuracy parses the accuracy lines from an SP3 file
func (*SP3) ParseFirstLine ¶ added in v0.10.0
ParseFirstLine parses the first line of an SP3 file into an SP3Header struct
func (*SP3) ParseSP3SatelliteInfo ¶ added in v0.10.0
ParseSP3SatelliteInfo parses the satellite information and accuracy lines from an SP3 file
func (*SP3) ParseSatellites ¶ added in v0.10.0
ParseSatellites parses the satellite lines from an SP3 file
func (*SP3) ParseSecondLine ¶ added in v0.10.0
ParseSecondLine parses the second line of an SP3 file into an SP3SecondLine struct
func (*SP3) ReadHeader ¶ added in v0.10.0
ReadHeader reads and parses the SP3 header
type SP3DataMap ¶ added in v0.10.0
type SP3DataMap struct {
Records map[CompositeKey][]Record
}
SP3DataMap holds the optimized data structure for fast lookups and interpolations
func NewSP3DataMap ¶ added in v0.10.0
func NewSP3DataMap(data *SP3) *SP3DataMap
NewSP3DataMap initializes a new SP3DataMap from raw SP3Data
type VRecord ¶ added in v0.10.0
type VRecord struct {
XVel float64
YVel float64
ZVel float64
ClkRateChg float64
XVelSDev int
YVelSDev int
ZVelSDev int
ClkRateSDev int
// contains filtered or unexported fields
}
VRecord represents the Velocity and Clock Rate-of-Change record
func (VRecord) GetRowType ¶ added in v0.10.0
func (cf VRecord) GetRowType() string
func (VRecord) GetSatellite ¶ added in v0.10.0
func (cf VRecord) GetSatellite() int