Какие форматы данных лучше всего подходят для распространения открытых данных?

15

Каковы плюсы и минусы различных форматов данных (производительность, размер файла и т. Д.) При рассмотрении открытого распространения данных?

Наша организация хочет публиковать данные как открытые данные. Тем не менее, нет четкого представления о том, какие форматы данных использовать. Конечно, чем более «открыт» формат данных, тем проще его использовать.

Какие форматы данных являются наиболее «открытыми» и, следовательно, наиболее пригодными для распространения открытых данных, принимая во внимание следующие типы ?:

  • растровые данные (я думаю: GeoTIFF, Erdas Imagine IMG?)
  • векторные данные (я думаю: GML, CSV, ESRI Shapefile, DXF?)
  • табличные данные (я думаю: CSV?)
  • 3D-данные (я думаю: CityGML?)
  • 3D point cans / LIDAR (я думаю: ЛАС?)
  • я что-то забыл здесь?

Кроме того, если есть документация об открытых форматах данных, мне очень интересно, если вы хотели бы поделиться.

Марк Вершуур
источник
2
для вектора, вы также можете рассмотреть геойсон и kml
neuhausr
1
ты видел эту ссылку? gis.stackexchange.com/questions/61744/...
4
Необходимо различать форматы обмена данными и формат хранения данных. Например, geojson - это отличный формат обмена данными, но он не подходит для хранения данных. Я предполагаю, что вас интересует только формат для распространения данных (т.е. обмен данными). Это верно?
Девдатта Тенгше
@DevdattaTengshe: Хороший вопрос! На данный момент целью является распространение данных в наиболее удобном формате обмена.
Марк Вершуур
Спасибо всем за отзывы. Кроме того, некоторые советы о типах файлов для использования в зависимости от размера файла будут очень полезными.
Марк Вершуур

Ответы:

5

