Quais formatos de dados são melhores para a distribuição de dados abertos?

15

Quais são os prós e os contras dos diferentes formatos de dados (desempenho, tamanho do arquivo etc.) ao considerar a distribuição de dados abertos?

Nossa organização deseja publicar dados como dados abertos. No entanto, não há uma ideia clara sobre quais formatos de dados usar. Obviamente, quanto mais "aberto" for um formato de dados, mais fácil será usar.

Quais formatos de dados são os mais "abertos" e, portanto, mais utilizáveis ​​para a distribuição de Dados Abertos ao considerar os seguintes tipos:

  • dados rasterizados (estou pensando: GeoTIFF, Erdas Imagine IMG?)
  • dados vetoriais (estou pensando: GML, CSV, ESRI Shapefile, DXF?)
  • dados tabulares (estou pensando: CSV?)
  • Dados 3D (estou pensando: CityGML?)
  • Ponto 3D poderia / LIDAR (Estou pensando: LAS?)
  • estou esquecendo alguma coisa aqui?

Além disso, se houver documentação sobre os formatos de dados abertos, estou muito interessado em compartilhar.

Mark Verschuur
fonte
2
para o vetor, você também pode considerar GeoJSON e kml
neuhausr
4
Você precisa diferenciar entre os formatos de troca de dados e o formato de armazenamento de dados. O geojson, por exemplo, é um excelente formato de troca de dados, mas é péssimo como um formato de armazenamento de dados. Suponho que você esteja preocupado apenas com o formato de distribuição de dados (ou seja, troca de dados). Isso está correto?
Devdatta Tengshe
@DevdattaTengshe: Bom ponto! Por enquanto, a intenção é distribuir os dados no formato de troca mais conveniente.
Mark Verschuur
Obrigado a todos pelo feedback. Além disso, algumas dicas sobre os tipos de arquivo a serem utilizados vs o tamanho do arquivo seriam muito úteis.
Mark Verschuur

Respostas:

5

