2017-08-10 90 views
0

我对GIS数据和GDAL库非常陌生。我试图将.GRC/.GRD文件转换为.tif文件。这样我就可以读取任何地图中的像素并绘制它们。我的主要目标是读取栅格并在任何地图上绘制该图像。我试图通过以下代码将其转换为图像。使用GDAL库将光栅文件转换为tif文件

String grcFile = "E:\\Reproject.grc"; 
    gdal.AllRegister(); 
    Driver tiffDriver = gdal.GetDriverByName("GTiff"); 
    Dataset dataset = gdal.Open(grcFile, 0); 

    Dataset tiffDataset = tiffDriver.CreateCopy("D:\\img.tif", dataset); 

在这里我得到了输出文件img.tif但已损坏,我不能打开使用Windows照片查看器。我在代码中做了什么错误吗?

注意:我还得到一个XML文件(img.tif.aux.xml)作为具有.GRC文件中所有区域细节的输出。

+0

很可能无法在Windows照片查看器中打开图像而不会损坏。什么是数据类型(Float32,Byte,..)图像中有多少个波段?尝试调查新图像(打印一些像素值)。 –

+0

如何从.GRC文件读取像素或Lat Lon? – Mdumanoj

回答

0

除非特别需要使用GDAL工具,也许看看一款软件叫在这里提供FME工作台:

https://www.safe.com/convert/tiff/geotiff/

它是一种更加用户友好的转换栅格数据类型的方式。您可以在客户端查看FME支持的所有数据类型,因此您无需担心与Windows照片查看器的损坏或兼容性问题!

+1

我也可以建议@Mdumanoj,你也可以在** gis.stackexchange **上提出这个问题。该平台上有一个更大的gdal/raster数据社区,因为它的专业化! – Alex