首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取tiff文件的坐标

获取tiff文件的坐标
EN

Stack Overflow用户
提问于 2012-06-15 14:05:13
回答 1查看 3.3K关注 0票数 2

我使用GeoTiffIIOMetadataAdapter类获取geoTiff元数据:

代码语言:javascript
运行
复制
    String filename = pathToMyTiffFile;
    FileImageInputStream f = new FileImageInputStream(
            new RandomAccessFile(filename, "r"));

    // Look through ImageIO readers
    Iterator iter = ImageIO.getImageReaders(f);
    IIOMetadata imdata = null;
    GeoTiffIIOMetadataAdapter geo_data;
    while (iter.hasNext() && imdata == null) {
        ImageReader reader = (ImageReader) iter.next();
        reader.setInput(f, true);
        String reader_name = reader.getFormatName().toLowerCase();
        if (reader_name.equalsIgnoreCase("tif")) {
            // Get Image metadata
            imdata = reader.getImageMetadata(0);
            geo_data = new GeoTiffIIOMetadataAdapter(imdata);
            if (geo_data != null &&
                    geo_data.getGeoKeyDirectoryVersion() == 1) {
                geo_data.getModelTiePoints(); //here i get [0.0,0.0,0.0,173084.9999999999,5845515.0,0.0]
            }
        }
    }

如何将此数组提取/转换为通常的纬度/经度坐标?173084.9999999999,5845515.0是tiff文件左上点的坐标,我说的对吗?

提前感谢!

EN

Stack Overflow用户

回答已采纳

发布于 2012-06-26 16:16:18

答案是:是的,它是我的tiff文件的左上角。我的提夫在http://spatialreference.org/ref/epsg/32612/。要使用我需要的地理工具将坐标转换为wsg84( http://spatialreference.org/ref/epsg/4326/ ):

代码语言:javascript
运行
复制
    CoordinateReferenceSystem sourceCRS = CRS.decode("EPSG:4326", true);
    CoordinateReferenceSystem targetCRS = CRS.decode("EPSG:32612");
    MathTransform transformToEpsg4326 = CRS.findMathTransform(targetCRS, sourceCRS);
    double lon = geo_data.getModelTiePoints()[3];// 175784.99999999997 - X
    double lat = geo_data.getModelTiePoints()[4];// 5842215.0   - Y
    GeometryFactory geometryFactory = new GeometryFactory(new PrecisionModel(), 32612);
    Geometry pointUpperLeft = geometryFactory.createPoint(new Coordinate(lon, lat));
票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11045412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档