Những định dạng dữ liệu nào là tốt nhất để phân phối dữ liệu mở?


15

Những ưu và nhược điểm của các định dạng dữ liệu khác nhau (hiệu suất, kích thước tệp, v.v.) khi xem xét phân phối dữ liệu mở là gì?

Tổ chức của chúng tôi muốn xuất bản dữ liệu dưới dạng dữ liệu mở. Tuy nhiên, không có ý tưởng rõ ràng về việc sử dụng định dạng dữ liệu. Tất nhiên, định dạng dữ liệu càng 'mở' thì càng dễ sử dụng.

Những định dạng dữ liệu nào là 'mở' nhất và do đó có thể sử dụng nhiều nhất để phân phối Dữ liệu mở khi xem xét các loại sau?:

  • dữ liệu raster (Tôi đang nghĩ: GeoTIFF, Erdas Hãy tưởng tượng IMG?)
  • dữ liệu vectơ (Tôi đang nghĩ: GML, CSV, ESRI Shapefile, DXF?)
  • dữ liệu dạng bảng (Tôi đang nghĩ: CSV?)
  • Dữ liệu 3D (Tôi đang nghĩ: CityGML?)
  • Điểm 3D / LIDAR (Tôi đang nghĩ: LAS?)
  • Có phải tôi đang quên một cái gì đó ở đây?

Ngoài ra, nếu có tài liệu về các định dạng dữ liệu mở, tôi rất quan tâm nếu bạn muốn chia sẻ.


2
đối với vectơ, bạn cũng có thể xem xét Geojson và kml
neuhausr

1
bạn có thấy liên kết này không? gis.stackexchange.com/questions/61744/ Mạnh

4
Bạn cần phân biệt giữa các định dạng trao đổi dữ liệu và định dạng lưu trữ dữ liệu. Geojson là một định dạng trao đổi dữ liệu tuyệt vời, nhưng hút như một định dạng lưu trữ dữ liệu. Tôi giả sử bạn chỉ quan tâm đến định dạng phân phối dữ liệu (tức là trao đổi dữ liệu). Đúng không?
Devdatta Tengshe

@DevdattaTengshe: Điểm tốt! Hiện tại, ý định là phân phối dữ liệu theo định dạng trao đổi thuận tiện nhất.
Đánh dấu Verschuur

Cảm ơn tất cả mọi người cho ý kiến ​​phản hồi. Ngoài ra, một số mẹo về loại tệp để sử dụng so với kích thước tệp sẽ rất hữu ích.
Đánh dấu Verschuur

Câu trả lời:


5

