Format data apa yang terbaik untuk distribusi Data Terbuka?

15

Apa pro dan kontra dari berbagai format data (kinerja, ukuran file, dll.) Ketika mempertimbangkan distribusi data terbuka?

Organisasi kami ingin menerbitkan data sebagai data terbuka. Namun, tidak ada ide yang jelas tentang format data yang digunakan. Tentu saja, semakin 'terbuka' format data, semakin mudah digunakan.

Format data mana yang paling 'terbuka' dan karena itu paling dapat digunakan untuk distribusi Data Terbuka ketika mempertimbangkan jenis-jenis berikut ?:

  • data raster (saya berpikir: GeoTIFF, Erdas Imagine IMG?)
  • data vektor (saya berpikir: GML, CSV, ESRI Shapefile, DXF?)
  • data tabular (saya berpikir: CSV?)
  • Data 3D (saya berpikir: CityGML?)
  • Titik 3D bisa / LIDAR (Saya berpikir: LAS?)
  • Apakah saya lupa sesuatu di sini?

Juga, jika ada dokumentasi tentang format data terbuka, saya sangat tertarik jika Anda ingin berbagi.

Mark Verschuur
sumber
2
untuk vektor, Anda mungkin juga mempertimbangkan geojson dan kml
neuhausr
1
apakah Anda melihat tautan ini? gis.stackexchange.com/questions/61744/…
4
Anda perlu membedakan antara format pertukaran data dan format penyimpanan data. geojson misalnya adalah format Pertukaran Data yang sangat baik, tetapi menyebalkan sebagai format penyimpanan data. Saya berasumsi Anda hanya peduli dengan format untuk mendistribusikan data (yaitu pertukaran data). Apakah itu benar?
Devdatta Tengshe
@DevdattaTengshe: Poin bagus! Untuk saat ini, tujuannya adalah untuk mendistribusikan data dalam format pertukaran yang paling nyaman.
Mark Verschuur
Terima kasih semuanya atas umpan baliknya. Juga, beberapa tips tentang tipe file yang akan digunakan vs ukuran file akan sangat membantu.
Mark Verschuur

Jawaban:

5

