Jakie formaty danych najlepiej nadają się do dystrybucji Open Data?

15

Jakie są zalety i wady różnych formatów danych (wydajność, rozmiar pliku itp.) W przypadku otwartej dystrybucji danych?

Nasza organizacja chce publikować dane jako dane otwarte. Nie ma jednak jasnego pojęcia, jakich formatów danych użyć. Oczywiście im bardziej „otwarty” jest format danych, tym łatwiej jest z niego korzystać.

Które formaty danych są najbardziej „otwarte”, a zatem najbardziej przydatne do dystrybucji otwartych danych, biorąc pod uwagę następujące typy ?:

  • dane rastrowe (myślę: GeoTIFF, Erdas Wyobraź sobie IMG?)
  • dane wektorowe (myślę: GML, CSV, ESRI Shapefile, DXF?)
  • dane tabelaryczne (myślę: CSV?)
  • Dane 3D (Myślę: CityGML?)
  • Punkt 3D mógł / LIDAR (Myślę: LAS?)
  • czy coś tutaj zapominam?

Ponadto, jeśli istnieje dokumentacja dotycząca otwartych formatów danych, jestem bardzo zainteresowany, jeśli chcesz się nimi podzielić.

Mark Verschuur
źródło
2
dla wektora można również rozważyć geojson i kml
neuhausr
4
Musisz rozróżnić formaty wymiany danych od formatu przechowywania danych. geojson na przykład jest doskonałym formatem wymiany danych, ale jest do bani jako format przechowywania danych. Zakładam, że interesuje Cię tylko format dystrybucji danych (tj. Wymiana danych). Czy to jest poprawne?
Devdatta Tengshe,
@DevdattaTengshe: Dobra uwaga! Na razie intencją jest rozpowszechnianie danych w najwygodniejszym formacie wymiany.
Mark Verschuur
Dziękujemy wszystkim za opinie. Bardzo pomocne byłyby również wskazówki dotyczące typów plików do użycia w porównaniu z rozmiarem pliku.
Mark Verschuur,

Odpowiedzi:

5