A iniciativa de dados abertos da cidade de Viena ( http://data.wien.gv.at ) usa o Geoserver para fornecer acesso aos dados geográficos de varredura e vetor via serviços Geoserver WMS e WFS . Isso tem muitas vantagens: Os usuários podem baixar dados em diferentes formatos para uso offline (por exemplo, geojson, KML ou Shapefiles compactados) ou usar os serviços ao vivo incorporando-os em mapas on-line ou projetos GIS.

underdark
fonte
É o que fazemos aqui: maps.gcc.tas.gov.au/data Não há razão para que você também não possa usar o GeoServer para tabelas não espaciais.
Alex Leith
5

Para CSV tabular. O Excel é, na melhor das hipóteses, excessivamente complicado e, na pior das hipóteses, totalmente inacessível. O acesso não é acessível e o PDF é um tapa na cara.

Para uso geoespacial geojson, seu texto é bem suportado e não possui as restrições técnicas que o único outro formato viável (shapefile) possui. Além disso, a menos que você tenha um motivo muito bom, ele deve estar no WGS84, tendo em mente que a maioria dos usuários estará em outro estado e não desejará um plano de estado.

Calvin
fonte
5

Eu gosto bastante do NetCDF para dados contínuos / de matriz (ou seja, rasters). Os profissionais do NetCDF são:

  • O NetCDF é auto-descritivo (ou seja, as definições de dados estão disponíveis no cabeçalho do arquivo), assim você não precisa fornecer arquivos de metadados secundários
  • O NetCDF4 permite o armazenamento de dados n-dimensionais (usando o formato de dados HDF5 no disco, o que é um bônus, pois permite arquivos do tamanho do seu sistema operacional). Isso vem com compactação razoável e acesso rápido aos dados. Observe que o NetCDF3 não suporta dados n-dimensionais e possui um limite de tamanho de arquivo de aproximadamente 2 GB em um sistema de 32 bits.
  • O NetCDF é um formato aberto, portanto, acessar os dados geralmente não é um problema também através de bibliotecas comuns. Por exemplo, em python, é simples o suficiente do scipy para ler uma fatia de dados:
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

A única desvantagem do NetCDF4 que eu vejo é o excelente suporte em pacotes GIS padrão como ArcGIS e QGIS (embora eu adorasse ser corrigido!).

EDIT Alguns outros pacotes que suportam o NetCDF

Algumas linguagens de programação padrão que oferecem suporte ao NetCDF (embora seja justo, qualquer coisa que possa ler HDF pode ler NetCDF4):

Para usuários de matemática e estatísticas, você tem:

Especificamente no SIG:

  • GDAL irá converter os dados para você
  • Da mesma forma FME
  • O ArcGIS suporta o NetCDF (embora não seja o melhor nível de suporte na minha experiência)
  • Existe um QGIS Plugin em desenvolvimento

Se você quiser olhar rapidamente para um arquivo NetCDF, usaria o Panoply de plataforma cruzada da NASA. E se você estiver interessado em mais, o UCAR Unidata tem uma lista de software .

om_henners
fonte
O NetCDF é uma péssima escolha, realmente não tem suporte fora do python. Pode ter um bom suporte, mas tiffs, png e jpeg têm suporte em literalmente todos os idiomas.
Calvin
2
Eu discordo fortemente. Editei minha resposta acima para mostrar uma lista rápida de pacotes que suportam o NetCDF. Na minha experiência, é um formato de escolha para qualquer dado científico multidimensional (por exemplo, astronomia e meteorologia). PNG e TIFF não são ruins para a distribuição de dados rasterizados, e certamente é fácil visualizá-los, mas eles não se adaptam bem a grandes quantidades de dados multidimensionais. Não nunca usar JPEG para distribuir dados científicos (embora se você está enviando alguém um mapa ele funciona perfeitamente bem).
Om_henners
4

Eu diria:

  • Shapefiles ou GML para dados vetoriais
  • Arquivos .obj para modelos 3D
  • .xyz (CSV simples) para nuvens de pontos
  • CSV para dados tabulares
  • GeoTIFF para dados rasterizados

Esses formatos são facilmente legíveis pelo Open Source Software e são facilmente transformáveis ​​em qualquer outro formato necessário para aplicativos específicos.

Também +1 para tornar os dados abertos!

til_b
fonte
2
Ficarei interessado em saber por que você sugeriu Shapefiles e GML para dados vetoriais. Ambos são formatos terríveis. A única graça salvadora do GML é que ele é um formato OGC.
Devdatta Tengshe
1
Os arquivos de forma são legíveis em muitas aplicações e podem ser transformados em algo diferente sem problemas. O que você sugeriria?
Til_b
3
evitar shapefiles. Eles funcionam, mas têm sérias limitações técnicas.
nickves
1
Então, o que você sugere que não possui as limitações técnicas dos shapefiles?
til_b
2
@til_b GeoTIFF é um bom formato da perspectiva de ser 'aberto'. No entanto, para armazenamento (ou oferecê-lo como um download), é terrível, porque os arquivos podem ficar enormes. Você conhece um formato raster aberto que oferece compactação sem perdas?
Mark Verschuur
1

Virtualmente, essa mesma pergunta surgiu na opendata.SE: Quais são os formatos mais úteis para liberar dados geoespaciais?

Portanto, espero não estar violando nenhuma política ao citar minha própria resposta:

Minha experiência, fazendo mapas de vários conjuntos de dados do governo:

Para dados pontuais, o CSV é o melhor, com as colunas "lat" e "lon". Muito fácil de trabalhar em uma ampla variedade de ferramentas, incluindo editores de texto, planilhas etc. Existem duas desvantagens:

  1. GDAL requer um .vrtarquivo complementar.
  2. A nomeação das colunas late lonnão é totalmente padrão. Muitas ferramentas são bastante liberais no que aceitam.

Para linhas e polígonos, em ordem decrescente de preferência:

  1. GeoJSON. Fácil de trabalhar e a capacidade de editar em um editor de texto ou com o geojson.io é um bônus real, se você precisar pesquisar / substituir, remova alguns objetos estranhos ou copie e cole de um arquivo para outro. Outro benefício é que os desenvolvedores que não são de GIS podem entender isso. Somente os problemas com que me deparo são quando alguém fornece dados como, por exemplo, MultiPoint em vez de Point.
  2. Shapefile. Muito amplamente suportado, mas com dois pontos inconvenientes. Primeiro, é uma coleção de arquivos, então você deve passar um .zip e extraí-lo. Segundo, os nomes dos campos são limitados a 10 caracteres. Eles são difíceis de editar para pessoas comuns que não são de GIS.
  3. KML / KMZ. Geralmente, eles têm muitos itens irrelevantes (estilo, ícones etc.), e os atributos às vezes são codificados como mini tabelas HTML, que são realmente difíceis de trabalhar. Pelo menos você pode editá-los facilmente com as ferramentas do Google.

Honestamente, porém, a melhor resposta é provavelmente "todos eles". Faça um favor a todos e libere os dados em CSV (se necessário), GeoJSON, Shapefile compactado e KMZ.

Steve Bennett
fonte