RPCCoefficient 标签
有理多项式系数标签
说明
RPCCoefficientTag 包含有理多项式系数 (RPC)TIFF 标签,该标签描述了图像中纬度、经度和高度位置与行、列位置之间的关系。
RPCCoefficientTag 对象包含若干属性,其名称及允许值与技术说明 RPCs in GeoTIFF 技术说明中列出的标签元素相对应,该说明可通过 http://geotiff.maptools.org/rpc_prop.html 查看。
创建对象
使用
georasterinfo或geotiffinfo函数从 GeoTIFF 文件中读取RPCCoefficientTag对象。使用
map.geotiff.RPCCoefficientTag函数(详见此处说明)创建一个RPCCoefficientTag对象。
描述
rpctag = map.geotiff.RPCCoefficientTag 创建一个默认的 RPCCoefficientTag 对象。
rpctag = map.geotiff.RPCCoefficientTag( 创建一个 tiffTagValue)RPCCoefficientTag 对象,并将属性值设置为 tiffTagValue 中指定的 92 元素向量中的对应值。
输入参量
RPCCoefficientTag 属性的值,指定为一个包含 92 个元素的向量。
数据类型: double
属性
水平轴上的均方根偏差误差(单位:米),指定为数字 -1 或非负标量。仅当未指定 BiasErrorInMeters 时,该值才为 -1。
数据类型: double
均方根随机误差(单位:米),指定为数值 -1 或非负标量。该值仅在未指定 RandomErrorInMeters 时为 -1。
数据类型: double
线偏移量(以像素为单位),指定为非负标量,默认值为 0。
数据类型: double
样本偏移量(以像素为单位),指定为非负标量,默认值为 0。
数据类型: double
以度为单位的大地纬度偏移量,指定为数值标量。该值的范围可为 -90 <= value <= 90。
数据类型: double
以度为单位的大地经度偏移量,指定为数值标量。该值的范围可为 -180 <= value <= 180。
数据类型: double
大地高程偏移量(单位:米),指定为数值标量。
数据类型: double
线缩放因子(以像素为单位),指定为正标量。
数据类型: double
样本缩放因子(以像素为单位),指定为正标量。
数据类型: double
大地纬度刻度(单位:度),指定为范围 (0,90] 内的正标量。
数据类型: double
大地经度尺度(单位:度),指定为正标量,取值范围为 (0, 180]。
数据类型: double
大地高程标度因子(单位:米),指定为正标量。
数据类型: double
r(n) 方程分子中多项式的系数,指定为 20 元素的行向量,其类为 double。
数据类型: double
分母为多项式的系数,用于 r(n) 方程,指定为 20 元素的行向量,其类为 double。
数据类型: double
c(n) 方程分子中多项式的系数,指定为 20 元素的行向量,其类为 double。
数据类型: double
分母为多项式的系数,用于 c(n) 方程,指定为 20 元素的行向量,其类为 double。
数据类型: double
对象函数
double | Convert TIFF tag property values to row vector of doubles |
示例
调用 RPCCoefficientTag 类的构造函数,不带任何参数。
rpctag = map.geotiff.RPCCoefficientTag
rpctag =
RPCCoefficientTag with properties:
BiasErrorInMeters: -1
RandomErrorInMeters: -1
LineOffset: 0
SampleOffset: 0
GeodeticLatitudeOffset: 0
GeodeticLongitudeOffset: 0
GeodeticHeightOffset: 0
LineScale: 1
SampleScale: 1
GeodeticLatitudeScale: 1
GeodeticLongitudeScale: 1
GeodeticHeightScale: 1
LineNumeratorCoefficients: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
LineDenominatorCoefficients: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
SampleNumeratorCoefficients: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
SampleDenominatorCoefficients: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
此示例演示了如何将 RPC 系数元数据写入 TIFF 文件。在实际工作流程中,您需要根据 TIFF 扩展规范创建 RPC 系数元数据。此示例并未展示如何创建有效 RPC 元数据的具体方法。为模拟原始 RPC 元数据,该示例创建了一个带有 RPC 元数据的样本 TIFF 文件,随后使用 imfinfo 工具以原始未处理形式从文件中读取这些 RPC 元数据。该示例随后使用 geotiffwrite 函数将原始 RPC 元数据写入文件。
创建原始 RPC 系数元数据
要模拟原始 RPC 元数据,请创建一个简单的测试文件,并在文件中写入一些 RPC 元数据。对于此测试文件,请创建一个玩具图像及其关联的参考对象。
myimage = zeros(180,360); latlim = [-90 90]; lonlim = [-180 180]; R = georefcells(latlim,lonlim,size(myimage));
创建一个 RPCCoefficientTag 元数据对象并设置其中部分字段。该工具箱使用 RPCCoefficientTag 对象以人类可读的形式表示 RPC 元数据。
rpctag = map.geotiff.RPCCoefficientTag; rpctag.LineOffset = 1; rpctag.SampleOffset = 1; rpctag.LineScale = 2; rpctag.SampleScale = 2; rpctag.GeodeticHeightScale = 500;
将图像、关联的参考对象以及 RPCCoefficientTag 对象写入文件。
geotiffwrite('myfile',myimage,R,'RPCCoefficientTag',rpctag)
读取原始 RPC 系数元数据
使用 imfinfo 函数从测试文件中读取 RPC 系数元数据。当遇到不熟悉的元数据时,imfinfo 会将数据未经处理地返回至 UnknownTags 字段。请注意,UnknownTags 字段包含一个由 92 个双精度数组组成的数组。这是原始的 RPC 系数元数据,以未经处理的形式从文件中读取。
info = imfinfo('myfile.tif');
info.UnknownTagsans = struct with fields:
ID: 50844
Offset: 10680
Value: [-1 -1 1 1 0 0 0 2 2 1 1 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
将原始 RPC 元数据写入文件
将原始 RPC 元数据写入文件。首先,从信息结构中提取 RPC 系数元数据。
value = info.UnknownTags.Value;
然后,构造一个 RPCCoefficientTag 对象,并将原始 RPC 元数据(92 个双精度浮点数的数组)作为参数传递。
rpcdata = map.geotiff.RPCCoefficientTag(value)
rpcdata =
RPCCoefficientTag with properties:
BiasErrorInMeters: -1
RandomErrorInMeters: -1
LineOffset: 1
SampleOffset: 1
GeodeticLatitudeOffset: 0
GeodeticLongitudeOffset: 0
GeodeticHeightOffset: 0
LineScale: 2
SampleScale: 2
GeodeticLatitudeScale: 1
GeodeticLongitudeScale: 1
GeodeticHeightScale: 500
LineNumeratorCoefficients: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
LineDenominatorCoefficients: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
SampleNumeratorCoefficients: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
SampleDenominatorCoefficients: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
将 RPCCoefficientTag 对象传递给 geotiffwrite 函数,并将 RPC 元数据写入文件。
geotiffwrite('myfile2',myimage,R,'RPCCoefficientTag',rpcdata)
为验证数据是否已写入文件,请使用 geotiffinfo 从 TIFF 文件中读取 RPC 元数据。将返回的 RPC 元数据与写入测试文件的元数据进行比较。
ginfo = geotiffinfo('myfile2');
ginfo.GeoTIFFTags.RPCCoefficientTagans =
RPCCoefficientTag with properties:
BiasErrorInMeters: -1
RandomErrorInMeters: -1
LineOffset: 1
SampleOffset: 1
GeodeticLatitudeOffset: 0
GeodeticLongitudeOffset: 0
GeodeticHeightOffset: 0
LineScale: 2
SampleScale: 2
GeodeticLatitudeScale: 1
GeodeticLongitudeScale: 1
GeodeticHeightScale: 500
LineNumeratorCoefficients: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
LineDenominatorCoefficients: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
SampleNumeratorCoefficients: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
SampleDenominatorCoefficients: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
版本历史记录
在 R2015b 中推出
另请参阅
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)