Инициатива открытых данных города Вены ( http://data.wien.gv.at ) использует Geoserver для предоставления доступа к растровым и векторным геоданным через сервисы Geoserver WMS и WFS . Это имеет много преимуществ: пользователи могут загружать данные в различных форматах для автономного использования (например, geojson, KML или сжатые шейп-файлы) или использовать сервисы в реальном времени, встраивая их в онлайн-карты или ГИС-проекты.

Подземье
источник
Вот что мы делаем здесь: maps.gcc.tas.gov.au/data Нет причины, по которой вы не можете использовать GeoServer и для непространственных таблиц.
Алекс Лейт
5

Для табличного CSV. Excel в лучшем случае чрезмерно сложен, а в худшем полностью недоступен. Доступ недоступен, а PDF - это пощечина.

Для геопространственного использования geojson, это текст, он хорошо поддерживается и не имеет технических ограничений, которые имеет единственный другой жизнеспособный формат (шейп-файл). Кроме того, если у вас нет веских причин, это должно быть в WGS84, учитывая, что большинство пользователей будут в другом состоянии и не захотят плоскость состояний.

Кальвин
источник
5

Мне очень нравится 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, который я вижу, - это не очень хорошая поддержка в стандартных ГИС-пакетах, таких как ArcGIS и QGIS (хотя я очень хотел бы, чтобы это исправили!).

РЕДАКТИРОВАТЬ Некоторые другие пакеты, которые поддерживают NetCDF

Некоторые стандартные языки программирования, которые поддерживают NetCDF (хотя, честно говоря, все, что может читать HDF, может читать NetCDF4):

Для пользователей по математике и статистике у вас есть:

Конкретно в ГИС:

  • GDAL преобразует данные для вас
  • Аналогично FME
  • ArcGIS поддерживает NetCDF (хотя в моем опыте это не лучший уровень поддержки)
  • Существует QGIS плагин в разработке

Если вы хотите быстро просмотреть файл NetCDF, я бы использовал кроссплатформенный Panoply от NASA. И если вы заинтересованы в большем, UCAR Unidata имеет список программного обеспечения .

om_henners
источник
NetCDF - ужасный выбор, он действительно не поддерживает вне Python. Это может иметь хорошую поддержку, но TIFF, PNG и JPEG имеют поддержку буквально на каждом языке.
Кэлвин
2
Я категорически не согласен. Я отредактировал свой ответ выше, чтобы показать быстрый список пакетов, которые поддерживают NetCDF. По моему опыту, это формат выбора для любых многомерных научных данных (например, астрономия и метеорология). PNG и TIFF не являются плохими для распространения растровых данных, и, конечно, просмотр данных прост, но они плохо масштабируются для больших объемов многомерных данных. Не когда - либо использовать JPEG для распространения научных данных (хотя , если вы отправляете кому -то карту он работает отлично).
om_henners
4

Я бы сказал:

  • Шейп-файлы или GML для векторных данных
  • .obj-файлы для 3D моделей
  • .xyz (простой CSV) для облаков точек
  • CSV для табличных данных
  • GeoTIFF для растровых данных

Эти форматы легко читаются программным обеспечением с открытым исходным кодом и легко преобразуются в любой другой формат, необходимый для конкретных приложений.

Также +1 за открытие данных!

til_b
источник
2
Мне будет интересно узнать, почему вы предложили Shapefiles и GML для векторных данных. Оба они ужасные форматы. Единственное преимущество GML в том, что это формат OGC.
Девдатта Тенгше
1
Шейп-файлы читаются во многих приложениях и могут быть преобразованы во что-то другое без проблем. Что ты предлагаешь?
til_b
3
избегать шейп-файлов. Они работают, но у них есть серьезные технические ограничения.
nickves
1
Так что вы предлагаете, что не имеет технических ограничений шейп-файлов?
til_b
2
@til_b GeoTIFF - хороший формат с точки зрения «открытости». Тем не менее, для хранения (или предлагая его для загрузки) это ужасно, потому что файлы могут быть огромными. Знаете ли вы об открытом растровом формате, который предлагает сжатие без потерь?
Марк Вершуур
1

Фактически этот же вопрос возник в opendata.SE: Какие форматы наиболее полезны для публикации геопространственных данных?

Так что, надеюсь, я не нарушаю никаких правил, цитируя свой собственный ответ:

Мой опыт, создание карт из нескольких правительственных наборов данных:

Для точечных данных лучше всего подходит CSV со столбцами «lat» и «lon». Очень легко работать с широким спектром инструментов, включая текстовые редакторы, электронные таблицы и т. Д. Есть два недостатка:

  1. GDAL требует .vrtсопутствующий файл.
  2. Называние latи lonстолбцов не является абсолютно стандартным. Многие инструменты довольно либеральны в том, что они принимают.

Для линий и полигонов, в порядке убывания предпочтения:

  1. GeoJSON. С ним легко работать, а возможность редактирования в текстовом редакторе или с помощью geojson.io является реальным бонусом, если вам нужно выполнить поиск / замену, удалить пару странных объектов или скопировать и вставить из одного файла в другой. Другое преимущество заключается в том, что разработчики, не являющиеся ГИС, могут понять это. Единственные проблемы, с которыми я сталкиваюсь, это когда кто-то предоставляет данные, например, MultiPoint вместо Point.
  2. Shapefile. Очень широко поддерживается, но с двумя неудобными моментами. Во-первых, это набор файлов, поэтому вы должны передать .zip и распаковать его. Во-вторых, имена полей ограничены 10 символами. Их трудно редактировать для обычного человека, не являющегося ГИС.
  3. KML / KMZ. Они часто имеют много несоответствующих затрат (стили, значки и т. Д.), А атрибуты иногда кодируются в виде мини-таблиц HTML, с которыми действительно сложно работать. По крайней мере, вы можете легко редактировать их с помощью инструментов Google.

Честно говоря, лучший ответ, вероятно, "все из них". Сделайте всем одолжение и опубликуйте данные в CSV (если точка), GeoJSON, ZIP-архиве Shapefile и KMZ.

Стив Беннетт
источник