コマンド ライン ツールを使用して画像 (joed、png、gif) に変換したい netcdf ファイルがあります。
ライブラリ名と、おそらくそれがどのように行われるかへのリンクを教えてください。
よろしくデビッド
他の人は、ArcGIS、IDL、および Matlab を使用した商用ソリューションについて言及していますが、ここでは Python を使用してそれを行う 1 つの方法を示します。netCDF4 モジュールを使用して netcdf ファイルを読み取り、matplotlib を使用して画像を作成します。netCDF4 モジュールは、NetCDF3、NetCDF4 ファイルの両方を読み取り、OPeNDAP サービスを介して提供されるリモート NetCDF (またはその他のファイル) も読み取ります。以下では、OPeNDAP サービスを使用して地形データを読み込んでいるので、変更せずにプログラムを実行できるはずです。netCDF4 モジュールの構築は少し難しいかもしれませんが、Python(x,y)、Enthought Canopy、Continuum Anaconda ディストリビューションに含まれています。
import matplotlib.pyplot as plt
import netCDF4
# open a local NetCDF file or remote OPeNDAP URL
url = 'http://www.ngdc.noaa.gov/thredds/dodsC/relief/ETOPO1/thredds/ETOPO1_Bed_g_gmt4.nc'
nc = netCDF4.Dataset(url)
# examine the variables
print nc.variables.keys()
print nc.variables['z']
# sample every 10th point of the 'z' variable
topo = nc.variables['z'][::10,::10]
# make image
plt.figure(figsize=(10,10))
plt.imshow(topo,origin='lower')
plt.title(nc.title)
plt.savefig('image.png', bbox_inches=0)
この画像を生成します:
NetCDFを操作するためのソフトウェアの公式リストは次のとおりです。
http://www.unidata.ucar.edu/software/netcdf/software.html
何かあれば、おそらくそこにあります。しかし、興味があれば、この件についていくつかコメントがあります。
どのプラットフォームを使用していますか?Linux、Windowsなど?答えが何であれ、自分で作成せずにコマンドラインツールを見つけるのに苦労するでしょう。
JavaやPython、およびいくつかのGDALライブラリなどを使用して何かを作成するのはおそらく比較的簡単です。これがある場合は、ArcGISを使用して同様の機能を作成しましたが、これを実現するのは非常に難しいため、コマンドラインではありません。
直面する問題の一部は、コマンドラインを使用する際に、事前にセットアップをエクスポートする方法に関する追加情報が必要になることですが、この情報は非GUI環境には役立ちません。
グレースケールかカラーかなどの質問。これらを定義する必要があるため、どの色を色付けするか。青から赤へのカラーランプを使用すると、赤は高い値または低い値になります。色はどのように値に割り当てられますか。それは段階的でしょうか、それとも段階的でしょうか。たとえば、値0〜10は単一の色に対応し、次に10〜20は別の色に対応します。
これはコマンドラインではありませんが、「NcView」が機能する場合があります。
これは、新しいパッケージ ncplot (pypi または conda-forge から入手可能) を使用して実行できます。コマンド ライン ツールまたは Python で動作し、NetCDF ファイルからインタラクティブなプロットを生成します。
コマンドラインで次のように実行します。
ncplot infile.nc
Python で (できれば Jupyter ノートブックで)。次の手順を実行してください。
from ncplot import ncplot
ncplot("infile.nc")
IDVはNetCDFの優れた視覚化ツールですが、私が知る限り、コマンドラインインターフェイスはありません。
Matlabをお勧めします。NetCDFの読み取りおよび書き込み機能と、広範なプロットライブラリがあります...おそらく最高の1つです。次に、matlabコードをコンパイルして、コマンドラインから実行できます。
コマンドライン機能を使用して、コーディングを行う必要なく単純なプロットを生成できるようにする場合は、
1.ncview
ncview file.nc
「ファイルに出力」で ps プロットを生成できますが、カラーバーの凡例が含まれていないため、あまり役に立ちません。
2.パノプリ
2番目のポイントアンドクリック方法は、使用することです
panoply
こちらから入手できます: https://www.giss.nasa.gov/tools/panoply/
3. CDO
3 番目の方法は、コマンド ラインから CDO を使用することです (ただし、MAGICS++ サポートを含めてコンパイルしたことを確認してください)。
たとえば、次のコマンドを使用して、netcdf ファイル内のデータの単純な PNG マップを作成できます。
cdo shaded,device="png" in.nc plot
「plot_variablename.png」というファイルを提供します
ここのドキュメントを参照してください: https://code.mpimet.mpg.de/projects/cdo/wiki/Tutorial#Plotting
これは役立つかもしれません:
http://gmt.soest.hawaii.edu/gmt/html/man/grdimage.html
ここにいくつかの例: web.ics.purdue.edu/~ecalais/teaching/gmt/GMT_6.pdf