Sáng kiến ​​dữ liệu mở của thành phố Vienna ( http://data.wien.gv.at ) sử dụng Geoserver để cung cấp quyền truy cập vào raster và vector geodata thông qua các dịch vụ WMS và WFS của Geoserver . Điều này có nhiều ưu điểm: Người dùng có thể tải xuống dữ liệu ở các định dạng khác nhau để sử dụng ngoại tuyến (ví dụ: Geojson, KML hoặc Shapefiles được nén) hoặc sử dụng các dịch vụ trực tiếp bằng cách nhúng chúng vào các bản đồ trực tuyến hoặc dự án GIS.


Đây là những gì chúng tôi làm ở đây: maps.gcc.tas.gov.au/data Không có lý do gì bạn không thể sử dụng GeoServer cho các bảng không phải không gian.
Alex Leith

5

Đối với csv dạng bảng. Excel là tốt nhất quá phức tạp và tồi tệ nhất hoàn toàn không thể truy cập. Truy cập không thể truy cập và PDF là một cái tát vào mặt.

Đối với sử dụng gejson không gian địa lý, văn bản của nó được hỗ trợ tốt và không có các hạn chế kỹ thuật mà chỉ có định dạng khả thi khác (shapefile) có. Ngoài ra, trừ khi bạn có một lý do rất chính đáng nên có trong WGS84, hãy nhớ rằng hầu hết người dùng sẽ ở trạng thái khác và sẽ không muốn máy bay trạng thái.


5

Tôi khá thích NetCDF cho dữ liệu liên tục / mảng (ví dụ như raster). Ưu điểm cho NetCDF là:

  • NetCDF tự mô tả (nghĩa là các định nghĩa dữ liệu có sẵn thông qua tiêu đề tệp), do đó bạn không cần cung cấp các tệp siêu dữ liệu thứ cấp
  • NetCDF4 cho phép lưu trữ dữ liệu n chiều (sử dụng định dạng dữ liệu HDF5 trên đĩa, đây là phần thưởng vì điều này cho phép các tệp lớn như hệ điều hành của bạn có thể xử lý). Điều này đi kèm với nén hợp lý và truy cập nhanh vào dữ liệu. Lưu ý rằng NetCDF3 không hỗ trợ dữ liệu n chiều và có giới hạn kích thước tệp khoảng 2GB trên hệ thống 32 bit.
  • NetCDF là một định dạng mở, vì vậy việc truy cập dữ liệu thường không phải là vấn đề thông qua các thư viện phổ biến. Ví dụ, trong python, nó đủ đơn giản từ scipy để đọc trong một lát dữ liệu:
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

Nhược điểm duy nhất của NetCDF4 mà tôi có thể thấy là sự hỗ trợ không lớn trong các gói GIS tiêu chuẩn như ArcGIS và QGIS (mặc dù tôi rất muốn được sửa chữa điều này!).

EDIT Một số gói khác hỗ trợ NetCDF

Một số ngôn ngữ lập trình tiêu chuẩn hỗ trợ NetCDF (mặc dù công bằng, mọi thứ có thể đọc HDF đều có thể đọc NetCDF4):

Đối với người dùng toán và thống kê bạn có:

Cụ thể trong GIS:

  • GDAL sẽ chuyển đổi dữ liệu cho bạn
  • Tương tự FME
  • ArcGIS hỗ trợ NetCDF (mặc dù đó không phải là mức hỗ trợ tốt nhất theo kinh nghiệm của tôi)
  • Có một Plugin QGIS đang được phát triển

Nếu bạn muốn xem nhanh tệp NetCDF, tôi sẽ sử dụng Panoply đa nền tảng từ NASA. Và nếu bạn quan tâm nhiều hơn, UCAR Unidata có một danh sách các phần mềm .


NetCDF là một lựa chọn khủng khiếp, nó thực sự không có sự hỗ trợ nào ngoài python. Nó có thể có sự hỗ trợ tốt, nhưng tiffs, png và jpeg có hỗ trợ theo mọi nghĩa đen.
Calvin

2
Tôi rất không đồng ý. Tôi đã chỉnh sửa phản hồi của mình ở trên để hiển thị danh sách nhanh các gói hỗ trợ NetCDF. Theo kinh nghiệm của tôi, đây là định dạng được lựa chọn cho bất kỳ dữ liệu khoa học đa chiều nào (ví dụ: thiên văn học và khí tượng học). PNG và TIFF không tệ khi phân phối dữ liệu raster và chắc chắn việc xem dữ liệu rất dễ dàng, nhưng chúng không mở rộng tốt với số lượng lớn dữ liệu đa chiều. Đừng bao giờ sử dụng JPEG để phân phối dữ liệu khoa học (mặc dù nếu bạn gửi cho ai đó bản đồ thì nó hoạt động rất tốt).
om_henners

4

Tôi sẽ nói:

  • Shapefiles hoặc GML cho dữ liệu vectơ
  • .obj-Files cho các mô hình 3D
  • .xyz (CSV đơn giản) cho các đám mây điểm
  • CSV cho dữ liệu dạng bảng
  • GeoTIFF cho dữ liệu raster

Các định dạng này có thể dễ dàng đọc được bằng Phần mềm nguồn mở và có thể dễ dàng chuyển đổi sang bất kỳ định dạng nào khác cần thiết cho các ứng dụng cụ thể.

Cũng +1 để làm cho dữ liệu mở!


2
Tôi sẽ quan tâm để biết lý do tại sao bạn đề xuất Shapefiles và GML cho dữ liệu vectơ. Cả hai đều là định dạng khủng khiếp. Ân sủng duy nhất của GML, đó là định dạng OGC.
Devdatta Tengshe

1
Shapefiles có thể đọc được trong nhiều ứng dụng và có thể được chuyển đổi thành thứ gì đó khác biệt mà không gặp vấn đề gì. Bạn muốn đề nghị gì?
til_b

3
tránh shapefiles. Họ làm việc, nhưng họ có những hạn chế kỹ thuật nghiêm trọng.
biệt danh

1
Vì vậy, những gì bạn đề nghị rằng không có những hạn chế kỹ thuật của shapefiles?
til_b

2
@til_b GeoTIFF là một định dạng đẹp từ góc độ 'mở'. Tuy nhiên, đối với lưu trữ (hoặc cung cấp dưới dạng tải xuống) thì thật tồi tệ, vì các tệp có thể trở nên rất lớn. Bạn có biết một định dạng raster mở cung cấp nén không mất dữ liệu?
Đánh dấu Verschuur

1

Hầu như chính xác câu hỏi này đã xuất hiện tại opendata.SE: Các định dạng hữu ích nhất để phát hành dữ liệu không gian địa lý là gì?

Vì vậy, hy vọng tôi không vi phạm bất kỳ chính sách nào trong việc trích dẫn câu trả lời của riêng tôi ở đó:

Kinh nghiệm của tôi, tạo bản đồ từ khá nhiều bộ dữ liệu của chính phủ:

Đối với dữ liệu điểm, CSV là tốt nhất, với các cột "lat" và "lon". Rất dễ dàng để làm việc với một loạt các công cụ, bao gồm trình soạn thảo văn bản, bảng tính, v.v ... Có hai nhược điểm:

  1. GDAL yêu cầu một .vrttệp đồng hành.
  2. Việc đặt tên của cột latloncột không hoàn toàn chuẩn. Nhiều công cụ khá tự do trong những gì họ chấp nhận.

Đối với các dòng và đa giác, theo thứ tự ưu tiên giảm dần:

  1. GeoJSON. Dễ dàng làm việc và khả năng chỉnh sửa trong trình soạn thảo văn bản hoặc với Geojson.io là một phần thưởng thực sự, nếu bạn cần thực hiện tìm kiếm / thay thế, hãy xóa một vài đối tượng lạ hoặc sao chép và dán từ tệp này sang tệp khác. Một lợi ích khác là các nhà phát triển không phải là GIS có thể hiểu ý nghĩa của nó. Vấn đề duy nhất tôi gặp phải là khi ai đó cung cấp dữ liệu như nói MultiPoint thay vì Point.
  2. Hình dạng. Hỗ trợ rất rộng rãi, nhưng với hai điểm bất tiện. Đầu tiên, đó là một tập hợp các tệp, vì vậy bạn phải chuyển qua một tệp .zip và giải nén nó. Thứ hai, tên trường được giới hạn trong 10 ký tự. Chúng khó chỉnh sửa cho người không phải là người trung bình của bạn.
  3. KML / KMZ. Chúng thường có rất nhiều hành trình không liên quan (kiểu dáng, biểu tượng, v.v.) và các thuộc tính đôi khi được mã hóa dưới dạng bảng HTML nhỏ, rất khó để làm việc. Ít nhất bạn có thể chỉnh sửa chúng dễ dàng bằng các công cụ của Google.

Thành thật mà nói, câu trả lời tốt nhất có lẽ là "tất cả chúng". Làm mọi người ủng hộ và phát hành dữ liệu trong CSV (nếu có điểm), GeoJSON, nén Shapefile và KMZ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.