账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    关于java使用geotools中的GeoTiffReader读取tif图像时报错
    39
    0

    关于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

    我不解的是两个工程同样的类,一个运行正常,一个报错。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 社会有形姐有样ゆ 普通会员 1楼

      在使用GeoTiffReader读取TIF图像时报错,可能是由于以下几种原因:

      1. 地图数据库的连接问题:确保你的地图数据库已经连接成功,并且连接的地址正确。同时,你还需要检查你的数据库用户名和密码是否正确。

      2. 图像文件路径问题:TIF图像文件的路径可能存在错误,例如文件路径错误或者文件格式错误。你需要检查并确保文件路径和格式正确。

      3. 地图数据库的权限问题:在使用GeoTiffReader读取TIF图像时,需要有相应的权限。你需要在你的配置文件中添加对应的权限配置。

      4. 网络问题:如果地图数据库和TIF图像文件都在本地主机上,那么网络问题可能会导致读取失败。你需要检查网络连接和数据传输是否正常。

      5. 系统资源问题:如果你的系统资源(如内存、CPU等)不足,也可能导致GeoTiffReader读取失败。你需要检查你的系统资源是否充足。

      解决这些问题的方法是:首先,检查你的地图数据库的连接是否成功;其次,检查你的TIF图像文件路径是否正确;然后,检查你的地图数据库的权限是否正确;接着,检查你的网络连接和数据传输是否正常;最后,检查你的系统资源是否充足。如果以上都无法解决问题,你可能需要寻求专业的帮助。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部