raster-stats.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:auscover-api 作者: AusCover 项目源码 文件源码
def polyNetcdf(poly, nc, v):
  ncf = Dataset(nc)
  # affine transform(px width, row rotation, UL x-coord, col rotation, px height, UL y-coord)
  affine = Affine(0.1, 0.0, -180.0, 0.0, -0.1, 90.0)
  ndims = ncf[v].ndim
  if ndims == 2:
    array = ncf[v][:,:]
    ncf.close()
    stats = (extractDate(nc), zonal_stats(poly, array, affine=affine, nodata=-9999.0, stats=['median'])[0]['median'])
    return [stats]
  elif ndims == 3:      # assume it's time/lat/lon
    #print 'N-dims:', ndims
    cdftime = utime(ncf['time'].units)
    stats = []
    for i in range(ncf[v].shape[0]):
      array = ncf[v][i,:,:]
      dt = cdftime.num2date(ncf['time'][i]).strftime('%Y-%m-%d')
      stats.append((dt, zonal_stats(poly, array, affine=affine, nodata=-9999.0, stats=['median'])[0]['median']))
    ncf.close()
    #print stats
    return stats
  else:
    print 'Don\'t know what to do with %s dimensions!' % ndims
    sys.exit()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号