上次说到关于TIFF格式图像的Metadata实在头文件里边,一般是按照XML格式存储的,标准的TIFF格式文件都会跟一个.tfw的文件。这个文件可以用一般的文件编辑器打开,例如写字本、记事本、WORD之类的,在它里边存储的是6个double类型的数字,有了这些数字就可以正确地进行coordinate变换了。那要是没有这个文件怎么办?那就只能自己提取了,就像下面这样:(当然,还没有优化,提取出来的可能会相当多,且大多自己用不上)
//首先是得到输入的图像文件的Metadata:
File file = new File( "E:\\TIF_picture\\srtm_60_05\\srtm_60_05.tif");
ImageReader reader = getImageReaderBySuffix("tiff");
reader.setInput(ImageIO.createImageInputStream(file), true,false);
IIOMetadata metadata = reader.getImageMetadata(0);
//显示得到的这些TIFFFIELD:
String[] names = metadata.getMetadataFormatNames();
for (int i = 0; i < names.length; ++i) {
System.out.println();
System.out.println("METADATA FOR FORMAT: " + names[i]);
displayTree(metadata.getAsTree(names[i]), 0);
}
//显示TIFFFIELD的树状结构:
String name = node.getNodeName();
System.out.print("><" + name);
if (node.hasAttributes()) {
NamedNodeMap attrs = node.getAttributes();
for (int i = 0, ub = attrs.getLength(); i < ub; ++i) {
Node attr = attrs.item(i);
System.out.print(" " + attr.getNodeName() + "="+attr.getNodeValue());
}
}
if (node.hasChildNodes()) {
。。。。
}
在这儿不方便排版,谅解一下哈。。。
输出:(截取一部分就是了)
><TIFFField number=33550 name=ModelPixelScaleTag>
><TIFFDoubles>
><TIFFDouble value=8.333333333333334E-4/>
><TIFFDouble value=8.333333333333334E-4/>
><TIFFDouble value=0.0/>
></TIFFDoubles>
></TIFFField>
><TIFFField number=33922 name=ModelTiePointTag>
><TIFFDoubles>
><TIFFDouble value=0.0/>
><TIFFDouble value=0.0/>
><TIFFDouble value=0.0/>
><TIFFDouble value=115.0/>
><TIFFDouble value=40.0/>
><TIFFDouble value=0.0/>
></TIFFDoubles>
></TIFFField>
比对一下同学帮我用什么ARCGIS之类的软件提取到的:
0.0008333333
0.0000000000
0.0000000000
-0.0008333333
115.0004166667
39.9995833333
精度上好像没有那么高,够用了。而且,在oracle spatial里边实际使用的时候,也只用115和40就够了。
分享到:
相关推荐
"解决Android Studio Gradle Metadata特别慢的问题" Android Studio是Android应用程序开发的官方IDE,它提供了许多功能来帮助开发者快速构建和测试Android应用程序。然而,在使用Android Studio时,有时可能会遇到...
"metadata-extractor-2.8.1" 是一个Java库,专门用于从各种图像和音频文件中提取元数据。这个库是由Dave Coffin创建并维护的,它支持大量的文件格式,包括JPEG、TIFF、PNG、PDF等。元数据通常包含关于文件的详细信息...
Flink 无法获取 Kafka Topic Metadata 异常及解决 一、问题现象 在使用 Kafka 0.11.0.1 和 Flink 1.4 进行实时计算时,Flink 无法获取 Kafka Topic Metadata,报以下异常:org.apache.kafka.common.errors....
EXIF(Exchangeable Image File Format)是嵌入在JPEG、TIFF等图像文件中的一个信息块,包含了拍摄时间、相机设置、地理位置等大量信息。通过metadata-extractor,我们可以轻松地获取到这些信息,例如: ```java ...
1. **metadata-extractor**: 这是一个开源Java库,由Drew Noakes开发,能够从多种文件类型(如JPEG、TIFF、PDF、PSD等)中提取元数据。元数据通常包括创建日期、相机型号、曝光时间、GPS坐标等信息,这些对于图像...
这个库的目的是简化开发人员的工作,使他们能够轻松访问和解析图像的EXIF、GPS、XMP等信息。 EXIF(Exchangeable Image File Format)是嵌入在JPEG和其他图像文件中的元数据标准,记录了拍摄设备的参数,如曝光时间...
这将读取第一个图像页,如果 TIFF 文件包含多页,你可以通过改变索引来访问其他页。 3. **写入 TIFF 图像**:同样,使用 `ImageWriter` 可以将图像数据写入 TIFF 文件。首先,创建一个 `ImageWriter` 实例,然后...
在本文中,我们将深入探讨Laravel开发中的"metadata"概念,以及如何在实际项目中运用这一功能。"metadata"在编程领域通常指的是关于数据的数据,它提供了额外的信息,帮助我们更好地理解和处理数据。在Laravel框架中...
老的DLL库在获取接口实例时,会触发“RFC_METADATA_GET”,7700版本的SAP可能没有了这个函数。 解决的办法: 升级sapnco的SDK。附件是2022.07发布的SDK,直接替换即可使用。亲测.net4.0-4.8的版本均可正常使用。 ...
metadata-extractor由David Cochrane开发,它支持读取多种格式的图像文件,尤其是JPEG,同时还可处理TIFF、PNG、GIF等其他常见格式。这个库的核心在于其能够解析多种不同的元数据标准,如EXIF、IPTC、XMP、Photoshop...
本篇文章将深入探讨如何利用`DatabaseMetaData`生成数据库的DLL(在关系型数据库中,DLL通常指的是数据定义语言,如SQL的CREATE TABLE等语句),以及这个过程中的关键知识点。 1. **什么是DatabaseMetaData?** `...
"metadata-extractor-master.zip" 是一个包含 "metadata-extractor" 项目的源代码压缩包,这个项目主要用于从图像和文档中提取元数据。元数据是关于数据的数据,它提供了关于文件内容、创建者、时间戳、位置等信息。...
"kotlin-metadata"库是Kotlin生态系统中的一个重要组成部分,它专门用于处理Kotlin编译器生成的元数据。元数据在编译过程中记录了关于源代码的各种信息,比如类型信息、注解、函数签名等,这对于反射和编译时代码...
在IT领域,尤其是在图像处理和数字媒体管理中,"mediautil+metadata-extractor"是一个用于提取和查看EXIF(Exchangeable Image File Format)信息的工具。这个工具包含两个核心组件:`meduautil-1.0.jar`和`metadata...
赠送jar包:metadata-extractor-2.6.2.jar; 赠送原API文档:metadata-extractor-2.6.2-javadoc.jar; 赠送源代码:metadata-extractor-2.6.2-sources.jar; 赠送Maven依赖信息文件:metadata-extractor-2.6.2.pom;...
在 MyEclipse 开发环境中,`.metadata` 文件夹是一个至关重要的组成部分,它存储了工作空间(workspace)的所有配置信息。这个文件夹包含了MyEclipse 的各种设置、项目元数据、插件状态等,使得开发环境能够根据用户...
【环境配置】Collecting package metadata (current_repodata.json)_ failed的问题解决
2. `jquery.metadata.js`、`jquery.metadata.pack.js`、`jquery.metadata.min.js`:这三个文件是jQuery Metadata的核心源码,分别代表原始未压缩版本、打包版本和压缩后的最小化版本。开发者可以根据项目需求选择...
Reflect Metadata API解决了这个问题,它允许我们在类、属性、方法等上添加自定义的数据,这些数据可以在运行时被查询和使用。 首先,我们需要理解元数据(Metadata)。元数据是在程序中附加的数据,它提供了关于...
赠送jar包:metadata-extractor-2.6.2.jar; 赠送原API文档:metadata-extractor-2.6.2-javadoc.jar; 赠送源代码:metadata-extractor-2.6.2-sources.jar; 赠送Maven依赖信息文件:metadata-extractor-2.6.2.pom;...