使用liblas文件将数据存储为las却打不开问题的原因

摘要:
liblas是一个通用的las库,用来对las文件进行读写操作。今天使用时,明明数据写入的很正确很成功,但是使用多个点云浏览软件测试,都打开,最后发现了问题所在,再次Mark一下,以供参考。原因竟然是“outPt.close()”,在这里,将这句注释掉就对了,我暂时也不清楚为什么。

liblas是一个通用的las库,用来对las文件进行读写操作。今天使用时,明明数据写入的很正确很成功,但是使用多个点云浏览软件测试,都打开,最后发现了问题所在,再次Mark一下,以供参考。

主要代码如下:

//设置文件头,点数、格式、缩放因子、偏移量
liblas::Header header;
        header.SetVersionMajor(1);
        header.SetVersionMinor(2);
        header.SetDataFormatId(liblas::PointFormatName::ePointFormat3);
        header.SetScale(0.001, 0.001, 0.001);
        header.SetOffset(int(tempPt.GetX()), int(tempPt.GetY()), 0);
     //建立存储文件
        ofstream outPt(newOutPath.c_str(), ios::out |ios::binary);
        if (!outPt.is_open())
        {
            return 1;
        }

        liblas::Writer writer(outPt, header);
        liblas::Point point(&header);

        double minPt[3] = {9999999, 9999999, 9999999};
        double maxPt[3] = {0, 0, 0};
        double pt[3] = {0};
    
// 中间是写入点云及记录点的个数      header.SetPointRecordsCount(point_count); header.SetPointRecordsByReturnCount(
0, point_count); header.SetMax(maxPt[0], maxPt[1], maxPt[2]); header.SetMin(minPt[0], minPt[1], minPt[2]); writer.SetHeader(header);
// 注意此处有问题
outPt.close();

这是很一般的写法,应该是没有问题的,实际上保存的las文件打不开。原因竟然是“outPt.close()”,在这里,将这句注释掉就对了,我暂时也不清楚为什么。

免责声明:文章转载自《使用liblas文件将数据存储为las却打不开问题的原因》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python基础:搭建开发环境(1)【SQL server初级】数据库性能优化二:数据库表优化下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

TOMCAT 启动报错 INVALID CHARACTER FOUND IN METHOD NAME. HTTP METHOD NAMES MUST BE TOKENS

Tomcat报错如下: 解决方案: 问题出现原因是Tomcat的header缓冲区大小不够,需要conf目录下的server.xml中增加maxHttpHeaderSize字段即可: <Connector port="8080"   executor="tomcatThreadPool"         protocol="HTTP/1.1"   ...

利用post请求发送内容进行爬虫

利用post请求发送内容进行爬虫 1 importrequests 2 3 url = 'http://www.iqianyue.com/mypost' 4 header ={} 5 header['Accept-Language'] = 'zh-CN,zh;q=0.9' 6 header['Cache-Control'] = 'max-age...

Python3网络学习案例一:Ping详解

1. 使用Ping做什么ping用于确定本地主机是否能与另一台主机成功交换(发送与接收)数据包,再根据返回的信息,就可以推断TCP/IP参数是否设置正确,以及运行是否正常、网络是否通畅等。 2. 效果CMD命令: Python程序: 3. 在验证两台主机是否能正常联通时做了什么验证的过程就像打电话一样,我们如果要知道自己能否给另一个人交流就给他打一个电...

org.apache.commons.httpclient工具类(封装的HttpUtil)

import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOEx...

服务器设置X-Frame-Options Header响应头(Tomcat,服务器,项目)

解决方案(修改tomcat配置文件)打开Tomcat配置文件(confweb.xml)搜索 httpHeaderSecurity有两处地方 <!--第一处将注释放开--> <filter> <filter-name>httpHeaderSecurity</filter-name>...

HTML5+CSS3学习笔记(二)

学习笔记一只是大致介绍了一下HTML的相关内容以及简单的框架,接下来就是学习HTML的各种标签。HTML的标签有很多,简单的介绍可以参照这个网址(http://www.w3school.com.cn/tags/html_ref_byfunc.asp)。 HTML5作为最新的HTML标准,毫无疑问发生了某些变化,增加了很多标签,也修改了一些标签,不过大致的结...