Example #1
0
        public LASFile(string path)
            : base(path)
        {
            if (Exists)
            {
                try
                {
                    using (var stream = StreamManager.OpenReadStream(FilePath))
                    {
                        using (var reader = new FlexibleBinaryReader(stream))
                        {
                            m_header = reader.ReadLASHeader();
                        }

                        m_vlrs = m_header.ReadVLRs(stream);
                        m_evlrs = m_header.ReadEVLRs(stream);
                    }

                    m_extent = m_header.Extent;
                }
                catch { }
            }
        }
Example #2
0
        public LASVLR[] ReadVLRs(Stream stream)
        {
            var vlrs = new List<LASVLR>((int)m_numberOfVariableLengthRecords);

            if (m_numberOfVariableLengthRecords > 0)
            {
                stream.Seek(m_headerSize, SeekOrigin.Begin);

                using (var reader = new FlexibleBinaryReader(stream))
                {
                    for (int i = 0; i < m_numberOfVariableLengthRecords; i++)
                    {
                        var vlr = reader.ReadObject<LASVLR>();
                        //if (vlr.IsInteresting)
                            vlrs.Add(vlr);
                    }
                }
            }

            return vlrs.ToArray();
        }
Example #3
0
        public LASEVLR[] ReadEVLRs(Stream stream)
        {
            var vlrs = new List<LASEVLR>((int)m_numberOfExtendedVariableLengthRecords);

            if (m_numberOfExtendedVariableLengthRecords > 0)
            {
                stream.Seek((long)m_startOfFirstExtendedVariableLengthRecord, SeekOrigin.Begin);

                using (var reader = new FlexibleBinaryReader(stream))
                {
                    for (int i = 0; i < m_numberOfExtendedVariableLengthRecords; i++)
                    {
                        var vlr = reader.ReadObject<LASEVLR>();
                        if (vlr != null)// && vlr.IsInteresting)
                            vlrs.Add(vlr);
                    }
                }
            }

            return vlrs.ToArray();
        }