geotiffwrite
编写GeoTIFF文件
描述
例子
编写图像的JPEG文件GeoTIFF文件
从文件读取JPEG图像。
:=“boston_ovr”;imagefile = basename +“jpg”;RGB = imread (imagefile);
世界文件名来自图像文件的名字,把世界看文件,并创建一个引用对象。
worldfile = getworldfilename (imagefile);R = worldfileread (worldfile“地理”、大小(RGB));
图像数据和参考对象写入GeoTIFF文件。
文件名= basename +“.tif”;geotiffwrite(文件名,RGB, R)
创建一个地图,显示的数据文件。
图usamap (RGB, R) geoshow(文件名)
将经典的瓷砖BigTIFF TIFF
地理参考经典的TIFF文件转换为瓷砖BigTIFF文件从经典的TIFF文件中提取信息。首先,导入一个经典的波士顿和TIFF图像地图细胞引用对象。元数据从文件使用geotiffinfo
。
infilename =“boston.tif”;[R] = readgeoraster (infilename);信息= geotiffinfo (infilename);
指定标签包括瓷砖BigTIFF文件中。要做到这一点,从元数据提取GeoKey目录标签。然后,创建标签指定的长度和宽度。
地理标签= info.GeoTIFFTags.GeoKeyDirectoryTag;tiffTags =结构(“TileLength”,1024,“TileWidth”,1024);
写数据到一个新的GeoTIFF文件。指定文件格式BigTIFF使用“TiffType”
名称-值对。包括通过指定的标签“GeoKeyDirectoryTag”
和“TiffTags”
名称-值对。
outfilename =“boston_bigtiff.tif”;geotiffwrite (outfilename R“TiffType”,“bigtiff”,…“GeoKeyDirectoryTag”地理标签,…“TiffTags”tiffTags)
验证您写BigTIFF文件通过阅读和查询标签的文件。
biginfo = geotiffinfo (outfilename);biginfo.GeoTIFFTags.GeoKeyDirectoryTag
ans =结构体字段:GTModelTypeGeoKey: 1 GTRasterTypeGeoKey: 1 ProjectedCSTypeGeoKey: 26986 PCSCitationGeoKey:“国家平面区2001 NAD = 83”ProjLinearUnitsGeoKey: 9003
t = Tiff (outfilename);getTag (t)“TileLength”)
ans = 1024
getTag (t)“TileWidth”)
ans = 1024
关闭(t)
写WMS形象GeoTIFF文件
从WMS服务器读取数据。
nasaLayers = wmsfind (美国宇航局的,“SearchField”,“serverurl”);layerName =“bluemarbleng”;层=提炼(nasaLayers layerName,“SearchField”,“layername”,…“MatchType”,“准确”);[R] = wmsread(层(1));
GeoTIFF文件写入数据。
文件名= [layerName“.tif”];geotiffwrite(文件名,R)
视图中的数据文件。
图worldmap世界geoshow(文件名)
写康科德正色摄影单GeoTIFF文件
读了两个相邻正色摄影和组合。
X_west = imread (“concord_ortho_w.tif”);X_east = imread (“concord_ortho_e.tif”);X = [X_west X_east];
构建引用对象正色摄影以及它们的组合。
R_west = worldfileread (“concord_ortho_w.tfw”,“平面”、大小(X_west));R_east = worldfileread (“concord_ortho_e.tfw”,“平面”、大小(X_east));R = R_west;R。XLimWorld = [R_west.XLimWorld(1) R_east.XLimWorld(2)]; R.RasterSize = size(X);
编写图像GeoTIFF文件相结合。使用代码号码,26986,表明PCS_NAD83_Massachusetts投影坐标系。
coordRefSysCode = 26986;文件名=“concord_ortho.tif”;geotiffwrite(文件名,X, R,“CoordRefSysCode”,coordRefSysCode);
显示地图。
图mapshow(文件名)
写的子集GeoTIFF文件新GeoTIFF文件
进口GeoTIFF图像和地图细胞周围波士顿使用引用对象readgeoraster
。
(RA) = readgeoraster (“boston.tif”);
农作物数据到指定的限制xlimits
和ylimits
使用mapcrop
。
xlimits = (764318 - 767678);ylimits = (2951122 2954482);[B, RB] = mapcrop (RA, xlimits ylimits);
得到的信息GeoTIFF图像使用geotiffinfo
。从信息中提取GeoKey目录标签。
信息= geotiffinfo (“boston.tif”);关键= info.GeoTIFFTags.GeoKeyDirectoryTag;
写裁剪数据和GeoKey标记文件的目录。验证裁剪数据写入一个文件通过显示它。
文件名=“boston_subimage.tif”;geotiffwrite(文件名,B, RB,“GeoKeyDirectoryTag”键)图mapshow(文件名)
高程数据写入GeoTIFF文件
编写高程数据周围的南科罗拉多州博尔德峰GeoTIFF文件。首先,导入高程数据和地理信息的参考对象。
(Z, R) = readgeoraster (“n39_w106_3arc_v2.dt1”,“OutputType”,“双”);
指定GeoTIFF GeoKey目录标签信息文件作为结构。显示数据是通过指定一个相应的地理坐标系统GTModelTypeGeoKey
字段2。表明引用对象使用的帖子通过指定的(而不是细胞)GTRasterTypeGeoKey
字段2。显示的数据是参考指定的地理坐标参考系统GeographicTypeGeoKey
在4326年。
关键。GTModelTypeGeoKey = 2;关键。GTRasterTypeGeoKey = 2;关键。GeographicTypeGeoKey = 4326;
写数据和GeoKey标记文件的目录。
文件名=“southboulder.tif”;geotiffwrite(文件名,Z, R,“GeoKeyDirectoryTag”键),
验证数据被写入到文件显示在地图上。
usamap (40 [39], [-106 - -105]) g = geoshow(文件名,“DisplayType”,“网”);demcmap (g.CData)
这个示例中使用的海拔数据是由美国地质调查局。
编写包含RPC TIFF文件的元数据
创建一个示例与RPC TIFF文件的元数据。为此,创建一个数组的零和一个关联的引用对象。
一个= 0 (180360);latlim = (-90 - 90);lonlim = (-180 - 180);RA = georefcells (latlim lonlim,大小(A));
然后,创建一个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”类风湿性关节炎,“RPCCoefficientTag”rpctag)
写原始RPC系数GeoTIFF文件元数据
这个例子展示了如何编写RPC系数TIFF文件的元数据。在实际工作流程中,您将创建RPC系数根据TIFF扩展元数据规范。本例中没有显示如何创建有效的RPC的元数据的细节。模拟原始RPC的元数据,与RPC示例创建了一个样本TIFF文件元数据,然后使用imfinfo
生读这个RPC元数据,从文件未经加工的形式。然后写这个原始的例子RPC元数据到一个文件中使用geotiffwrite
函数。
创建原始RPC系数的元数据
模拟原始RPC的元数据,创建一个简单的测试文件和写一些RPC的元数据文件。对于这个测试文件,创建一个玩具形象和引用对象相关的图像。
myimage = 0 (180360);latlim = (-90 - 90);lonlim = (-180 - 180);R = georefcells (latlim lonlim、大小(模板);
创建一个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”模板,R,“RPCCoefficientTag”rpctag)
读生RPC系数的元数据
读取元数据从测试文件使用RPC系数imfinfo
函数。当遇到不熟悉的元数据,imfinfo
返回数据,未加工的UnknownTags
字段。请注意,UnknownTags
92双打的字段包含一个数组。这是原始的RPC系数元数据,从文件中读取未加工的形式。
信息= imfinfo (“myfile.tif”);info.UnknownTags
ans =结构体字段:ID: 50844抵消:10676值:[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系数提取元数据的信息结构。
值= info.UnknownTags.Value;
然后,构造一个RPCCoefficientTag
对象,通过原始RPC元数据(92双打)的数组作为参数。
rpcdata = map.geotiff.RPCCoefficientTag(值)
rpcdata = RPCCoefficientTag属性: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”模板,R,“RPCCoefficientTag”rpcdata)
验证数据写入文件,读取RPC使用TIFF文件的元数据geotiffinfo
。比较RPC返回元数据与元数据写入测试文件。
ginfo = geotiffinfo (“myfile2”);ginfo.GeoTIFFTags.RPCCoefficientTag
ans = RPCCoefficientTag属性: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]
输入参数
文件名
- - - - - -输出文件的名称和位置
特征向量|字符串标量
指定输出文件的名称和位置,作为一个字符串标量或特征向量。如果你的文件名
包括一个扩展,它必须“.tif”
或“.TIF”
。如果输入,一个
,至少是160年- 160年在大小、输出文件是一个瓷砖GeoTIFF文件。否则,geotiffwrite
组织与rows-per-strip输出文件。
数据类型:字符
|字符串
一个
- - - - - -地理图像或数据网格
米——- - - - - -N数字矩阵|米——- - - - - -N——- - - - - -P数字数组
地理图像或数据网格,指定为以下之一:
一个米——- - - - - -N数字矩阵代表一个灰度图像或数据网格
一个米——- - - - - -N——- - - - - -P数字数组代表彩色图像的多光谱图像,高光谱图像或数据网格
的坐标一个
地理和吗“WGS 84”
坐标系统,除非您指定“GeoKeyDirectoryTag”
或“CoordRefSysCode”
并指出不同的坐标系统。
数据类型:双
|单
|uint8
|uint16
|uint32
|uint64
|int8
|int16
|int32
|int64
|逻辑
R
- - - - - -空间参考信息
地理栅格引用对象|地图栅格引用对象
地理栅格空间参考信息,指定为引用类型的对象GeographicCellsReference
或GeographicPostingsReference
或栅格地图引用类型的对象MapCellsReference
或MapPostingsReference
。
如果你正在与投影坐标系和图像坐标系R
栅格地图参考对象,指定吗“GeoKeyDirectoryTag”
或“CoordRefSysCode”
相应的行动。
的geotiffwrite
函数中包含不使用信息GeographicCRS
房产地理栅格对象或引用ProjectedCRS
栅格地图参考对象的属性。
X
- - - - - -索引图像
米——- - - - - -N数字矩阵
索引图像数据,指定为一个米——- - - - - -N数字矩阵。
数据类型:uint8
|uint16
提出
- - - - - -彩色地图
c3数值矩阵
彩色地图与索引相关的图片X
指定为一个c3数字矩阵。有c颜色的彩色地图,每一个都由红、绿、蓝像素值。
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:“CoordRefSysCode”, 26986年
CoordRefSysCode
- - - - - -坐标参考系统代码
4326年
(默认)|正整数|字符串标量|特征向量
坐标参考系统代码的坐标数据,指定为逗号分隔组成的“CoordRefSysCode”
和一个正整数、字符串标量或特征向量。您可以指定坐标地理或投影坐标系。如果您指定一个字符串标量或字符向量的坐标系统,包括“EPSG:”
前缀。找到代码数字,看看EPSG注册表或GeoTIFF规范提示部分。
如果你指定的GeoKeyDirectoryTag
和CoordRefSysCode
坐标系统的代码CoordRefSysCode
优先于坐标系统中发现的关键GeoKeyDirectoryTag
。如果一个值指定了一个地理坐标系统和其他值指定投影坐标系,您就会收到一个错误。
如果你不指定一个值为这个参数,默认值是4326年
,这表明地理和坐标“WGS 84”
地理坐标系统。
例子:26986年
例子:“EPSG: 26986”
GeoKeyDirectoryTag
- - - - - -GeoKey目录标签
结构
GeoKey目录标签,指定为逗号分隔组成的“GeoKeyDirectoryTag”
和结构,指定GeoTIFF坐标参考系统和元信息。相匹配的结构包含字段名GeoTIFF GeoKey名称的规范。字段名称不区分大小写。结构可以从GeoTIFF信息结构,获得返回的geotiffinfo
在这个领域,GeoTIFFTags.GeoKeyDirectoryTag
。
如果你指定GTRasterTypeGeoKey
领域,geotiffwrite
忽略了它。这个GeoKey来源于的价值R
。如果你设置的某些领域GeoKeyDirectoryTag
不一致的设置,你收到一条错误消息。例如,如果R
是一个地理栅格引用对象和你指定一个吗ProjectedCSTypeGeoKey
字段或一组GTModelTypeGeoKey
字段1(投影坐标系),您就会收到一个错误。同样地,如果R
栅格地图参考对象和你没有指定吗ProjectedCSTypeGeoKey
字段或一个CoordRefSysCode
,或者是GTModelTypeGeoKey
字段设置为2(地理坐标系统),你收到一条错误消息。
RPCCoefficientTag
- - - - - -理性的多项式系数(RPC)标记
RPCCoefficientTag
对象
值可选的RPC TIFF标签,指定为逗号分隔组成的“RPCCoefficientTag”
和一个RPCCoefficientTag
对象。
TiffTags
- - - - - -TIFF标签
结构
TIFF标签的值在输出文件中,指定为逗号分隔组成的“TiffTags”
和结构。结构的字段名称匹配的TIFF TIFF类支持的标记名称。金宝app字段名称不区分大小写。
你不能设置大多数TIFF标签使用输入结构。
TiffTags
异常
BitsPerSample |
SubFileType |
GeoAsciiParamsTag |
SampleFormat |
SubIFD |
GeoDoubleParamsTag |
SamplesPerPixel |
TileByteCounts |
GeoKeyDirectoryTag |
StripByteCounts |
TileOffsets |
ModelPixelScaleTag |
StripOffsets |
ImageLength |
ModelTiepointTag |
ColorMap |
ImageWidth |
ModelTransformationTag |
函数集几个TIFF标签。相对应的字段名称TIFF标签,相应的字段值设定的功能,其允许的值(如果不同于TIFF类),及其数据类型指出在下表中。
自动TIFF标签
字段名 | 描述 |
---|---|
压缩 |
类型的图像压缩。默认值是 数值, |
PhotometricInterpretation |
类型的光度解释。字段名可以缩短 |
软件 |
文件的软件制造商。值设置为值 |
RowsPerStrip |
一个标量正整数值指定所需的行数每条输出文件。如果大小小于 |
TileWidth |
一个标量正整数值数量和16的倍数指定块的宽度。 |
TileLength |
一个标量正整数值数量和16的倍数指定块的长度。 |
TiffType
- - - - - -类型的TIFF文件
“classictiff”
(默认)|“bigtiff”
TIFF文件类型,指定为逗号分隔组成的“TiffType”
,要么“classictiff”
或“bigtiff”
。的“classictiff”
价值创造了一个经典的TIFF文件。的“bigtiff”
值创建一个BigTIFF文件。在BigTIFF格式,文件可以大于4 GB。
在使用“bigtiff”
格式允许您创建文件大于4 GB,您想写的数据必须装入内存。
提示
如果你正在与投影坐标系和图像坐标系
R
栅格地图参考对象,设置GeoKeyDirectoryTag
或CoordRefSysCode
相应参数,。检查GeoTIFF规范值以下参数:
“CoordRefSysCode”
地理坐标系统的价值“CoordRefSysCode”
投影坐标系统的价值GeoKey字段的名称
“GeoKeyDirectoryTag”
版本历史
之前介绍过的R2006aR2022b:geotiffwrite
不会接受引用或引用矩阵作为输入向量
的geotiffwrite
函数将不接受引用或引用矩阵作为输入向量在未来版本。使用地理栅格(指定为参考对象GeographicCellsReference
或GeographicPostingsReference
对象)或栅格地图(指定为参考对象MapCellsReference
或MapPostingsReference
对象)作为输入。引用对象有几个优势引用矩阵向量和引用。
取决于参考向量或引用矩阵是在地理或平面坐标,有不同的方法来更新你的代码。
地理坐标
如果引用向量或引用矩阵是在地理坐标,创建一个地理参考对象。
创建一个地理参考对象通过使用光栅的细胞
georefcells
函数。创建一个地理参考对象定期发布的光栅样品使用
georefpostings
函数。从一个参考向量转换为一个地理参考对象使用
refvecToGeoRasterReference
函数。从一个引用矩阵转换为一个地理参考对象使用
refmatToGeoRasterReference
函数。
一旦您创建了一个参考对象,替换使用的参考向量或引用矩阵在代码中引用对象。
平面地图坐标
如果引用向量或引用矩阵是在平面地图坐标,创建一个地图参考对象。
创建一个地图参考对象通过使用光栅的细胞
maprefcells
函数。创建一个地图参考光栅的对象或定期发布样品使用
maprefpostings
函数。从一个引用矩阵转换为地图参考对象使用
refmatToMapRasterReference
函数。
一旦您创建了一个参考对象,替换使用的参考向量或引用矩阵在代码中引用对象。
R2018a:出口数据包含超过4 GB BigTIFF格式
指定GeoTIFF文件的格式写成经典TIFF或BigTIFF使用TiffType
名称-值参数。BigTIFF格式允许您创建超过4 GB的文件大小。
Beispiel offnen
您有一张这本Beispiels geanderte版本。您这本Beispiel麻省理工学院古老Anderungen offnen吗?
MATLAB-Befehl
您有窗户的链接geklickt,汪汪汪der diesem MATLAB-Befehl entspricht:
在das MATLAB-Befehlsfenster Fuhren您窝Befehl军队Eingabe来自。浏览器unterstutzen MATLAB-Befehle。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。