How to create a chloropleth map using the mean of the shapefiles sub-fields from a raster file?

2 views (last 30 days)
I am trying to create a chloropleth map which would show the means over the sub-regions of the shapefile using a raster file (the raster file is attached here and named as "Raster.mat". The raster file's latitude and longitude are attached here as "RasterLat.mat" and "RasterLon.mat", respectively. The shapefile is attached as "District_Boundaries.zip" with this question. Kindly help me with the same.
Thanks.

Answers (1)

KSSV
KSSV on 21 Nov 2022
Edited: KSSV on 21 Nov 2022
  1 Comment
Abhishek Chakraborty
Abhishek Chakraborty on 21 Nov 2022
Hi. I tried running the code as per the suggestions but I am unable to get any results. Here is my code:
shapefile = 'C:\Users\District_Boundaries.shp' ;
S = shaperead(shapefile) ;
N = length(S) ;
for i = 1:N
plot(S(i).X,S(i).Y)
hold on
end
info=geotiffinfo("F:\India\Result.tif");
[x,y]=pixcenters(info); % x is Long and y is Lat
[X,Y]=meshgrid(x,y);
data = load("C:\Users\Abhishek\Downloads\Raster.mat") ;
[nx,ny,d] = size(data) ;
%%Extract data
iwant = cell(d,N) ;
for i =1:d
A = data(:,:,i) ;
for j = 1:N
idx = inpolygon(X(:),Y(:),S(i).X,S(i).Y) ;
iwant{i,j} = A(idx) ;
end
end

Sign in to comment.

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!