Экспорт матрицы в геотиф

Я обрабатываю данные Landsat8 с помощью MATLAB. Я использую loadLandSat8Функция для чтения в данных. Я делаю некоторые вычисления и объединяю полосы R, G и B, используя:

VIS = cat(3,R,G,B)

и я также создаю матрицу соотношений полос,NDWI

NDWI = B-R./(B+R)

Теперь я хочу экспортировать обаVISа такжеNDWIтак что я могу открыть их в ArcGis. Это означает, что мне нужно написать файл геотифов с пространственной информацией.

loadLandSat8 Функция, на которую я ссылался выше, читает в следующей структуре (например, при чтении только одной полосы):

         Filename: '/Users/icepodmacpro/Documents/DEMs/Landsat/LC8023...'
      FileModDate: '28-Jan-2017 11:50:18'
         FileSize: 131282818
           Format: 'tif'
    FormatVersion: []
           Height: 7971
            Width: 8231
         BitDepth: 16
        ColorType: 'grayscale'
        ModelType: 'ModelTypeProjected'
              PCS: ''
       Projection: ''
           MapSys: ''
             Zone: []
     CTProjection: 'CT_PolarStereographic'
         ProjParm: [7x1 double]
       ProjParmId: {7x1 cell}
              GCS: 'WGS 84'
            Datum: 'World Geodetic System 1984'
        Ellipsoid: 'WGS 84'
        SemiMajor: 6378137
        SemiMinor: 6.3568e+06
               PM: 'Greenwich'
PMLongToGreenwich: 0
        UOMLength: 'metre'
UOMLengthInMeters: 1
         UOMAngle: 'degree'
UOMAngleInDegrees: 1
        TiePoints: [1x1 struct]
       PixelScale: [3x1 double]
       SpatialRef: [1x1 map.rasterref.MapPostingsReference]
        RefMatrix: [3x2 double]
      BoundingBox: [2x2 double]
     CornerCoords: [1x1 struct]
     GeoTIFFCodes: [1x1 struct]
      GeoTIFFTags: [1x1 struct]

Ясно, что информация мне нужна здесь.Как я могу использовать это, чтобы написатьVIS (или жеNDWI ) к tif или любому файлу с правильной геопространственной информацией, чтобы я мог просмотреть его в ArcGIS? Примечание. Я не хочу, чтобы VIS отображался как черно-белое изображение. Мне нужны все 3 группы.

RefMatrix = 
           0         -30
          30           0
      102870     -736770

а также

GeoTIFFCodes дает код проекции 32767. Я пытался geotiffwrite включая справочную матрицу и код проекции:

geotiffwrite('test.tif',VISt,Ref,'CoordRefSysCode',32767)

Но я получаю следующую ошибку:

Ошибка при использовании geotiffwrite>validateCoordRefSysCode (строка 718)
'CoordRefSysCodeПараметр должен указывать географическую или проекционную систему координат.

Ошибка в geotiffwrite>validateParams (строка 413)
coordRefSysCode = validateCoordRefSysCode(S.CoordRefSysCode);

Ошибка в geotiffwrite>validateInputs (строка 340)
Params = validateParams(Params);

Ошибка в geotiffwrite (строка 235)
[filename, A, cmap, R, Params] = validateInputs( ...

Я также экспортировал каждую отдельную полосу в виде текста ascii с заголовком, который читает Arc. Это работает, но у меня много изображений, и я не хочу объединять все группы вместе в Arc.

0 ответов

Другие вопросы по тегам