diff --git a/src/IO.Las/FieldAccessors.cs b/src/IO.Las/FieldAccessors.cs index 39df4a3..2224513 100644 --- a/src/IO.Las/FieldAccessors.cs +++ b/src/IO.Las/FieldAccessors.cs @@ -91,7 +91,7 @@ public static class PointDataRecord /// /// The data. /// The GPS time. - public static ushort GetGpsTime(ReadOnlySpan source) => System.Buffers.Binary.BinaryPrimitives.ReadUInt16LittleEndian(source[Constants.PointDataRecord.PointSourceIdFieldOffset..Constants.PointDataRecord.GpsTimeFieldOffset]); + public static double GetGpsTime(ReadOnlySpan source) => System.Buffers.Binary.BinaryPrimitives.ReadDoubleLittleEndian(source[Constants.PointDataRecord.GpsTimeFieldOffset..GpsPointDataRecord.Size]); /// /// Sets the GPS time. diff --git a/src/IO.Las/GpsColorWaveformPointDataRecord.cs b/src/IO.Las/GpsColorWaveformPointDataRecord.cs index 76741d4..c1dd53c 100644 --- a/src/IO.Las/GpsColorWaveformPointDataRecord.cs +++ b/src/IO.Las/GpsColorWaveformPointDataRecord.cs @@ -68,7 +68,7 @@ public GpsColorWaveformPointDataRecord(ReadOnlySpan data) this.ScanAngleRank = (sbyte)data[Constants.PointDataRecord.ScanAngleRankFieldOffset]; this.UserData = data[Constants.PointDataRecord.UserDataFieldOffset]; this.PointSourceId = FieldAccessors.PointDataRecord.GetPointSourceId(data); - this.GpsTime = System.Buffers.Binary.BinaryPrimitives.ReadDoubleLittleEndian(data[Constants.PointDataRecord.GpsTimeFieldOffset..Constants.PointDataRecord.GpsColorFieldOffset]); + this.GpsTime = FieldAccessors.PointDataRecord.GetGpsTime(data); this.Color = new() { R = System.Buffers.Binary.BinaryPrimitives.ReadUInt16LittleEndian(data[Constants.PointDataRecord.GpsColorFieldOffset..]),