Кто-нибудь имеет достаточно опыта работы с NetCDF и HDF5, чтобы рассказать о них как о способе хранения научных данных?
Я использовал HDF5 и хотел бы читать / писать через Java, но интерфейс, по сути, представляет собой оболочку для библиотек C, что меня сбивает с толку, поэтому NetCDF кажется интригующим, но я почти ничего об этом не знаю.
edit: мое приложение предназначено только для регистрации данных, поэтому я получаю файл в формате с самоописанием. Для меня важными функциями являются возможность добавлять произвольные метаданные, иметь быстрый доступ на запись для добавления к байтовым массивам и иметь одновременный доступ с одним записывающим / множественным читателем (настоятельно рекомендуется, но не обязательно. Документы NetCDF говорят, что у них есть SWMR, но не не говорят, поддерживают ли они какой-либо механизм, гарантирующий, что два писателя не могут открыть один и тот же файл одновременно с катастрофическими результатами). Мне нравится иерархический аспект HDF5 (в частности, я люблю иерархию направленного ациклического графа, гораздо более гибкую, чем иерархия, подобная «обычной» файловой системе), сейчас читаю документы NetCDF ... если он позволяет использовать только один набор данных для каждого файла, то, вероятно, для меня это не сработает. :(
обновление выглядит так, как будто NetCDF-Java читает из netCDF -4 файла, но записывает только из файлов netCDF-3, которые не поддерживают иерархические группы. штопать.
обновление 2009-июл-14: я начинаю сильно расстраиваться из-за HDF5 в Java. Доступная библиотека не так уж и хороша, и в ней есть несколько основных препятствий, связанных с уровнями абстракции Java (составными типами данных). Отличный формат файла для C, но похоже, что я просто проиграл. > :(