Tuesday, January 14, 2014

Quản lý phiên bản cho dữ liệu không gian trên GitHub

Quách Đồng Thắng 
Trung tâm Ứng dụng GIS Tp.HCM

Đối với quản lý phiên bản mã nguồn, hiện nay Git là sự lựa chọn hàng đầu so với các giải pháp khác (từ CSV, SVN  cho đến Mercurical, Bazaar). Ngoài các dịch vụ hỗ trợ Git thuần túy mới phát triển như GitHub/ Gitorious/ BitBucket, hầu hết các code hosting hiện nay như Google Code, SourceForge, CodePlex… đều nâng cấp hỗ trợ Git để thu hút người dùng. Hình sau cho thấy giao diện quản lý project trên Google Code với tùy chọn hỗ trợ Git.

Để nâng cao tính trực quan cho các project có quản lý dữ liệu không gian, gần đây GitHub - một trong các code hosting Git nổi bật - đã hỗ trợ hiển thị dữ liệu không gian ở định dạng geoJSONtopoJSON ngay trên giao diện quản lý project. GitHub sử dụng thư viện Leaflet.js, nguồn bản đồ mở OpenStreetMap được host bởi Mapbox, giới hạn kích thước file geojson là 10 MB. Bài viết trình bày cách quản lý phiên bản cho dữ liệu không gian trên Github.
Để phục vụ quản lý phiên bản và hiển thị dữ liệu không gian trên GitHub, đầu tiên cần chuyển dữ liệu không gian sang định dạng GeoJSON (có thể dùng chức năng Save as GeoJSON trong QGIS).

Tạo một repository public (miễn phí) trên GitHub – với tên là geogit. Tiếp theo có thể dùng công cụ giao diện đồ họa như GitHub for Windows để làm việc ở phía client, cụ thể là commit và synchronize ranhphuong.geojson lên project geogit trên GitHub.


Hiển thị ranhphuong.geojson trên giao diện GitHub:


Người dùng có thể xem dữ liệu không gian trên GitHub trực tiếp trên phần mềm QGIS thông qua URI https://raw.github.com/thangqd/geogit/master/ranhphuong.geojson

Hoặc có thể dễ dàng nhúng bản đồ này trong các trang html khác với script nhúng theo format như sau:
<script src="https://embed.github.com/view/geojson/thangqd/geogit/master/ranhphuong.geojson"></script>
 

Người dùng có thể thực hiện các thay đổi trên dữ liệu không gian và trải nghiệm các tính năng quản lý version của git tương tự như một file text thuần túy. Việc quản lý version giúp người dùng có thể quản lý toàn bộ lịch sử của dữ liệu không gian trong dự án phần mềm hoặc cho ứng dụng thực tế như quản lý lịch sử của đối tượng địa lý như giao thông, thửa đất.

No comments:

Post a Comment