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

NetCDF bearbeiten und in ArcGIS einbinden

 

Sotsch
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 03.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.09.2012, 15:51     Titel: NetCDF bearbeiten und in ArcGIS einbinden
  Antworten mit Zitat      
Hallo liebe Leutz,

mein Problem ist, das ich die NetCDF ( Network Common Data Form )
Files nicht bearbeiten kann, es ist eine Europakarte mit
Windgeschwindigkeiten (hab noch eine mit Windrichtungen),
öffnen kann ich sie ( ncid = netcdf.open('meine_Datei','NC_WRITE')
aber ich komm nicht an die Daten ran.

Nachdem ich sie mit Mathlab bearbeitet habe werde, will ich sie in
ArcGiS einbinden.
ArcGIS kann sie zwar aber einbinden aber das Koordinaten bezugsystem
(KBS) ist murks, da jedem Rasterpunkt der eigentlich 20x20km etsprocht
1 Längen- und Breitengrad zugeordnet wird. Besser wäre jedem
Rasterpunkt 0.01714285°*0.01714285° zuzuordnen, damit das KBS
wieder stimmt.

1) Ich muss das Koordinaten bezugssystem ändern.
z.Z. ist das Raster in 20x20km eingeteilt und x:y ist 187:148
--> leider ist das schlecht, ich muss ihm beibringen, das in Längen und
Breitengraden anzugeben. s.o.

2)muss ich den Mittelwert aller Daten in der NetCDF-Datei bilden, deltaT
entspricht 30 min und der Datensatz umfasst das ganze Jahr.

3) 3. muss ich das mit ingesamt 10 Datensätzen machen und nochmal
10 für die Windrichtung.

und 4) das in ein Format bringen, das ArcGIS mich versteht

mit dem befehl ncdisp('meine_Datei','/')
bekomme ich diese info:

-----------------------------------------------------------------------------

