public string GetLiDARPrintableData(decimal points2Print) { string ret = GetLiDARHeader(); if (VersionMinor < 3) return ret; else ret += string.Format( @" ================= v1.3 and above ================= {0} Start of WF Data Packet Record: {1} Variable length records -------------------------------------------------- {2}Current position: {3} Points data X Y Z Int RN NR SDF EFL CLF SAR URD PSID GPS TIME WPDI Ofs. WF Data WF Pk. Size Ret.Point WF Loc. R G B ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ", GetGlobalDecodedString(), StartOfWaveFormDataPacketRecord, GetVariableLengthRecs(),br.BaseStream.Position); InititalizeOffSetScaleFactors(); br.BaseStream.Position = (long)OffsetPointData; PointDataRecordFormatBase.WaveFormPacketSize = WFPackageSize; PointDataRecordFormatBase p; for (int i=0; i < points2Print;i++) { p = PointDataRecordFormatFactory.Get(PointDataRecordFormat, br); p.GetFieldValues(); ret += p.DataAsString + "\r\n"; } return ret; }
public string GetFWFData(int recs2Get, char sepChar = ' ') { br.BaseStream.Position = (long)OffsetPointData; WDPFile wdp = new WDPFile(WDPFileName); string ret = string.Empty; for(int i=0; i<recs2Get; i++) { PointDataRecordFormatBase p = PointDataRecordFormatFactory.Get(LiDARFile.PointDataRecordFormat, br); p.GetFieldValues(); wdp.GetNextRec((long)p.Offset2WFData, (int)PointDataRecordFormatBase.WaveFormPacketSize); ret += string.Format("{1}{0}{2}{0}{3}{0}{4}{0}{5}{0}{6}{0}{7}{0}{8}{0}{9}{0}{10}{0}", sepChar, i, p.GPSTime,p.AdjustedX,p.AdjustedY, p.AdjustedZ, p.Intensity,p.NumberOfReturns, p.ReturnNumber,p.Offset2WFData, PointDataRecordFormatBase.WaveFormPacketSize); ret += wdp.GetRecStr((int)PointDataRecordFormatBase.WaveFormPacketSize, sepChar); } wdp.Close(); return ret; }