用LASlib库读取las文件,想要获取las文件得准确地理坐标系信息,于是有了如下代码:
// 试着读取wkt失败,因该las文件版本为:1.2,只有最新得1.4版本才加入了wkt
char* WKT = lasreader->header.vlr_geo_ogc_wkt;
printf(" %c\n", WKT);
调试发现,char* WKT为空(0x000000000),不知所以,于是又进一步研究las文件格式发现,LAS1.3标准中对las文件得地理坐标得定义是按照GeoTIFF标准存储定义的:((来自:http://www.docin.com/p-593004989.html))
如此一来,就不得不去研究GEOTIFF标准,理解了TIFF标准和文件格式之后发现,通过Tag标签定义的地理坐标能够方便的通过索引标签来实现,但是我门不能将所有0-65535个标签全部通过索引来转换成其他格式的地理坐标系的描述(例如wkt格式),这种功能按说应该有人做了,便开始学习LibTiff库,然而目前还没有发现相关功能;
再后来在LASlib官网主页索引到该网址,然后通过阅读该网页中的内容,发现地理坐标定义部分的详细细节让参考LAS1.4标准,于是又百度LAS1.4,发现在1.4标准中有如下描述:
至此,才明白,只有LAS1.4才有wkt格式的CRS(Coordinate Reference System)定义,这就明白为啥我的代码中用LASlib库函数读取las文件的wkt为空了,因为我的las数据是1.2版本的;看来我下的LASlib(LASTools)库已经是符合LAS1.4标准了。
但是,为了能够提高算法接口对las数据的适应性,后续还是应该研究一下啊如何将GeoTIFF格式的坐标系描述转换城wkt描述,这样更方便利用GDAL库进行处理。