Azzera filtri
Azzera filtri

How to retrieve multiband data using shape file?

9 visualizzazioni (ultimi 30 giorni)
gauri
gauri il 14 Mag 2024
Modificato: gauri il 14 Mag 2024
I have kept the data and shape file on following link
I am using the code for extracting seven band data as follows;
% Get image info:
DataFile='C:\working_bpt\bands\Bagpat_7Bands.dat'
[Z,R] = readgeoraster(DataFile);
disp(size(Z));
p = R.ProjectedCRS;
[x,y] = worldGrid(R);
[lon,lat] = projinv(p,x,y);
ShapeFile='C:\working_bpt\bands\BAGHPAT.shp'
S = shaperead(ShapeFile);
info = shapeinfo(ShapeFile);
crs = info.CoordinateReferenceSystem;
[S(1).lon,S(1).lat] = projinv(crs,S(1).X,S(1).Y);
% Remove trailing nan from shapefile
rx = S(1).lon(1:end-1);
ry = S(1).lat(1:end-1);
logical_mask = inpolygon(S(1).lon,S(1).lat,rx,ry);
% Use the logical mask to extract data
extracted_data = Z(logical_mask);
disp(extracted_data);
it is giving following informations
DataFile =
'C:\working_bpt\bands\Bagpat_7Bands.dat'
5490 5490 7
ShapeFile =
'C:\working_bpt\bands\BAGHPAT.shp'
disp(size(extracted_data));
1 9
OR
ShapeFile =
'C:\working_bpt\bands\BAGHPAT.shp'
disp(extracted_data);
1794 1842 1829 1858 1934 1968 2315 2635 2578
My target is to retrieve the data from seven band data of dimensions
number of lines = 5490
number of samples = 5490
number of bands =7
and dimensions of output file are supposed to be
number of lines =1153
number of samples = 1315
number of bands =7
I request you to kindly look on it and suggest me how to get seven band data using shape file.

Risposte (0)

Prodotti


Release

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by