intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Nghiên cứu ứng dụng Web GIS trong quản lý dữ liệu hạ tầng mạng thông tin quân sự

Chia sẻ: ViSumika2711 ViSumika2711 | Ngày: | Loại File: PDF | Số trang:10

77
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài viết trình bày kết quả xây dựng hệ thống Web GIS phục vụ quản lý và điều hành mạng thông tin quân sự. Kiến trúc hệ thống Client-Server sử dụng Node.js làm máy chủ cung cấp dịch vụ bản đồ, thư viện bản đồ Leaflet kết hợp với JavaScript và HTML5 Canvas để hiển thị dữ liệu không gian lên bản đồ tile.

Chủ đề:
Lưu

Nội dung Text: Nghiên cứu ứng dụng Web GIS trong quản lý dữ liệu hạ tầng mạng thông tin quân sự

Công nghệ thông tin<br /> <br /> NGHIÊN CỨU ỨNG DỤNG WEB GIS TRONG QUẢN LÝ DỮ<br /> LIỆU HẠ TẦNG MẠNG THÔNG TIN QUÂN SỰ<br /> Hoàng Tuấn 1*, Nguyễn An Bình2, Phạm Thị Hồng Thanh1<br /> Tóm tắt: Bài báo trình bày kết quả xây dựng hệ thống Web GIS phục vụ quản lý<br /> và điều hành mạng thông tin quân sự. Kiến trúc hệ thống Client-Server sử dụng<br /> Node.js làm máy chủ cung cấp dịch vụ bản đồ, thư viện bản đồ Leaflet kết hợp với<br /> JavaScript và HTML5 Canvas để hiển thị dữ liệu không gian lên bản đồ tile. Cơ sở<br /> dữ liệu GIS được lưu trữ trên SQL Server với hỗ trợ chỉ mục không gian và các lệnh<br /> truy vấn không gian. Ngoài ra, sử dụng nền tảng lập trình giao diện bằng JavaScript<br /> UI cho phép tương tác dữ liệu một cách nhanh chóng, đồng bộ thời gian thực, hiệu<br /> năng cao và dễ sử dụng.<br /> Từ khóa: Web gis; Node.js; Leaflet; Java script; Html5 canvas; Webix; Mạng thông tin.<br /> <br /> 1. GIỚI THIỆU CHUNG<br /> Ngày nay, hệ thống thông tin địa lý (GIS) đã có nhiều bước phát triển vượt bậc,<br /> là công cụ hỗ trợ đắc lực cho quá trình tự động hóa và hiện đại hóa công tác quản<br /> lý, điều hành và hỗ trợ quyết định đã được ứng dụng rộng rãi trong hầu hết nhiều<br /> lĩnh vực như quản lý đất đai, quy hoạch xây dựng, hạ tầng kỹ thuật đô thị, môi<br /> trường, hạ tầng viễn thông, du lịch ... [1][2]. Hướng ứng dụng GIS trong lĩnh vực<br /> quân sự đã được triển khai thực hiện hầu hết các nước phát triển trên thế giới, tuy<br /> nhiên đối với Việt Nam vẫn còn là một lĩnh vực mới mẻ cần được tập trung nghiên<br /> cứu và phát triển.<br /> Trong lĩnh vực quản lý hạ tầng mạng viễn thông nói chung, GIS cũng đã được<br /> áp dụng như là một công cụ quản lý hiện đại về cơ sở hạ tầng, quản lý khách hàng,<br /> quy hoạch, thiết kế, giám sát mạng bưu chính viễn thông, và các hoạt động hàng<br /> ngày của các đơn vị và doanh nghiệp ... Tuy nhiên, đối với lĩnh vực hạ tầng mạng<br /> thông tin quân sự cấp Quân khu hiện nay vẫn còn nhiều hạn chế như việc quản lý<br /> còn mang tính chất thủ công, trên giấy, chưa chia sẽ được dữ liệu và thông tin giữa<br /> các phòng ban, cũng như các đơn vị trực thuộc với Quân khu và việc quản lý chưa<br /> đồng bộ ...<br /> Về mặt công nghệ, các nền tảng GIS đã xuất hiện trên máy tính để bàn (GIS<br /> Desktop), mạng truyền tải thông tin (Web GIS) và các thiết bị di động (Mobile<br /> GIS). Trong đó, Web GIS có đầy đủ các chức năng xử lý và phân tích dữ liệu<br /> không gian như một phần mềm GIS Desktop nhưng được chia sẻ trên mạng truyền<br /> tải thông tin phục vụ việc tương tác nhiều người dùng trên một cơ sở dữ liệu<br /> (CSDL) chuẩn hóa và đồng bộ. Thông thường, việc xử lý dữ liệu không gian và<br /> hiển thị kết quả của hệ thống Web GIS thường thông qua một máy chủ bản đồ<br /> (GIS Server) và một thư viện lập trình tương tác bản đồ phía máy khách (Map<br /> Application Interface Program – Map API). Vì vậy, những nghiên cứu về Web GIS<br /> ngoài việc giải quyết các ứng dụng cụ thể còn tập trung vào việc phát triển các<br /> công nghệ mới để tăng cường hiệu suất tương tác của hệ thống.<br /> <br /> <br /> 198 H. Tuấn, N. A. Bình, P. T. H. Thanh, “Nghiên cứu ứng dụng … mạng thông tin quân sự.”<br /> Thông tin khoa học công nghệ<br /> <br /> Xuất phát từ nhu cầu thực tế cần phải tự động hóa và hiện đại hóa công tác quản<br /> lý hạ tầng mạng thông tin quân sự, việc ứng dụng Web GIS để xây dựng hệ thống<br /> quản lý hạ tầng mạng thông tin quân sự có ưu điểm là cho phép nhiều người dùng<br /> truy cập cùng một thời điểm, lại quản lý được dữ liệu theo thời gian với dung<br /> lượng lớn thống nhất và không bị trùng lặp, có thể quản lý hạ tầng mạng thông tin<br /> quân sự của đơn vị trên bản đồ một cách trực quan cũng như dễ dàng tra cứu dữ<br /> liệu trên trình duyệt web mà không cần phải yêu cầu cài đặt phức tạp. Điều này<br /> giúp tiết kiệm thời gian, chi phí và đáp ứng kịp thời trong công tác quản lý và khai<br /> thác Mạng thông tin chỉ huy điều hành cấp Quân khu.<br /> Trong phần hai tiếp theo, bài báo sẽ trình bày các công nghệ liên quan gồm<br /> công nghệ dịch vụ máy chủ bản đồ, được thực hiện trong nghiên cứu này sử dụng<br /> Node.js [9], một công nghệ phát triển nền tảng web thế hệ tiếp theo được phát triển<br /> bởi Ryan Dhal trong năm 2009 sử dụng ngôn ngữ JavaScript. Thêm vào đó,<br /> QKGIS sử dụng thư viện bản đồ Leaflet kết hợp với JavaScript và HTML5 Canvas<br /> ở máy khách để xử lý dữ liệu không gian vẽ lên bản đồ theo cấu trúc tile. Đối với<br /> tương tác dữ liệu thuộc tính, QKGIS sử dụng nền tảng lập trình giao diện bằng<br /> JavaScript UI Webix [12] cho phép tương tác dữ liệu một cách nhanh chóng, đồng<br /> bộ thời gian thực, hiệu năng cao. Trong phần ba, bài báo sẽ trình bày phần thiết kế<br /> và thực hiện, sẽ giới thiệu kiến trúc hệ thống triển khai theo mô hình Web GIS,<br /> cách xử lý dữ liệu không gian và thuộc tính hiển thị trên Web GIS và trình bày kết<br /> quả sản phẩm.<br /> 2. CÁC CÔNG NGHỆ LIÊN QUAN<br /> Dịch vụ máy chủ bản đồ Node.js<br /> Các công nghệ mới hiện nay cho phép tạo ra các dịch vụ bản đồ mà không cần<br /> sự hỗ trợ của máy chủ bản đồ. Các dịch vụ tự định nghĩa này vẫn tuân thủ theo các<br /> chuẩn không gian địa lý do OGC (Open Geospatial Consortium) – một tổ chức phi<br /> lợi nhuận, dẫn đầu trên thế giới về phát triển các chuẩn dữ liệu địa lý và các dịch<br /> vụ, đã đưa ra các đặc tả về các loại dịch vụ như WMS, WFS, WCS [6]. Các dịch<br /> vụ này có ưu điểm là dễ dàng tùy chỉnh hơn rất nhiều so với các dịch vụ được cung<br /> cấp sẵn từ các phần mềm máy chủ bản đồ.<br /> Node.js là một ứng dụng JavaScript chạy runtime được xây dựng trên nền V8<br /> JavaScript engine - một trình thông dịch JavaScript nổi tiếng bởi hiệu suất sử dụng<br /> rất nhanh do Google phát triển, sử dụng kỹ thuật điều khiển theo sự kiện,<br /> nhập/xuất không đồng bộ [9]. Node.js là một môi trường mã nguồn mở, được phát<br /> triển vào năm 2009 bởi Ryan Dahl để chạy các đoạn mã viết bằng JavaScript tại<br /> máy chủ, với nhiệm vụ giải quyết các vấn đề mà các nền tảng có thể gặp phải về<br /> hiệu suất như thời gian truyền thông mạng, thời gian xử lý các yêu cầu cũng như<br /> phản hồi web. Node.js là một nền tảng được xây dựng để làm ứng dụng nhẹ và có<br /> hiệu năng cao hơn, phù hợp với những ứng dụng thời gian thực chạy trên các thiết<br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018 199<br /> Công nghệ thông tin<br /> <br /> bị phân tán [4] cũng như khả năng dùng làm máy chủ Web GIS hỗ trợ các dịch vụ<br /> chuẩn OGC [5].<br /> Các dịch vụ web RESTful sử dụng mô hình REST (Representational State<br /> Transfer) như là một kiểu kiến trúc để xây dựng các hệ thống web phân tán quy mô<br /> lớn. Dịch vụ web RESTful được xác định bởi các địa chỉ URI, cung cấp địa chỉ<br /> toàn cầu cho việc truy xuất các tài nguyên và dịch vụ. Các dịch vụ web RESTful<br /> rất nhẹ, dễ dàng thực thi, thay đổi, bao gồm các phương thức GET (lấy thông tin),<br /> PUT (cập nhật), DELETE (xóa) và POST (tạo mới) [10]. Ngoài ra, một trong<br /> những ưu điểm nổi trội của dịch vụ web RESTful là tạo ra các URI truy xuất dữ<br /> liệu độc lập, có nghĩa là có thể xây dựng nhiều hệ thống độc lập với giao diện và<br /> chức năng khác nhau nhưng sử dụng chung một dịch vụ máy chủ.<br /> JavaScript và HTML5 Canvas<br /> Khi các hệ thống CNTT đang phát triển chuyển từ các ứng dụng dựa trên<br /> desktop sang các ứng dụng dựa trên web, đòi hỏi sự tính toán phía Client nhiều<br /> hơn để tăng thời gian đáp ứng từ Server, nhờ các cải tiến trong JavaScript và<br /> HTML5 đã loại bỏ những hạn chế khi sử dụng các trình điều khiển từ phía Server<br /> và cải thiện khả năng sử dụng của các ứng dụng web.<br /> Sức mạnh của JavaScript không chỉ giới hạn trong việc phát triển các<br /> framework giao diện người dùng, mà nó còn mở rộng để phát triển các ứng dụng<br /> mạng phía máy chủ như Node.js. Xu hướng gần đây trong việc sử dụng ứng dụng<br /> di động, internet và trải nghiệm người dùng cuối trên các thiết bị PC, máy tính<br /> xách tay và thiết bị di động, JavaScript và HTML5 đã trở nên phổ biến trong việc<br /> phát triển các ứng dụng độc lập thiết bị.<br /> Như chúng ta đã biết, dữ liệu không gian địa lý là dữ liệu vector bao gồm ba<br /> loại cơ bản: điểm, đường và đa giác. Ngoài ra, mỗi tính năng chứa một số thuộc<br /> tính dữ liệu. Nhược điểm của các công nghệ lập bản đồ truyền thống là tất cả thông<br /> tin thuộc tính và vector hữu ích này đều bị mất trong quá trình chuyển đổi và hiển<br /> thị các điểm, đường thẳng và đa giác đó thành một ảnh tile raster khi hiển thị trên<br /> trình duyệt, khi đó khả năng tương tác với các thông tin trên là không có. Trong<br /> khi đó với công nghệ web hiện nay, các dữ liệu vector không gian có thể kết xuất<br /> dưới dạng vector trên trình duyệt, cho phép người dùng có thể tương tác với các<br /> đối tượng đó trên bản đồ như di chuột, nhấp hoặc nhấn vào vector này và có thể<br /> chỉnh sửa trực tiếp các vector này trong trình duyệt giống như sử dụng các ứng<br /> dụng GIS trên desktop.<br /> Để làm được như vậy, trong nhiều tính năng mà chuẩn HTML5 cung cấp, có<br /> một yếu tố quan trọng để cải thiện GIS đó là HTML5 Canvas [11]. Về cơ bản,<br /> Canvas là một ảnh bitmap được tạo động trong trình duyệt. Hiệu năng kết xuất<br /> vector của nó làm cho nó trở nên hữu ích cho các ứng dụng GIS. Như vậy, việc xử<br /> lý định dạng vector, cộng với tất cả độ phức tạp của ký hiệu và kết xuất sang bản<br /> đồ, bây giờ được chuyển sang phía client để phía server chỉ cần phân phối dữ liệu<br /> <br /> <br /> 200 H. Tuấn, N. A. Bình, P. T. H. Thanh, “Nghiên cứu ứng dụng … mạng thông tin quân sự.”<br /> Thông tin khoa học công nghệ<br /> <br /> không gian và thuộc tính mà không phải cần chuyển đổi sang ảnh tile tại Server.<br /> Điều này có nghĩa là các engine xử lý bản đồ trở nên có hiệu quả và đáp ứng tốt<br /> hơn.<br /> Thư viện lập trình tương tác bản đồ<br /> Cùng với sự thay đổi trong lĩnh vực CNTT, cộng đồng GIS cũng đã chấp nhận<br /> những tiến bộ này và phát triển nhiều framework JavaScript để hiển thị bản đồ<br /> trong trình duyệt. GIS và những phân tích của nó chủ yếu phụ thuộc vào khả năng<br /> kết xuất đồ họa và những tính toán hoặc vào phân tích các đối tượng đồ họa (như<br /> là tọa độ) và dữ liệu văn bản.<br /> Leaflets là một trong những thư viện JavaScript mã nguồn mở phổ biến cùng<br /> với nhiều framework JavaScript GIS thương mại khác có sẵn trên thị trường [7].<br /> Đây là thư viện tương tác bản đồ và các chức năng của bản đồ bằng ngôn ngữ<br /> JavaScript và HTML5. Với dung lượng nhẹ, được hỗ trợ gần như đầy đủ các tính<br /> năng truy vấn phân tích GIS, cùng với khả năng tích hợp các bản đồ miễn phí (như<br /> OpenStreetMap), đây là một trong những thư viện được người dùng sử dụng nhiều<br /> và hiện vẫn đang rất phổ biến. Một ưu điểm lớn của Leaflet là có thể được mở rộng<br /> với rất nhiều plugin, có tài liệu hướng dẫn sử dụng đơn giản dễ hiểu, ngoài ra cách<br /> thức lập trình khi sử dụng Leaflet cho phép tạo ra mã nguồn ngắn gọn mà vẫn đầy<br /> đủ các chức năng<br /> Thư viện lập trình JavaScript UI<br /> Các ứng dụng dựa trên nền tảng web thường sử dụng JavaScript cho việc lập<br /> trình ứng dụng. Các nhà phát triển có thể đơn giản việc lập trình các ứng dụng đa<br /> nền tảng bằng cách sử dụng các framework phát triển có sẵn như là Angular,<br /> React, Vue, Webix ... đã được tích hợp sẵn rất nhiều thành phần giao diện và hầu<br /> hết đều tuân thủ theo mô hình lập trình MVC. Việc tích hợp các framework<br /> JavaScript cũng khá đơn giản khi mà chỉ cần thêm tập tin framework JavaScript<br /> vào dự án và tham chiếu đến tập tin đấy trong đoạn mã cụ thể, không cần phải<br /> chỉnh sửa gì môi trường phát triển có sẵn.<br /> Một trong những thư viện lập trình JavaScript UI nổi tiếng là Webix [12], một<br /> framework sử dụng JavaScript và HTML5 để phát triển các ứng dụng đa nền tảng.<br /> Webix được phát triển bởi công ty phần mềm XB Softwares, có trụ sở tại Minsk,<br /> Belarus. Webix cung cấp cho người phát triển khả năng hoàn thiện ứng dụng web<br /> một cách nhanh chóng và tạo cấu trúc hợp lí cho ứng dụng, cho phép xây dựng các<br /> ứng dụng phức tạp ngay trong trình duyệt mà không cần dựa trên Server.<br /> 3. THIẾT KẾ VÀ THỰC HIỆN<br /> Bài báo trình bày thiết kế và thực hiện của QKGIS theo bốn phần: kiến trúc<br /> hệ thống, xử lý hiển thị dữ liệu không gian, xử lý dữ liệu thuộc tính và kết quả<br /> sản phẩm.<br /> <br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018 201<br /> Công ngh<br /> nghệệ thông tin<br /> <br /> Kiến<br /> Ki ến trúc hệ thống<br /> Đ<br /> Đểể xây dựng ththành<br /> ành m ột ứng dụng Web GIS ho<br /> một hoàn<br /> àn ch<br /> chỉnh<br /> ỉnh cho QKGIS, bbài ài báo<br /> sử<br /> ử dụng hệ quản trị nội dung (Content Management System - CMS) mã ngu nguồn<br /> ồn mở<br /> mojoPortal [8],<br /> [8], đư<br /> được<br /> ợc phát triển theo hhưướng<br /> ớng đối ttư<br /> ượng<br /> ợng dựa trtrên<br /> ên nền<br /> nền tảng C# vvàà<br /> ASP.NET. Đây là m một<br /> ột trong những CMS thích hợp cho phát triển các ứng dụng<br /> cho các doanh nnghighiệp<br /> ệp vvới<br /> ới khả năng tùy<br /> tùy ch<br /> chỉnh<br /> ỉnh và<br /> và mở<br /> mở rộng cao, khả năng bảo mật<br /> gần<br /> ần nh<br /> nhưư tuyệt<br /> tuyệt đối khi sử dụng trtrên<br /> ên nền<br /> nền tảng ASP.NET vvàà thích hhợp<br /> ợp khi sử dụng<br /> trên nnền<br /> ền tảng máy chủ IIS của Windows Server. Hệ thống CMS nnày ày giúp ti<br /> tiết<br /> ết kiệm<br /> thời gian quản lý, chi phí vận hhành<br /> thời ành và bảo<br /> ảo trì.<br /> tr<br /> <br /> <br /> <br /> <br /> Hình 11. Mô hình ki<br /> kiến<br /> ến trúc Web GIS của bbài<br /> ài báo.<br /> báo<br /> QKGIS ssử ử dụng framework Express của Node.js, mô mô--đun<br /> đun dịch<br /> dịch vụ web nổi<br /> tiếng<br /> ếng nhất trong số các mô mô-đunđun đưđược<br /> ợc đăng ký trong đăng ký npm. Express chịu<br /> trách nhiệm<br /> nhiệm tiếp nhận vvàà trả<br /> tr lời<br /> lời các yêu<br /> yêu ccầu<br /> ầu web, bản thân Node.js cung cấp chức<br /> năng máy ch chủủ web vvàà có ththểể đư<br /> được<br /> ợc thực hiện, tuy nhi<br /> nhiên,<br /> ên, đđểể cấu hhình<br /> ình mômô--đun<br /> đun web<br /> dễễ ddàng,<br /> àng, ch<br /> chẳng<br /> ẳng hạn nh<br /> nhưư ddịch<br /> ịch vụ RESTful, Express llàà mô mô-đunđun phù hhợp<br /> ợp nhất.<br /> Cơ sở<br /> sở dữ liệu QKGIS sử dụng llàà ddữ ữ liệu hạ tầng mạng thô thông<br /> ng tin quân sự sự gồm<br /> dữữ liệu không gian vvàà thu<br /> thuộcộc tính của các đối ttư ượng<br /> ợng như<br /> như Đơn vvị, ị, Tuyến truyền dẫn,<br /> Tủủ hộp, Sợi cáp. Mô hình CSDL QKGIS ssử ử dụng llàà hhệệ quản trị SQL Server vvới ới<br /> đánh chỉchỉ mục tại tr<br /> trường<br /> ờng thuộc tính không gian, có kh khảả năng llưuưu trữ<br /> tr ữ vvàà truy vvấn<br /> ấn<br /> thông tin không gian vvới<br /> thông ới hiệu suất cao. X Xử ử lý hiển thị dữ liệu không gian<br /> Hình 2 thể<br /> thể hiện ssơ<br /> ơ đđồồ xử lý hiển thị dữ liệu không gian của QKGIS llên ên nnền<br /> ền<br /> bản<br /> ản đồ. Khi Client truy ccập ập bản đồ Web GIS bằng tr trình<br /> ình duy<br /> duyệt,<br /> ệt, QKGIS sẽ xác định<br /> kích thước<br /> thước vùng<br /> vùng bbản<br /> ản đồ sẽ hiển tthhịị ở Client vvàà tính toán ra ssố ố lượng<br /> l ợng Tile (kích<br /> thước 256x256) cần hiển thị. QKGIS sử dụng th<br /> thước thư<br /> ư viện<br /> viện Leaflet để tạo ra các Tile<br /> Layer tương ứng, với mỗi Tile Layer ttương ương ứng QKGIS sẽ xử lý dữ liệu không<br /> gian ccủa<br /> ủa Tile Layer đó vvàà vẽ vẽ dữ liệu không gian llên ên nnềnn bbản<br /> ản đồ. Chi ti ết để xử<br /> tiết ử lý<br /> vẽẽ dữ liệu GIS llên<br /> ên m<br /> một<br /> ột Tile Layer thể hiện ở hình 3. 3<br /> Trong Hình 3 thểể hiện ssơ ơ đồ<br /> đồ xử lý th<br /> thành<br /> ành hai kh<br /> khối<br /> ối llàà Client và Server, trong đó<br /> ở Client sẽ tạo các Tile Layer vvàà v vẽẽ dữ liệu vector không gian llên ên Tile Layer, còn ở<br /> Server ssẽẽ là<br /> là cung ccấp<br /> ấp dữ liệu vector không gian gửi cho Client.<br /> <br /> <br /> 202 H. Tuấn,<br /> Tuấn, N. A. B<br /> Bình,<br /> ình, P. T. H. Thanh<br /> Thanh,, ““Nghiên<br /> Nghiên ccứu<br /> ứu ứng dụng … mạng sự.””<br /> ạng thông tin quân sự<br /> Thông tin khoa học công nghệ<br /> <br /> <br /> Mở bản đồ<br /> Web GIS Xác định kích thước vùng Tính số lượng Tile<br /> hiển thị bản đồ cần hiển thị<br /> <br /> <br /> Clients Tile Tile Tile<br /> <br /> Tile Tile Tile<br /> <br /> Với mỗi Tile Layer<br /> Tile Tile Tile<br /> (Leaflet.js)<br /> Tile Tile Tile Xử lý vẽ dữ liệu GIS lên Khởi tạo các Tile Layer<br /> một Tile Layer tương ứng tương ứng<br /> <br /> <br /> Clients<br /> <br /> <br /> Hình 2. Sơ đồ xử lý hiển thị dữ liệu không gian lên bản đồ.<br /> Chi tiết xử lý mô tả như sau: đầu tiên QKGIS sẽ kiểm tra xem những Tile<br /> Layer đã có dữ liệu lưu ở cache chưa, nếu Tile Layer nào có dữ liệu lưu ở cache rồi<br /> thì dùng HTML5 Canvas để vẽ lên trên Tile Layer lên bản đồ. Nếu chưa thì sẽ xác<br /> định các Tile Layer lấy dữ liệu từ server và sẽ gửi request XMLHttpRequest thông<br /> qua URI theo định dạng /rest/geodatas/[mapid]/[layerid]/tile/[z]/[x]/[y], trong đó<br /> biến [mapid] là id của bản đồ hiển thị, [layerid] là id của lớp bản đồ hiển thị (ví dụ:<br /> lớp tủ hộp, lớp sợi cáp …), [z] là tỉ lệ zoom, [x] và [y] là tọa độ mảnh tile trong<br /> vùng hiển thị.<br /> CLIENTS SERVER<br /> <br /> <br /> Ur i X M LH t tp R e q u e s t<br /> (XMLHttpRequest) / r es t / g eo d at a s / [ ma p id ] / [ l a y e r i d ] / ti l e / [ z ] / [ x ] / [ y ]<br /> Load dữ liệu GIS Kiểm tra<br /> No Request dữ liệu GIS<br /> cho Tile Layer có cache tile?<br /> của Tile Layer<br /> <br /> <br /> <br /> <br /> Yes<br /> Load dữ liệu cache (Node.js RESTful Service)<br /> của Tile Layer Xử lý Route tham chiếu<br /> Đánh chỉ mục<br /> thuộc tính không gian<br /> <br /> <br /> (HTML5 Canvas) (Node.js Express) Query data<br /> Vẽ lớp nhãn bản đồ Truy vấn dữ liệu<br /> <br /> No CSDL<br /> Tile Tile Tile SQL Server<br /> (HTML5 Canvas) (Node.js Express)<br /> Tile Tile Tile Yes Hiển thị nhãn? Vẽ dữ liệu GIS lên JSON Chuyển đổi dữ liệu trả về Return data<br /> Tile Layer thành Json<br /> <br /> Hiển thị dữ liệu GIS<br /> trên Tile Layer<br /> <br /> <br /> <br /> Hình 3. Sơ đồ chi tiết xử lý vẽ dữ liệu GIS lên một Tile Layer.<br /> Sau khi gửi request đến Server, dịch vụ RESTful của Node.js sẽ nhận được<br /> request URI và ánh xạ đến hàm truy vấn dữ liệu tương ứng như hình 4.<br /> <br /> <br /> <br /> <br /> Hình 4. Hàm xử lý Request URI của dịch vụ RESTful Node.js.<br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018 203<br /> Công nghệ thông tin<br /> <br /> Trong hàm truy vấn dữ liệu sẽ lấy dữ liệu từ CSDL lên, chuyển đổi dữ liệu<br /> thành định dạng Json và gửi dữ liệu Json về Client như hình 5.<br /> <br /> <br /> <br /> <br /> Hình 5. Cấu trúc dữ liệu json trả về Client.<br /> Tại Client, khi nhận được dữ liệu Json từ Server gửi về, QKGIS sẽ dùng<br /> JavaScript và HTML5 Canvas để vẽ dữ liệu vector không gian lên trên Tile Layer,<br /> vẽ xong sẽ kết xuất thành ảnh đối tượng trên lớp bản đồ.<br /> Xử lý dữ liệu thuộc tính<br /> Để xử lý xem/thêm/xóa/sửa đối với dữ liệu thuộc tính, QKGIS sử dụng thư<br /> viện lập trình JavaScript UI Webix với cách xử lý dữ liệu theo sơ đồ ở hình 6.<br /> CLIENTS SERVER<br /> Ur i X M LH t tp R e q u e s t<br /> /rest/geodatas/:featureclass<br /> <br /> Mở bản đồ<br /> Web GIS (XMLHttpRequest) (Node.js RESTful Service)<br /> Get | Post | Push | Delete Xử lý Route tham chiếu<br /> Đánh chỉ mục<br /> Clients thuộc tính không gian<br /> <br /> <br /> (Node.js Express)<br /> Query data<br /> Select|Insert|Update|Delete<br /> CSDL<br /> SQL Server<br /> (Node.js Express)<br /> (Webix Controls)<br /> JSON Chuyển đổi dữ liệu trả về Return data<br /> Xử lý dữ liệu JSON (nếu có)<br /> thành Json (nếu có)<br /> <br /> Hiển thị kết quả<br /> dữ liệu<br /> <br /> <br /> Hình 6. Sơ đồ xử lý dữ liệu thuộc tính dùng JavaScript UI Webix.<br /> Cũng giống như xử lý hiển thị dữ liệu không gian, khi Client gửi một yêu cầu<br /> xem/thêm/xóa/sửa dữ liệu thuộc tính, Webix trong QKGIS sẽ tạo ra các request<br /> URI XMLHttpRequest tương ứng Get/Post/Push/Delete và gửi về Server, dịch vụ<br /> RESTful của Node.js sẽ nhận được request URI và ánh xạ đến hàm xử lý dữ liệu<br /> tương ứng với select/insert/update/delete của SQL Server. Tùy từng lệnh request,<br /> SQL Server sẽ trả về kết quả dữ liệu tương ứng, QKGIS sẽ chuyển đổi sang định<br /> dạng Json và gửi về Client. Tại Client, khi nhận được dữ liệu Json từ Server gửi về,<br /> QKGIS sẽ dùng các trình điều khiển trong thư viện Webix để xử lý và hiển thị dữ<br /> liệu lên trình duyệt.<br /> Kết quả sản phẩm<br /> <br /> <br /> 204 H. Tuấn, N. A. Bình, P. T. H. Thanh, “Nghiên cứu ứng dụng … mạng thông tin quân sự.”<br /> Thông tin khoa học công nghệ<br /> <br /> <br /> <br /> <br /> Hình 7. Ứng dụng QKGIS trong hạ tầng mạng thông tin quân sự.<br /> Dữ liệu chuyên đề trong nghiên cứu này bao gồm dữ liệu hạ tầng mạng thông<br /> tin quân sự, các đối tượng không gian quản lý gồm có Đơn vị, Tuyến truyền dẫn,<br /> Tủ hộp, Sợi cáp. Trong hình 7, QKGIS hiển thị các dữ liệu không gian lên bản đồ,<br /> các dữ liệu này được phân loại thành nhiều lớp chi tiết khác nhau được hiển thị<br /> theo hình cây và cho phép lọc ẩn/hiển lớp dữ liệu đó trên bản đồ.<br /> QKGIS cho phép cấu hình định dạng dữ liệu hiển thị không gian khi hiển thị<br /> lên bản đồ và chỉnh sửa trực tiếp trên bản đồ. Hình 8 thể hiện vẽ các tuyến sợi cáp<br /> bám theo đường địa hình.<br /> <br /> <br /> <br /> <br /> Hình 8. Hiển thị dữ liệu không gian trên Tile Layer của Leaflet.<br /> Trong hình 9, QKGIS dùng trình điều khiển TreeTable của Webix để hiển thị<br /> để hiển thị dữ liệu thuộc tính là danh sách các đơn vị với các chức năng<br /> thêm/xóa/sửa dữ liệu đơn vị.<br /> <br /> <br /> <br /> <br /> Hình 9. Hiển thị dữ liệu thuộc tính bằng TreeTable của Webix.<br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018 205<br /> Công nghệ thông tin<br /> <br /> Ứng dụng QKGIS đã đáp ứng các yêu cầu quản lý, cập nhật, chia sẻ, cung cấp<br /> thông tin về hạ tầng mạng thông tin phục vụ công tác quản lý hạ tầng mạng thông<br /> tin quân sự cấp Quân khu. Việc có một cơ sở dữ liệu thông tin đầy đủ về hạ tầng<br /> mạng thông tin quân sự cấp Quân khu chạy trên môi trường mạng truyền số liệu<br /> quân sự đã giúp cho các phòng, ban chuyên môn và cán bộ, nhân viên ngành thông<br /> tin của các đơn vị dễ dàng tra cứu thông tin cần thiết cho công tác tham mưu và<br /> thực hiện các nhiệm vụ được giao một cách nhanh chóng, chính xác. Có thể nói,<br /> việc ứng dụng GIS phục vụ công tác quản lý mạng thông tin quân sự là bước kế<br /> tiếp, tiếp tục làm tốt vai trò thúc đẩy các hệ thống thông tin địa lý khác nối tiếp<br /> nhau ra đời. Từ đó, hình thành nên hệ thống thông tin địa lý ngày càng hoàn thiện<br /> hơn; là tiền đề, động lực thúc đẩy các đơn vị có điều kiện ứng dụng CNTT để hiện<br /> đại hóa công tác quản lý, điều hành.<br /> 4. KẾT LUẬN<br /> Bài báo đã đưa ra mô hình xây dựng một Web GIS hoàn chỉnh sử dụng<br /> Node.js làm máy chủ bản đồ. Để hiển thị dữ liệu không gian trên bản đồ, bài báo<br /> cũng đã sử dụng JavaScript và HTML5 Canvas để vẽ trên layer của Leaflet. Ngoài<br /> ra, bài báo cũng đã xây dựng giao diện Web GIS bằng thư viện JavaScript UI<br /> Webix để đưa xử lý giao diện cũng như xử lý hiển thị dữ liệu thuộc tính về phía<br /> Client nhằm giảm bớt công việc xử lý ở Server. Cách tiếp cận xây dựng hệ thống<br /> trên nền tảng mã nguồn mở giúp tiết kiệm chi phí bản quyền phần mềm và các chi<br /> phí bảo trì, nâng cấp phần mềm của nhà cung cấp. Mặc dù các kết quả của còn hạn<br /> chế nhưng đã được ứng dụng vào công tác quản lý và khai thác hạ tầng mạng<br /> thông tin quân sự tại đơn vị thụ hưởng cho thấy sự hiệu quả của việc ứng dụng<br /> công nghệ Web GIS. Đây cũng là tiền đề cho việc mở rộng ứng dụng hệ thống<br /> Web GIS vào quản lý hạ tầng mạng thông tin quân sự về sau.<br /> TÀI LIỆU THAM KHẢO<br /> [1]. H. B. Hùng, “Ứng dụng GIS trong quản lý hạ tầng ngầm cáp viễn thông và<br /> quy hoạch trạm BTS trên địa bàn thành phố Huế”, Đề tài NCKH cấp Bộ<br /> Thông tin và truyền thông, 2011.<br /> [2]. P. T. N. Quyên, “Ứng dụng công nghệ GIS trong quản lý hạ tầng viễn thông<br /> trên địa bàn tỉnh Quảng Nam”, Đề tài NCKH cấp tỉnh Quảng Nam, 2012.<br /> [3]. Boulos, M., Warren, J., Gong, J., and Yue, P. “Web GIS in practice VIII:<br /> HTML5 and the canvas element for interactive online mapping”. International<br /> Journal of Health Geographics, 9 (1), 14, 2010.<br /> [4]. Chhetri, N., “A Comparative Analysis of Node.js (Server-Side JavaScript)”.<br /> Culminating Projects in Computer Science and Information Technology, St.<br /> Cloud State University, 2016.<br /> <br /> <br /> <br /> 206 H. Tuấn, N. A. Bình, P. T. H. Thanh, “Nghiên cứu ứng dụng … mạng thông tin quân sự.”<br /> Thông tin khoa học công nghệ<br /> <br /> [5]. Jun, S. H; Doh, K. T, “Design and Implementation of Web GIS Server Using<br /> Node.js”, Journal of KSIS, 21(3):45-53, 2013.<br /> [6]. Li, Z., et al., “An optimized framework for seamlessly integrating OGC Web<br /> Services to support geospatial sciences”. International Journal of<br /> Geographical Information Science, 2011. 25(4): p. 595-613.<br /> [7]. Leaflet, 2018, https://leafletjs.com.<br /> [8]. mojoPortal, https://www.mojoportal.com.<br /> [9]. Node.js, 2018, https://nodejs.org.<br /> [10]. Sheng, Q.Z., et al., “Web services composition: A decade’s overview.<br /> Information Sciences”, 2014. 280: p. 218-238.<br /> [11]. HTML5-A vocabulary and associated APIs for HTML and XHTML,<br /> http://www.w3.org/TR/html5/]<br /> [12]. Webix, 2018, https://webix.com<br /> ABSTRACT<br /> APPLICATION OF WEB GIS TECHNOLOGY IN MILITARY INFORMATION<br /> NETWORK INFRASTRUCTURE DATA MANAGEMENT<br /> This paper presents a Web-based GIS system for military information<br /> network management and operation. The system based on Client-Server<br /> architecture, using Node.js as GIS Server, integrated Leaflet and JavaScript -<br /> HTML 5 Canvas for map tile. GIS database stored in SQL Server with spatial<br /> index supporting and standard spatial query function. In addition, Javascript<br /> UI platform enables to transfer data quickly, real-time data synchronization,<br /> easy to use and high performance.<br /> Keywords: Web gis; Node.js; Leaflet; Javascript; Html5 canvas; Webix; Information network.<br /> <br /> <br /> Nhận bài ngày 28 tháng 6 năm 2018<br /> Hoàn thiện ngày 24 tháng 9 năm 2018<br /> Chấp nhận đăng ngày 05 tháng 11 năm 2018<br /> <br /> 1<br /> Địa chỉ: Viện Công nghệ thông tin – Viện KH-CN quân sự - Bộ Quốc phòng;<br /> 2<br /> Viện Địa lý Tài nguyên Thành phố Hồ Chí Minh (VAST).<br /> *<br /> Email: hgtuan2003@gmail.com.<br /> <br /> <br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018 207<br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2