WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

MMap lambert proj: problem beim longitude verschieben

 

intasys
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 07.04.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.04.2014, 17:46     Titel: MMap lambert proj: problem beim longitude verschieben
  Antworten mit Zitat      
Hallo Leute,

ich möchte für meine Daten mit der lambert projection einfach einen Ausschnitt der Nordhalbkugel plotten. Hier mein Beispiel.

Der Vektor longitude geht am Anfang von 0-360, Mmap toolbox braucht jedoch -180 bis 180, ein bekanntes Problem wie ich denke.

Seltsamerweise funktioniert der untere Code für die Daten test1.mat, aber nicht für test2.mat obwohl beide nur ein unerschiedlich großes Gitter haben. Vlt könnte jemand so nett sein, das ganz kurz auch mal bei sich zu probieren. Ich finde den Fehler einfach nicht. Bei anderen Projectionen (z.B. Mercator) funktioniert es.


(eigentlich ist nur der Teil mit dem Verschieben der longitude wichtig)
Code:
%% contourf section plot with lambert-proj

clc; close all; clear all;
%% Input (has to be set manually for each plot )

ddir=('E:\Texte\Studium\Bachelorarbeit\SeasonalCycle\Output\');
sdir=('E:\Texte\Studium\Bachelorarbeit\SeasonalCycle\Plots\');

load(strcat(ddir,'test2.mat'));

savefile='Sd_R2_NH';

value=T_mean; %in der Form (lon,lat)
lat=latitude;
lon=longitude;

%choose section displayed (in lat/lon)

lat_min=30;
lat_max=90;
lon_min=-180;
lon_max=180;

lat_grid_nr=5;      %number gridlines
lon_grid_nr=10;

value_max=6000; %higher values -> white

Titel='Temperatur';
colorbar_range=[-30 30];
colorbar_title='T in °C';

%%
% check longitude (Hier kommt dieses Verschieben der Longitude ins %Spiel)

if max(lon)>180
    east=find(lon<=180);
    west=find(lon>=180);
    %lon(west)=lon(west)-360;
    lon=cat(1,lon(west)-360,lon(east));
    value=cat(1,value(west,:),value(east,:));
end

value(value>value_max)=NaN;

figure
hold on;

m_proj('Lambert','long',[lon_min lon_max],'lat',[lat_min lat_max]);


m_contourf(lon,lat,value',80,'linecolor','none');
m_coast('color','k','linewidth',1);
m_grid('xtick',lon_grid_nr,'ytick',lat_grid_nr,'yaxislocation','left','fontsize',8);

title(Titel);

c=colorbar('vert');
caxis(colorbar_range);
zlab = get(c,'ylabel');
set(zlab,'String',colorbar_title);

%print('-f1','-depsc2',[sdir,strcat([savefile,'.eps'])]);
 


Heraus bekomme ich die folgenden Bilder für die beiden Datensätze.

VIelen Dank.

Test1_plot.jpg
 Beschreibung:

Download
 Dateiname:  Test1_plot.jpg
 Dateigröße:  43.78 KB
 Heruntergeladen:  590 mal
Test2_plot.jpg
 Beschreibung:
Ja, das ist das Problem wie ihr seht. Der einzige Unterschied zu Test1 ist, dass die Daten auf einem kleineren Gitter vorliegen.

Download
 Dateiname:  Test2_plot.jpg
 Dateigröße:  45.29 KB
 Heruntergeladen:  528 mal
Mmap_test.zip
 Beschreibung:
Hier sind die erwähnten Daten test1.mat und test2.mat drin.

Download
 Dateiname:  Mmap_test.zip
 Dateigröße:  99.24 KB
 Heruntergeladen:  511 mal
Private Nachricht senden Benutzer-Profile anzeigen


intasys
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 07.04.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.04.2014, 08:02     Titel:
  Antworten mit Zitat      
Hallo Leute,

hat jemand einfach nur eine Idee, womit das zusammenhängen könnte? Ihr könnt euch ja mal kurz die beiden hochgeladenen Plots ansehen. Der einzige Unterschied zwischen beiden ist, dass size(value) und dementsprechend auch size(lat) und size(lon) anders sind.

Wäre um Hilfe dankbar.

intasys
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.