Мені дуже подобається NetCDF за безперервні дані / масиви (тобто растри). Плюси для NetCDF такі:
- NetCDF самоописується (тобто визначення даних доступні через заголовок файлу), тому вам не потрібно вводити вторинні файли метаданих
- NetCDF4 дозволяє зберігати n-мірні дані (використовуючи формат даних HDF5 на диску, що є бонусом, оскільки це дозволяє файлам розміром з вашою ОС). Це відбувається з розумним стисненням і швидким доступом до даних. Зауважте, що NetCDF3 не підтримує n-мірні дані та має обмеження розміру файлу приблизно 2 Гб в 32-бітній системі.
- NetCDF - це відкритий формат, тому доступ до даних, як правило, не є проблемою, а також через загальні бібліотеки. Наприклад, у python досить просто від scipy прочитати фрагмент даних:
from scipy.io import netcdf
f = netcdf.netcdf_file('source.nc')
print(nc.dimensions) #take a look at the dimensions of the data
print(nc.variables) #A dictionary containing all the variables
nc.variables["some_data"].dimensions #The dimensions this variable is in, e.g. lat, lon
out_array = nc.variables["some_data"].data
f.close() #and we're done
Єдиний недолік NetCDF4, який я бачу, - це не дуже велика підтримка стандартних GIS-пакетів, таких як ArcGIS та QGIS (хоча я дуже хотів би це виправити!).
EDIT Деякі інші пакети, які підтримують NetCDF
Деякі стандартні мови програмування, які підтримують NetCDF (хоча справедливо, все, що може читати HDF, може читати NetCDF4):
Для користувачів математики та статистики ви маєте:
Зокрема у ГІС:
- GDAL конвертуватиме дані для вас
- Так само FME
- ArcGIS підтримує NetCDF (хоча це не найкращий рівень підтримки в моєму досвіді)
- У розробці є плагін QGIS
Якщо ви хочете швидко подивитися файл NetCDF, я б використовував міжплатформенний Panoply від NASA. А якщо вас цікавить більше, UCAR Unidata має список програмного забезпечення .