Wiedeńska inicjatywa otwartych danych ( http://data.wien.gv.at ) korzysta z Geoservera, aby zapewnić dostęp do geodanych rastrowych i wektorowych za pośrednictwem usług WMS i WFS Geoserver . Ma to wiele zalet: użytkownicy mogą pobierać dane w różnych formatach do użytku offline (np. Geojson, KML lub spakowane pliki Shapefiles) lub korzystać z usług na żywo, osadzając je w mapach internetowych lub projektach GIS.

podmrok
źródło
Oto, co robimy tutaj: maps.gcc.tas.gov.au/data Nie ma powodu, dla którego nie można używać GeoServer również do tabel nieprzestrzennych.
Alex Leith
5

Dla tabelarycznego pliku csv. Excel jest w najlepszym razie zbyt skomplikowany, aw najgorszym całkowicie niedostępny. Dostęp nie jest dostępny, a PDF to policzek.

W przypadku geojsonów, geojson, jego tekst jest dobrze obsługiwany i nie ma technicznych ograniczeń, które ma jedyny inny możliwy format (plik kształtu). Również chyba, że ​​masz bardzo dobry powód, powinien to być WGS84, pamiętając, że większość użytkowników będzie w innym stanie i nie będzie chciała stanu płaszczyzny.

Calvin
źródło
5

Bardzo lubię NetCDF dla danych ciągłych / macierzowych (tj. Rastrów). Plusy dla NetCDF to:

  • NetCDF jest samoopisujący (tzn. Definicje danych są dostępne poprzez nagłówek pliku), więc nie trzeba dostarczać dodatkowych plików metadanych
  • NetCDF4 pozwala na przechowywanie danych n-wymiarowych (użycie formatu danych HDF5 na dysku, co jest zaletą, ponieważ pozwala na pliki tak duże, jak system operacyjny może obsłużyć). Zapewnia to rozsądną kompresję i szybki dostęp do danych. Należy pamiętać, że NetCDF3 nie obsługuje danych n-wymiarowych i ma limit wielkości pliku około 2 GB w systemie 32-bitowym.
  • NetCDF jest formatem otwartym, więc dostęp do danych na ogół również nie stanowi problemu przez wspólne biblioteki. Na przykład w pythonie jest wystarczająco prosty z scipy, aby odczytać fragment danych:
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

Jedynym minusem NetCDF4, który widzę, jest niezbyt dobra obsługa standardowych pakietów GIS, takich jak ArcGIS i QGIS (choć bardzo chciałbym być naprawiony!).

EDYCJA Niektóre inne pakiety obsługujące NetCDF

Niektóre standardowe języki programowania obsługujące NetCDF (choć uczciwie, wszystko, co potrafi czytać HDF, może czytać NetCDF4):

Użytkownicy matematyki i statystyk mają:

W szczególności w GIS:

  • GDAL skonwertuje dane za ciebie
  • Podobnie FME
  • ArcGIS obsługuje NetCDF (choć nie jest to najlepszy poziom wsparcia z mojego doświadczenia)
  • Opracowywana jest wtyczka QGIS

Jeśli chcesz szybko przejrzeć plik NetCDF, skorzystałbym z wieloplatformowej platformy Panoply z NASA. A jeśli interesuje Cię więcej, UCAR Unidata ma listę oprogramowania .

om_henners
źródło
NetCDF jest okropnym wyborem, tak naprawdę nie ma wsparcia poza Pythonem. Może mieć dobre wsparcie, ale tiffs, png i jpeg mają wsparcie dosłownie w każdym języku.
Calvin
2
Definitywnie się z tym nie zgadzam. Zredagowałem moją odpowiedź powyżej, aby wyświetlić szybką listę pakietów obsługujących NetCDF. Z mojego doświadczenia wynika, że ​​jest to format wyboru dla wszelkich wielowymiarowych danych naukowych (np. Astronomii i meteorologii). PNG i TIFF nie są złe w dystrybucji danych rastrowych, a na pewno przeglądanie danych jest łatwe, ale nie skalują się dobrze do dużych ilości danych wielowymiarowych. Nie zawsze używać JPEG do dystrybucji danych naukowych (choć jeśli wysyłasz komuś mapę to działa doskonale).
om_henners
4

Powiedziałbym:

  • Pliki kształtu lub GML dla danych wektorowych
  • Pliki .obj dla modeli 3D
  • .xyz (prosty CSV) dla chmur punktów
  • CSV dla danych tabelarycznych
  • GeoTIFF dla danych rastrowych

Formaty te są łatwe do odczytania przez oprogramowanie Open Source i można je łatwo przekształcić na dowolny inny format wymagany dla określonych aplikacji.

Również +1 za otwarcie danych!

til_b
źródło
2
Będę zainteresowany dowiedzieć się, dlaczego zaproponowałeś Shapefiles i GML dla danych wektorowych. Oba są okropnymi formatami. Jedyną zaletą GML jest to, że jest to format OGC.
Devdatta Tengshe,
1
Pliki kształtów są czytelne w wielu aplikacjach i bez problemu można je przekształcić w coś innego. Co byś zasugerował?
til_b
3
unikaj plików kształtu. Działają, ale mają poważne ograniczenia techniczne.
nickves
1
Co zatem sugerujesz, że nie ma technicznych ograniczeń plików kształtu?
til_b
2
@til_b GeoTIFF to fajny format z perspektywy bycia „otwartym”. Jednak w przypadku przechowywania (lub oferowania go do pobrania) jest to okropne, ponieważ pliki mogą stać się ogromne. Czy znasz otwarty format rastrowy, który oferuje bezstratną kompresję?
Mark Verschuur,
1

Praktycznie to samo pytanie pojawiło się na opendata.SE: Jakie są najbardziej przydatne formaty do publikowania danych geoprzestrzennych?

Mam nadzieję, że nie naruszam żadnych zasad, cytując tam swoją odpowiedź:

Moje doświadczenie w tworzeniu map z kilku rządowych zbiorów danych:

W przypadku danych punktowych CSV jest najlepszy, z kolumnami „lat” i „lon”. Bardzo łatwa w obsłudze w szerokim zakresie narzędzi, w tym edytorach tekstu, arkuszach kalkulacyjnych itp. Istnieją dwie wady:

  1. GDAL wymaga .vrtpliku towarzyszącego.
  2. Nazwy kolumn lati lonnie są całkowicie standardowe. Wiele narzędzi jest dość liberalnych pod względem akceptacji.

W przypadku linii i wielokątów w malejącej kolejności preferencji:

  1. GeoJSON. Łatwy w obsłudze i możliwość edycji w edytorze tekstów lub w geojson.io to prawdziwa korzyść , jeśli musisz wyszukiwać / zamieniać, usuwać kilka dziwnych obiektów lub kopiować i wklejać z jednego pliku do drugiego. Kolejną korzyścią jest to, że programiści spoza GIS mogą to zrozumieć. Jedyne problemy, na które natknąłem się, to gdy ktoś dostarcza dane, jak powiedzą MultiPoint zamiast Point.
  2. Shapefile. Bardzo szeroko wspierany, ale z dwoma niedogodnościami. Po pierwsze, jest to zbiór plików, więc musisz przekazać plik .zip i rozpakować go. Po drugie, nazwy pól są ograniczone do 10 znaków. Trudno je edytować dla przeciętnej osoby spoza GIS.
  3. KML / KMZ. Często mają one wiele niepotrzebnych cruft (styl, ikony itp.), A atrybuty są czasami kodowane jako mini tabele HTML, z którymi naprawdę ciężko jest pracować. Przynajmniej możesz je łatwo edytować za pomocą narzędzi Google.

Szczerze mówiąc, najlepszą odpowiedzią jest prawdopodobnie „wszyscy”. Wyświadcz wszystkim przysługę i opublikuj dane w CSV (jeśli punkt), GeoJSON, skompresowanym pliku Shapefile i KMZ.

Steve Bennett
źródło