转换tiff到netcdf

时间:2018-09-02 04:28:05

标签: python tiff netcdf netcdf4 rasterio

我尝试将tiff转换为netcdf文件。错误就是索引错误:

<?php $data = "&#039;Twas The Night Before Christmas"; ?>
<form method="post" name="my_form">
  <input type="text" name="note" id="note" value="" /> 
  <input type="button" value="Edit" onclick='editNote("<?php echo $data; ?>")' />
  <!-- other elements here ... --> 
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
function editNote(data){
    $('#note').val(data);
}

</script>

错误是该索引错误:数据数组的大小不符合slice。有人可以看看并帮助我做错了什么。非常感激!

2 个答案:

答案 0 :(得分:0)

我将xarray用于此类事情。为您拥有的每个变量创建xarray DataArray(似乎对您来说是SHIA)。使用它创建DataSet和相关的DataArray。不要忘记将坐标变量设置为“数据集”作为坐标。

请参阅: http://xarray.pydata.org/en/stable/io.html

还可以将netcdf / tiff转换为数据帧,然后再次返回。但除非您必须,否则我不建议您这样做。 Beause netcdf是多维数据,数据帧将所有数据表示为克隆到一个矩阵。

答案 1 :(得分:0)

我想到的最简单的方法是使用GDAL工具。

# Convert TIF to netCDF
gdal_translate -of netCDF -co "FOMRAT=NC4" ia.tif ia.nc

# Convert SHP to netCDF
gdal_rasterize -of netCDF -burn 1 -tr 0.01 0.01 input.shp output.nc