Inisiatif data terbuka kota Wina ( http://data.wien.gv.at ) menggunakan Geoserver untuk menyediakan akses ke raster dan vektor geodata melalui Geoserver WMS dan layanan WFS . Ini memiliki banyak keuntungan: Pengguna dapat mengunduh data dalam berbagai format untuk penggunaan offline (mis. Geojson, KML, atau Shapefile yang di-zip) atau menggunakan layanan langsung dengan menyematkannya di peta online atau proyek GIS.

underdark
sumber
Inilah yang kami lakukan di sini: maps.gcc.tas.gov.au/data Tidak ada alasan mengapa Anda tidak dapat menggunakan GeoServer untuk tabel non-spasial juga.
Alex Leith
5

Untuk csv tabular. Excel sangat rumit dan paling buruk benar-benar tidak dapat diakses. Akses tidak dapat diakses dan PDF adalah tamparan di wajah.

Untuk penggunaan geospasial geojson, teksnya didukung dengan baik dan tidak memiliki batasan teknis yang hanya dimiliki oleh format lainnya (shapefile). Juga, kecuali Anda memiliki alasan yang sangat baik, itu harus dalam WGS84, mengingat bahwa sebagian besar pengguna akan berada di negara bagian lain dan tidak akan menginginkan pesawat negara.

Calvin
sumber
5

Saya cukup suka NetCDF untuk data kontinu / array (yaitu raster). Kelebihan untuk NetCDF adalah:

  • NetCDF menggambarkan diri sendiri (yaitu, definisi data tersedia melalui header file) sehingga Anda tidak perlu menyediakan file metadata sekunder
  • NetCDF4 memungkinkan untuk penyimpanan data n-dimensi (menggunakan format data HDF5 pada disk, yang merupakan bonus karena ini memungkinkan file sebesar yang dapat ditangani oleh OS Anda). Ini hadir dengan kompresi yang masuk akal dan akses cepat ke data. Perhatikan bahwa NetCDF3 tidak mendukung data n-dimensional, dan memiliki batas ukuran file sekitar 2GB pada sistem 32-bit.
  • NetCDF adalah format terbuka sehingga mengakses data umumnya tidak menjadi masalah juga melalui perpustakaan umum. Sebagai contoh, dalam python cukup sederhana dari scipy untuk membaca dalam sepotong data:
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

Satu-satunya downside ke NetCDF4 yang bisa saya lihat adalah dukungan yang tidak terlalu bagus dalam paket GIS standar seperti ArcGIS dan QGIS (meskipun saya sangat ingin diperbaiki tentang ini!).

EDIT Beberapa paket lain yang mendukung NetCDF

Beberapa bahasa pemrograman standar yang mendukung NetCDF (meskipun harus adil, apa pun yang dapat membaca HDF dapat membaca NetCDF4):

Untuk pengguna matematika dan statistik yang Anda miliki:

Khususnya di GIS:

  • GDAL akan mengonversi data untuk Anda
  • Demikian juga FME
  • ArcGIS mendukung NetCDF (meskipun itu bukan tingkat dukungan terbaik dalam pengalaman saya)
  • Ada Plugin QGIS dalam pengembangan

Jika Anda ingin dengan cepat melihat file NetCDF saya akan menggunakan Panoply lintas-platform dari NASA. Dan jika Anda tertarik lebih banyak, UCAR Unidata memiliki daftar perangkat lunak .

om_henners
sumber
NetCDF adalah pilihan buruk yang benar-benar tidak memiliki dukungan di luar python. Mungkin memiliki dukungan yang baik, tetapi tiffs, png, dan jpeg memiliki dukungan dalam setiap bahasa.
Calvin
2
Saya sangat tidak setuju. Saya telah mengedit respons saya di atas untuk menampilkan daftar cepat paket yang mendukung NetCDF. Dalam pengalaman saya itu adalah format pilihan untuk data ilmiah multidimensi (misalnya astronomi dan meteorologi). PNG dan TIFF tidak buruk untuk mendistribusikan data raster, dan tentu saja melihat data itu mudah, tetapi mereka tidak menskala dengan baik untuk sejumlah besar data multidimensi. Jangan pernah menggunakan JPEG untuk mendistribusikan data ilmiah (meskipun jika Anda mengirim seseorang peta itu berfungsi dengan baik).
om_henners
4

Saya akan mengatakan:

  • Shapefile atau GML untuk data vektor
  • .obj-Files untuk model 3D
  • .xyz (CSV sederhana) untuk awan titik
  • CSV untuk data tabular
  • GeoTIFF untuk data raster

Format-format ini mudah dibaca oleh Perangkat Lunak Open Source dan mudah ditransformasikan ke format lain yang diperlukan untuk aplikasi tertentu.

Juga memberi +1 untuk membuat data terbuka!

til_b
sumber
2
Saya akan tertarik untuk mengetahui mengapa Anda menyarankan Shapefile dan GML untuk data vektor. Keduanya adalah format yang mengerikan. Satu-satunya rahmat penghematan GML, adalah formatnya OGC.
Devdatta Tengshe
1
Shapefile dapat dibaca di banyak aplikasi, dan dapat diubah menjadi sesuatu yang berbeda tanpa masalah. Apa yang kamu sarankan?
til_b
3
hindari shapefile. Mereka bekerja, tetapi mereka memiliki keterbatasan teknis yang serius.
nickes
1
Jadi apa yang Anda sarankan agar tidak memiliki keterbatasan teknis shapefile?
til_b
2
@til_b GeoTIFF adalah format yang bagus dari perspektif 'terbuka'. Namun, untuk penyimpanan (atau menawarkannya sebagai unduhan) itu mengerikan, karena file bisa menjadi besar. Apakah Anda tahu format raster terbuka yang menawarkan kompresi lossless?
Mark Verschuur
1

Sebenarnya pertanyaan yang sama persis ini muncul di opendata.SE: Format apa yang paling berguna untuk mengeluarkan data geospasial?

Jadi, mudah-mudahan saya tidak melanggar kebijakan apa pun dalam mengutip jawaban saya sendiri di sana:

Pengalaman saya, membuat peta dari beberapa set data pemerintah:

Untuk data titik, CSV adalah yang terbaik, dengan kolom "lat" dan "lon". Sangat mudah untuk dikerjakan dengan berbagai alat, termasuk editor teks, spreadsheet, dll. Ada dua kelemahan:

  1. GDAL membutuhkan .vrtfile pendamping.
  2. Penamaan kolom latdan lontidak sepenuhnya standar. Banyak alat yang cukup liberal dalam apa yang mereka terima.

Untuk garis dan poligon, dalam urutan preferensi yang menurun:

  1. GeoJSON. Mudah dikerjakan, dan kemampuan mengedit dalam editor teks atau dengan geojson.io adalah bonus nyata, jika Anda perlu melakukan pencarian / penggantian, hapus beberapa objek aneh atau salin dan tempel dari satu file ke file lainnya. Manfaat lain adalah bahwa pengembang non-GIS dapat memahaminya. Satu-satunya masalah yang saya alami adalah ketika seseorang memberikan data seperti MultiPoint, bukan Point.
  2. Shapefile. Sangat banyak didukung, tetapi dengan dua poin yang tidak nyaman. Pertama, ini adalah kumpulan file, jadi Anda harus membagikan .zip dan mengekstraknya. Kedua, nama bidang dibatasi hingga 10 karakter. Mereka sulit diedit untuk orang non-GIS rata-rata.
  3. KML / KMZ. Ini sering memiliki banyak cruft yang tidak relevan (styling, ikon, dll), dan atribut kadang-kadang dikodekan sebagai tabel HTML mini, yang sangat sulit untuk dikerjakan. Setidaknya Anda dapat mengeditnya dengan mudah menggunakan alat Google.

Jujur saja, jawaban terbaik mungkin adalah "mereka semua". Bantu semua orang dan lepaskan data dalam CSV (jika ada), GeoJSON, zip Shapefile dan KMZ.

Steve Bennett
sumber