I have a India shapefile.I show it in matlab a=shaperead(file);s=mapshow(s);I want to show only upper portion of india behind an Image.But it is not coming.If it is possible.

 Réponse acceptée

KSSV
KSSV le 6 Mai 2016

0 votes

clc; clear all ;
file = 'cpc_rfe_v2.0_sa_dly.bin.20020101.nc' ;
lon = ncread(file,'lon') ;
lat = ncread(file,'lat') ;
RF = ncread(file,'RF') ;
%
path = [pwd filesep 'India State wise with telangana' filesep 'india27-11.shp'] ;
S = shaperead(path) ;
n = length(S) ;
x = zeros(n,1) ; y =zeros(n,1) ;
pcolor(lon,lat,RF') ; shading interp ;
hold on
for i = 1:n
x = S(i).X ; y = S(i).Y ;
plot(x,y,'k')
% rfi = interp2(lon,lat,RF',x,y) ;
end

Plus de réponses (1)

KSSV
KSSV le 6 Mai 2016
Modifié(e) : KSSV le 6 Mai 2016

0 votes

S=shaperead(file);
will give you a structure. For your file (from the last question) has the following information:
Geometry: 'Polygon'
BoundingBox: [2x2 double]
X: [1x1198 double]
Y: [1x1198 double]
id: 24
State: 'Uttarakhand'
Area__sqkm: 53483
GODA_STATE: ''
new: 1
Pick up the region (each state has different 'i'), and use plot(S(i).X,s(i).Y) on the plot you wanted.
And next question?

Community Treasure Hunt

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

Start Hunting!

Translated by