Source:
___________M:\meine_Datei
Format:
___________ classic
Global Attributes:
______time = 52560
______x = 187
______ y = 148
Variables:
______base_lr
______Size: 1x1
______ Dimensions:
______Datatype: single
______Attributes:
____________ long_name = 'Base state temperature lapse rate'
____________units = 'K/ln(Pa)'
___dim_i
______Size: 1x1
______Dimensions:
______Datatype: int32
______Attributes:
____________long_name = 'Domain I dimension'
____________units = 'dimensionless'
___xsouth
______Size: 1x1
______Dimensions:
______Datatype: single
______Attributes:
____________long_name = 'I location in coarse of domain (1,1)'
____________ units = 'dimensionless'
___map_proj_code
______Size: 1x1
______ Dimensions:
______ Datatype: int32
______Attributes:
____________ long_name = 'Map projection code'
____________ units = 'dimensionless'
__dim_j
______ Size: 1x1
______Dimensions:
______ Datatype: int32
______Attributes:
____________ long_name = 'Domain J dimension'
____________units = 'dimensionless'
___base_slp
______Size: 1x1
______ Dimensions:
______ Datatype: single
______ Attributes:
____________ long_name = 'Base state sea level pressure'
____________ units = 'Pa'
__iice
______Size: 1x1
______ Dimensions:
______ Datatype: int32
______Attributes:
____________long_name = 'Ice present'
____________units = 'dimensionless'
__coarse_grid_ds
______ Size: 1x1
______Dimensions:
______Datatype: single
______Attributes:
____________long_name = 'Coarse grid distance'
____________units = 'Km'
___coarse_dim_i
______ Size: 1x1
______Dimensions:
______Datatype: int32
______Attributes:
____________long_name = 'Coarse domain I dimension'
____________units = 'dimensionless'
___conefac
______ Size: 1x1
______Dimensions:
______Datatype: single
______ Attributes:
____________ long_name = 'Cone factor'
____________ units = 'dimensionless'
__stdlat_1
______Size: 1x1
______Dimensions:
______Datatype: single
______Attributes:
____________long_name = 'Standard latitude 1'
____________units = 'degree_north'
___exp_flag
______Size: 1x1
______Dimensions:
______Datatype: int32
______Attributes:
____________long_name = 'Domain expansion flag'
____________units = 'dimensionless'
__coarse_dim_j
______ Size: 1x1
______ Dimensions:
______ Datatype: int32
______ Attributes:
____________long_name = 'Coarse domain J dimension'
____________ units = 'dimensionless'
__base_slt
______Size: 1x1
______ Dimensions:
______Datatype: single
______ Attributes:
____________ long_name = 'Base state sea level temperature'
____________units = 'K'
__stdlat_2
______ Size: 1x1
______ Dimensions:
______ Datatype: single
______ Attributes:
____________ long_name = 'Standard latitude 2'
____________ units = 'degree_north'
__ptop
______Size: 1x1
______Dimensions:
______ Datatype: single
______ Attributes:
____________ long_name = 'Top pressure in model'
____________units = 'Pa'
__coarse_cenlat
______Size: 1x1
______Dimensions:
______ Datatype: single
______Attributes:
____________long_name = 'Coarse center latitude'
____________units = 'degree_north'
___exp_dim_i
______Size: 1x1
______Dimensions:
______Datatype: int32
______ Attributes:
____________long_name = 'Expanded dimension I'
____________units = 'dimensionless'
___coarse_cenlon
______ Size: 1x1
______ Dimensions:
______ Datatype: single
______Attributes:
____________ long_name = 'Coarse center longitude'
____________ units = 'degree_east'
__stdlon
______Size: 1x1
______Dimensions:
______Datatype: single
______Attributes:
____________long_name = 'Standard longitude'
____________ units = 'degree_east'
__ exp_dim_j
______ Size: 1x1
______Dimensions:
______Datatype: int32
______ Attributes:
____________ long_name = 'Expanded dimension J'
____________units = 'dimensionless'
__ xwest
______ Size: 1x1
______Dimensions:
______Datatype: single
______Attributes:
____________long_name = 'J location in coarse of domain (1,1)'
____________ units = 'dimensionless'
__coarse_ratio
______ Size: 1x1
______ Dimensions:
______Datatype: int32
______ Attributes:
____________long_name = 'Coarse ratio'
____________units = 'dimensionless'
__grid_ds
______Size: 1x1
______Dimensions:
______Datatype: single
______ Attributes:
____________long_name = 'Grid distance'
____________ units = 'Km'
__ x
______ Size: 187x1
______Dimensions: x
______Datatype: int16
______Attributes:
____________units = 'degrees_east'
____________long_name = 'Pseudo Longitude'
____________actual_range = [0.00e+000 1.86e+002]
__ y
______ Size: 148x1
______Dimensions: y
______Datatype: int16
______Attributes:
____________units = 'degrees_north'
____________long_name = 'Pseudo Latitude'
____________actual_range = [0.00e+000 1.47e+002]
___ longidots
______ Size: 187x148
______Dimensions: x,y
______Datatype: single
______Attributes:
____________units = 'degrees_east'
____________long_name = 'Longitude'
____________actual_range = [-2.32e+001 4.22e+001]
__ latitdots
______Size: 187x148
______Dimensions: x,y
______ Datatype: single
______Attributes:
____________ units = 'degrees_north'
____________long_name = 'Latitude'
____________ actual_range = [3.28e+001 6.16e+001]
__ time
______Size: 52560x1
______ Dimensions: time
______ Datatype: double
______ Attributes:
____________units = 'minutes since 1948-01-01 00:00:00'
____________ long_name = 'Time'
____________delta_t = '0000-00-00 00:30:00'
____________ actual_range = [2.84e+007 2.89e+007]
__wspd
______Size: 52560x187x148
______ Dimensions: time,x,y
______Datatype: int16
______Attributes:
____________long_name = '4xDaily wind speed'
____________units = 'm/s'
____________ valid_range = [0.00e+000 2.00e+002]
____________ var_desc = 'Wind Speed\n'
____________ scale_factor = 0.01
____________ add_offset = 100
____________ missing_value = 3.28e+004
____________ actual_range = [0.00e+000 6.07e+001]
>>

----------------------------------------------------------------------------------
[die unterstriche dienen der besseren Lesbarkeit]
Bin für jede Hilfe dankbar
Private Nachricht senden Benutzer-Profile anzeigen


Sotsch
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 03.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.09.2012, 15:05     Titel:
  Antworten mit Zitat      
hmm, ist das zu schwer für euch?

hab mir jetzt MEXNC installiert, aber das ist jetzt auch nciht so der bringer.
wenn ich jetzt z.B

Dimensions:
_________time = 52560
_________x = 187
_________y = 148

