擅长:python、mysql、java
<p>其他人提到了使用ArcGIS、IDL和Matlab的商业解决方案,但这里有一种方法可以使用Python,使用netCDF4模块读取netcdf文件,使用matplotlib创建图像。netCDF4模块将读取NetCDF3和netCDF4文件,还将读取通过OPeNDAP服务提供的远程NetCDF(或其他文件)。下面我使用OPeNDAP服务读取地形数据,因此您应该能够在不做任何更改的情况下运行程序。netCDF4模块可能有点难以构建,但它包含在Python(x,y)、enthough Canopy和Continuum Anaconda发行版中。</p>
<pre><code>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)
</code></pre>
<p>它产生这个图像:<img src="https://i.stack.imgur.com/0uUQ6.png" alt="enter image description here"/></p>