Problems with m_proj for specific area of the world
14 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Julien Bodart
am 30 Jun. 2017
Beantwortet: Silver
am 25 Sep. 2018
Hi,
I have recently switched from python and R to Matlab to use certain features that Matlab offers and Python doesn't. I have been looking at a lot of tutorials and info on my specific problem but cannot solve it.
I basically have Mean Sea Level Pressure data in a NetCDF file stored as lon lat and my data. I need to plot my data over and around Antarctica and also add coastlines using the m_map package but I keep getting error messages such as:
>> Output argument "ncst" (and maybe others) not assigned during call to
"\\filestore\MyFiles\StudentPG1\jb16006\Documents\MATLAB\private\mu_coast.m>mu_coast".
>> Error in m_coast (line 28)
h=mu_coast('default',varargin{:},'tag','m_coast');
Undefined function 'checkellipsoid' for input arguments of type 'double'.
>> Error in resetmstruct (line 29)
checkellipsoid(mstruct.geoid, 'resetmstruct', 'mstruct.geoid');
>> Error in axesm (line 139)
mstruct = resetmstruct(mstruct);
My code at the moment (which plots my data correctly but for the whole word) is as follows:
% Create overal world view of MSLP data
% ---------------------------------------
nc = netcdf.open('MSLP_lagged_15.nc','NC_NOWRITE');
high_15 = netcdf.getVar(nc,15,[0 0],[480 241],'double'); %(file, var number, Dim start, Dim end
lon = netcdf.getVar(nc,0,0,480) % (File, VarID, Start = 0 , End = 480)
lat = netcdf.getVar(nc,1,0,241) % (File, VarID, Start = 0 , End = 241)
for p = 1:480
for q = 1:241
if abs(high_15(p,q)) > 99 % get rid of 99 values if any and replace by NaN
high_15(p,q) = nan;
end
map(q,p) = high_15(p,q);
end
end
pcolor(lon,lat,map)
shading interp
h=colorbar('h')
%set(get(h,'title'),'string','ENSO MSLP Correlation');
hold on
contourf(lon,lat,map)
% ---------------------------------------
When I try to add:
>> m_coast('line');
m_grid('xaxis','bottom');
m_proj('stereographic','lats',90,'lons',45);
to get a focus on Antarctica, my data disappears completely and leaves me with a half white and half green figure of Antarctica's coastline but my data has disappeared completely. Is it an problem of ordering my code so that m_proj comes first before my data? And any idea why I always have error messages when I try to use packages such as m_coast? My Matlab version is MATLAB R2012b x64 and I have already reset my path just in case using:
>> restoredefaultpath;
rehash toolboxcache;
Any help on this would be useful.
Thanks.
0 Kommentare
Akzeptierte Antwort
Chad Greene
am 7 Jul. 2017
pcolorps(lat,lon,map)
antbounds('coast')
I'm not sure how your lat,lon data are formatted, but you might need to do
[Lon,Lat] = meshgrid(lon,lat);
or
[Lat,Lon] = meshgrid(lat,lon);
before calling pcolorps.
0 Kommentare
Weitere Antworten (1)
Silver
am 25 Sep. 2018
I have the same problem @Julien Bodart , did you get the solution ? If you did , pease share it so it helps.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Geodesy and Mapping finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!