Änder will,
das x nicht mehr 187 ist sondern 0.017blabla° * 187 sein soll,

Wie mach ich das'?

Oder kann ich einen header schreiben, der das zurecht rückt?
Die Datei ist 2,8 Gig groß und ich bekomm max solche infos

>> info = nc_info('meineNetCDF_File')

info =

______Name: '/'
_____Datatype: []
____Attribute: [1x1 struct]
____Dimension: [3x1 struct]
______Dataset: [30x1 struct]
_______Group: []
_______Format: 'NetCDF-3 Classic'
____Filename: [1x66 char]

kann ich sie überhaupt ändern/bearbeiten, ausser das ich etwas hinzufüge,.. wie bilde ich den Mittelwert der Daten? Wie komme ich an die Informationen überhaupt ran?
Private Nachricht senden Benutzer-Profile anzeigen
 
Sotsch
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 03.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.10.2012, 16:27     Titel:
  Antworten mit Zitat      
habs allerdings kämpf ich mit dem KBS.

%Hallo Fellas
%1) Ersetzt mit 'Suchen und ersetzen' Filelocation+Filename mit dem
% Dateipfad und Dateinamen der zutreffenden NetCDF-Datei etwa sowas
% " 'M:\zzz_Arbeit RLI\__Winlass\___DAten\wspd.50m.2010.nc' " ,
%2) Ersetz mit"Suchen und Ersetzen" TimeLine durch den Wert den ihr in der
% time-Variablen findet (z-Achse)
%3) und mit "Suchen und Ersetzen" auch 'Laufvariable' duch die, die ihr
% auslesen wollt,... siehe --> 'ncdisp('Filelocation+Filename','/')'

%nc Open
ncid=netcdf.open( 'Filelocation+Filename','NOWRITE')%Nowrite könnt ihr lassen.

%Visually inspect a NetCDF file, hiding the attributes.
ncdisp('Filelocation+Filename','/')% Vorwärts-Shlash steht für 'alle', könnt ihr lassen

%lesen der Daten
data=ncread ('Filelocation+Filename','Laufvariable'); %hier x,y,time

%dann um die Zeitachse zusammenzuschieben
ave=sum(data,3)/TimeLine % data,3 steht für bei data die 3 Achse


% wspd
% Size: 187x148x52560
% Dimensions: x,y,time
% Datatype: int16
% Attributes:
% long_name = '4xDaily wind speed'
% units = 'm/s'
% valid_range = [0.00e+000 2.00e+002]
% var_desc = 'Wind Speed\n'
% scale_factor = 0.01
% add_offset = 100
% missing_value = 3.28e+004
% actual_range = [0.00e+000 5.77e+001]

ave=ave*0.01+100 %also geteilt durch den Scale_factor + add_offset

%nun kann man ave in ein ASCII file übertragen und fertig
% der ASCII HEDAR solle so Ausssehen (ohne Leerzeichen, am Anfang)
% ncols Anzahl Reihen
% nrows Anzahl Spalten (ohne Hedar)
% xllcorner Startpunkt x-Achse
% yllcorner Startpunkt y-Achse
% cellsize 0,00083333333333333 (das 1km, bei 20km halt 0,17142857)
% NODATA_value -9999
%dann eure daten ins ASCII-File schupsen und ab damit in ArcGIS, umwandeln in Rasterdateien etc.

%Als Beispiel:
%
%%nc Open
%ncid = netcdf.open( 'M:\zzz_Arbeit RLI\__Winlass\___DAten\wspd.50m.2010.nc','NOWRITE')
%
%%Visually inspect a NetCDF file, hiding the attributes.
%ncdisp('M:\zzz_Arbeit RLI\__Winlass\___DAten\Windspeed\wspd.50m.2010.nc','/')
%
%%lesen der Daten
%data=ncread ('M:\zzz_Arbeit RLI\__Winlass\___DAten\wspd.50m.2010.nc','wspd');
%
%ave=sum(data,3)/52560;
%ave=ave*0.01+100;
%
%das Simikolon nicht vergessen, sonst dauerst zu lang ;)
% und so habt ihr die NetCDF_Datein sauber ausgeleden.

NetCDF.m
 Beschreibung:

Download
 Dateiname:  NetCDF.m
 Dateigröße:  2.53 KB
 Heruntergeladen:  277 mal
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 - 2025 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.