"
关于java使用geotools中的GeoTiffReader读取tif图像时报错:找不到类 javax.media.jai.PlanarImage 的错误
代码放上:
import java.io.File; import org.geotools.coverage.grid.GridCoverage2D; import org.geotools.gce.geotiff.GeoTiffReader; import org.geotools.geometry.Envelope2D; import org.opengis.referencing.crs.CoordinateReferenceSystem;
public class ImageExt { public static void main(String[] args) { GetImageExt("E:\database\overview\\J46\J46D001001.tif"); } public static String GetImageExt(String strImageUrl){ String strExtent = ""; try { String ImageUrl=strImageUrl.replace("\", "\\");; File ImageFile=new File(ImageUrl); GeoTiffReader reader=new GeoTiffReader(ImageFile); GridCoverage2D coverage = reader.read(null); CoordinateReferenceSystem crs = coverage.getCoordinateReferenceSystem2D(); Envelope2D coverageEnvelope = coverage.getEnvelope2D(); double coverageMinX = coverageEnvelope.getBounds().getMinX(); double coverageMaxX = coverageEnvelope.getBounds().getMaxX(); double coverageMinY = coverageEnvelope.getBounds().getMinY(); double coverageMaxY = coverageEnvelope.getBounds().getMaxY();
} catch (Exception e) {
// TODO: handle exception
}
System.out.println(coverageMinX);
return strExtent;
}
}
报错:
Exception in thread "main" java.lang.NoClassDefFoundError:
javax/media/jai/ImageLayout at
zy3dms.ImageExt.GetImageExt(ImageExt.java:18) at
zy3dms.ImageExt.main(ImageExt.java:11) Caused by:
java.lang.ClassNotFoundException: javax.media.jai.ImageLayout at
java.net.URLClassLoader.findClass(URLClassLoader.java:381) at
java.lang.ClassLoader.loadClass(ClassLoader.java:424) at
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at
java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 2 more
我不解的是两个工程同样的类,一个运行正常,一个报错。
"
这个问题本人已解决,在File ImageFile=new File(strImageUrl);
打断点,开启调试模式,
断点运行到GeoTiffReader reader=new GeoTiffReader(ImageFile);
时,按F5(进入函数内部),但是没有运行函数,而是跳到classloader.class。
为了加载类时唯一,改为org.geotools.gce.geotiff.GeoTiffReader reader=new org.geotools.gce.geotiff.GeoTiffReader(ImageFile);
运行正常。
图片是GeoTiffReader类的内部函数。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。