GDAL是要走的路。据我所知,没有官方的 Android 版本,但是有些人已经成功地让它在 Android 上运行。例如,Nutiteq 在其AdvancedMap3D示例项目的 libs 文件夹中有一个构建。将两个 armeabi 文件夹的内容放在项目的 lib 文件夹中,您应该能够访问 GDAL 包。
然后看看Java页面中的GDAL。查看 gdalinfo.java 示例以了解如何加载和检查 GDAL 数据集的各个部分。要重新投影您的数据集,您将执行以下操作:
SpatialReference sr = new SpatialReference();
sr.ImportFromProj4("+proj=merc +datum=WGS84");
String result[] = new String[1];
sr.ExportToPrettyWkt(result, 1);
String oldProjection = mDataset.getProjection();
String newProjection = result[0];
Dataset newDataset = gdal.AutoCreateWarpedVRT(mDataset, oldProjection, newProjection, gdalconst.GRA_NearestNeighbour, 0.0);
Dataset savedDataset = mDriver.CreateCopy(outpath, newDataset, 0, new String[] { "COMPRESS=LZW", "PREDICTOR=2" }, null, null);
newDataset.delete();
savedDataset.delete();
您可能需要进行一些调整,但这应该可以帮助您完成大部分工作。