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ự
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,
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
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
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
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
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
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
cứu và phát triển.
Trong lĩnh vực quản lý hạ tầng mạng viễn thông nói chung, GIS cũng đã được
á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,
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
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
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ý
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
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
đồng bộ
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tóm tắt nội dung tài liệu: 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ự
và kết xuất sang bản đồ, bây giờ được chuyển sang phía client để phía server chỉ cần phân phối dữ liệu Thông tin khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018 201 không gian và thuộc tính mà không phải cần chuyển đổi sang ảnh tile tại Server. Đ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 hơn. Thư viện lập trình tương tác bản đồ Cùng với sự thay đổi trong lĩnh vực CNTT, cộng đồng GIS cũng đã chấp nhận những tiến bộ này và phát triển nhiều framework JavaScript để hiển thị bản đồ 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 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ư là tọa độ) và dữ liệu văn bản. Leaflets là một trong những thư viện JavaScript mã nguồn mở phổ biến cùng với nhiều framework JavaScript GIS thương mại khác có sẵn trên thị trường [7]. Đâ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ữ JavaScript và HTML5. Với dung lượng nhẹ, được hỗ trợ gần như đầy đủ các tính 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ư OpenStreetMap), đây là một trong những thư viện được người dùng sử dụng nhiều 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 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 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 đủ các chức năng Thư viện lập trình JavaScript UI 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 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 nền tảng bằng cách sử dụng các framework phát triển có sẵn như là Angular, React, Vue, Webix ... đã được tích hợp sẵn rất nhiều thành phần giao diện và hầu hết đều tuân thủ theo mô hình lập trình MVC. Việc tích hợp các framework JavaScript cũng khá đơn giản khi mà chỉ cần thêm tập tin framework JavaScript 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 chỉnh sửa gì môi trường phát triển có sẵn. Một trong những thư viện lập trình JavaScript UI nổi tiếng là Webix [12], một framework sử dụng JavaScript và HTML5 để phát triển các ứng dụng đa nền tảng. Webix được phát triển bởi công ty phần mềm XB Softwares, có trụ sở tại Minsk, Belarus. Webix cung cấp cho người phát triển khả năng hoàn thiện ứng dụng web 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 ứng dụng phức tạp ngay trong trình duyệt mà không cần dựa trên Server. 3. THIẾT KẾ VÀ THỰC HIỆN 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 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ả sản phẩm. 202 Ki sử dụng hệ quản trị nội dung (Content Management System mojoPortal ASP.NET. Đây là m cho các doanh gần nh trên n th tiếng nhất trong số các mô trách nhi năng máy ch dễ d dữ liệu không gian v Tủ hộp, Sợi cáp. đánh ch thô bản đồ. kích thư thư Layer tương gian c vẽ dữ liệu GIS l ở Client sẽ tạo các Tile Layer v Server s ến trúc hệ thống Đ ời gian quản lý, chi phí vận h QKGIS s àng, ch Cơ s ng tin không gian v Hình 2 ớc 256x256) cần hiển thị. QKGIS sử dụng th Trong H. Tu ể xây dựng th ư tuy ền tảng máy chủ IIS của Windows Server. Hệ thống CMS n ủa Tile Layer đó v ệm tiếp nhận v ở dữ liệu QKGIS sử dụng l ỉ mục tại tr Khi Client truy c ớc v ẽ l ấn, N. A. B [8] ệt đối khi sử dụng tr ẳng hạn nh th Hình 3 à cung c , đư n ử dụng framework Express của Node.js, mô ủ web v ể hiện s ùng b ứng, với mỗi Tile Layer t ghi Hình Mô hình CSDL QKGIS s ên m ình, P. T. H. Thanh ành m ợc phát triển theo h ột trong những CMS thích hợp cho phát triển các ứng dụng ệp à có th à thu ường thuộc tính không gian, ản đồ sẽ hiển t ột Tile Layer thể hiện ở thể hiện s ấp dữ liệu vector không gian gửi cho Client. v 1 à tr ư d ới hiệu suất cao. ơ đ ột ứng dụng Web GIS ho ới khả năng t . Mô hình ki ịch vụ RESTful, Express l ộc tính của các đối t ồ xử lý hiển thị dữ liệu không gian của QKGIS l ập bản đồ Web GIS bằng tr à v -đun đư ả l ể đ ẽ dữ liệu không gian l ơ đ ành và ời các y ư ồ xử lý th à v ên n ợc thực hiện, tuy nhi h ẽ dữ liệu vector không gian l , “ ùy ch ền tảng ASP.NET v ến trúc Web GIS của b ợc đăng ký trong đăng ký npm. Express chịu êu c à d ị ở Client v Nghiên c ư bảo tr ữ liệu hạ tầng mạng thô X ương ớng đối t ỉnh v ầu web, bản thân Node.js cung cấp chức ử lý hiển thị dữ liệu không gian ành hai kh ì. ư ử dụng l ứng QKGIS sẽ xử lý dữ liệu không hình 3 ứu ứng dụng à m ợng nh à tính toán ra s ư à mô có kh ư vi ên n . ối l àn ch ợng dựa tr ở rộng cao, khả năng bảo mật ên, đ ư Đơn v à h ình duy ện Leaflet để tạo ra các Tile -đun phù h ệ quản trị SQL Server ả năng l ền b à Client và Server, trong đó ỉnh cho QKGIS, b à thích h ài báo - ể cấu h ệt, QKGIS sẽ xác định ản đồ. Chi mạng thông tin quân sự - CMS) mã ngu đun d ị, Tuyến truyền dẫn, ên Tile Layer, còn Công ngh ên n . ng tin quân s ưu tr ố l ền tảng C# v ợp khi sử dụng ày giúp ti ịch vụ web nổi ình mô ợp nhất. ượng Tile (kích ữ v ti ệ thông tin - à truy v ết để ài báo ồn mở ết kiệm đun web ự gồm ên n v xử lý .” à ới ấn ền ở Thông tin khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018 203 Xác định kích thước vùng hiển thị bản đồ Tính số lượng Tile cần hiển thị (Leaflet.js) Khởi tạo các Tile Layer tương ứng Clients Mở bản đồ Web GIS Xử lý vẽ dữ liệu GIS lên một Tile Layer tương ứng Clients Tile Tile Tile TileTileTile Với mỗi Tile Layer Tile Tile Tile TileTileTile Hình 2. Sơ đồ xử lý hiển thị dữ liệu không gian lên bản đồ. Chi tiết xử lý mô tả như sau: đầu tiên QKGIS sẽ kiểm tra xem những Tile 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 thì dùng HTML5 Canvas để vẽ lên trên Tile Layer lên bản đồ. Nếu chưa thì sẽ xác định các Tile Layer lấy dữ liệu từ server và sẽ gửi request XMLHttpRequest thông qua URI theo định dạng /rest/geodatas/[mapid]/[layerid]/tile/[z]/[x]/[y], trong đó 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ụ: 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 vùng hiển thị. (XMLHttpRequest) Request dữ liệu GIS của Tile Layer (Node.js RESTful Service) Xử lý Route tham chiếu (Node.js Express) Truy vấn dữ liệu (Node.js Express) Chuyển đổi dữ liệu trả về thành Json (HTML5 Canvas) Vẽ dữ liệu GIS lên Tile Layer JSON No Kiểm tra có cache tile? Load dữ liệu cache của Tile Layer Yes Hiển thị nhãn? (HTML5 Canvas) Vẽ lớp nhãn bản đồ No Yes CSDL SQL Server Query data Đánh chỉ mục thuộc tính không gian Return data Load dữ liệu GIS cho Tile Layer Ur i XM LHt tpReques t / r est /geodat as/[ma p id ]/ [ l ayer i d]/ t i l e/[ z ] / [ x ]/[ y] Hiển thị dữ liệu GIS trên Tile Layer Tile Tile TileTileTile Tile CLIENTS SERVER Hình 3. Sơ đồ chi tiết xử lý vẽ dữ liệu GIS lên một Tile Layer. Sau khi gửi request đến Server, dịch vụ RESTful của Node.js sẽ nhận được request URI và ánh xạ đến hàm truy vấn dữ liệu tương ứng như hình 4. Hình 4. Hàm xử lý Request URI của dịch vụ RESTful Node.js. Công nghệ thông tin 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ự.” 204 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 thành định dạng Json và gửi dữ liệu Json về Client như hình 5. Hình 5. Cấu trúc dữ liệu json trả về Client. Tại Client, khi nhận được dữ liệu Json từ Server gửi về, QKGIS sẽ dùng JavaScript và HTML5 Canvas để vẽ dữ liệu vector không gian lên trên Tile Layer, vẽ xong sẽ kết xuất thành ảnh đối tượng trên lớp bản đồ. Xử lý dữ liệu thuộc tính Để xử lý xem/thêm/xóa/sửa đối với dữ liệu thuộc tính, QKGIS sử dụng thư viện lập trình JavaScript UI Webix với cách xử lý dữ liệu theo sơ đồ ở hình 6. (XMLHttpRequest) Get | Post | Push | Delete (Node.js RESTful Service) Xử lý Route tham chiếu (Node.js Express) Select|Insert|Update|Delete (Node.js Express) Chuyển đổi dữ liệu trả về thành Json (nếu có) (Webix Controls) Xử lý dữ liệu JSON (nếu có) JSON CSDL SQL Server Query data Đánh chỉ mục thuộc tính không gian Return data Ur i XM LHt tpReques t /rest/geodatas/:featureclass CLIENTS SERVER Clients Mở bản đồ Web GIS Hiển thị kết quả dữ liệu Hình 6. Sơ đồ xử lý dữ liệu thuộc tính dùng JavaScript UI Webix. 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 xem/thêm/xóa/sửa dữ liệu thuộc tính, Webix trong QKGIS sẽ tạo ra các request URI XMLHttpRequest tương ứng Get/Post/Push/Delete và gửi về Server, dịch vụ RESTful của Node.js sẽ nhận được request URI và ánh xạ đến hàm xử lý dữ liệu tương ứng với select/insert/update/delete của SQL Server. Tùy từng lệnh request, SQL Server sẽ trả về kết quả dữ liệu tương ứng, QKGIS sẽ chuyển đổi sang định dạng Json và gửi về Client. Tại Client, khi nhận được dữ liệu Json từ Server gửi về, QKGIS sẽ dùng các trình điều khiển trong thư viện Webix để xử lý và hiển thị dữ liệu lên trình duyệt. Kết quả sản phẩm Thông tin khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018 205 Hình 7. Ứng dụng QKGIS trong hạ tầng mạng thông tin quân sự. 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 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, 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 đồ, 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ị theo hình cây và cho phép lọc ẩn/hiển lớp dữ liệu đó trên bản đồ. QKGIS cho phép cấu hình định dạng dữ liệu hiển thị không gian khi hiển thị 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 bám theo đường địa hình. Hình 8. Hiển thị dữ liệu không gian trên Tile Layer của Leaflet. Trong hình 9, QKGIS dùng trình điều khiển TreeTable của Webix để hiển thị để 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 thêm/xóa/sửa dữ liệu đơn vị. Hình 9. Hiển thị dữ liệu thuộc tính bằng TreeTable của Webix. Công nghệ thông tin 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ự.” 206 Ứng dụng QKGIS đã đáp ứng các yêu cầu quản lý, cập nhật, chia sẻ, cung cấp 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 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 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 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 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à 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, 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ế 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 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 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 đại hóa công tác quản lý, điều hành. 4. KẾT LUẬN Bài báo đã đưa ra mô hình xây dựng một Web GIS hoàn chỉnh sử dụng 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 cũng đã sử dụng JavaScript và HTML5 Canvas để vẽ trên layer của Leaflet. Ngoài ra, bài báo cũng đã xây dựng giao diện Web GIS bằng thư viện JavaScript UI 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 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 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 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 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 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 công nghệ Web GIS. Đây cũng là tiền đề cho việc mở rộng ứng dụng hệ thống Web GIS vào quản lý hạ tầng mạng thông tin quân sự về sau. TÀI LIỆU THAM KHẢO [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à quy hoạch trạm BTS trên địa bàn thành phố Huế”, Đề tài NCKH cấp Bộ Thông tin và truyền thông, 2011. [2]. P. T. N. Quyên, “Ứng dụng công nghệ GIS trong quản lý hạ tầng viễn thông trên địa bàn tỉnh Quảng Nam”, Đề tài NCKH cấp tỉnh Quảng Nam, 2012. [3]. Boulos, M., Warren, J., Gong, J., and Yue, P. “Web GIS in practice VIII: HTML5 and the canvas element for interactive online mapping”. International Journal of Health Geographics, 9 (1), 14, 2010. [4]. Chhetri, N., “A Comparative Analysis of Node.js (Server-Side JavaScript)”. Culminating Projects in Computer Science and Information Technology, St. Cloud State University, 2016. Thông tin khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018 207 [5]. Jun, S. H; Doh, K. T, “Design and Implementation of Web GIS Server Using Node.js”, Journal of KSIS, 21(3):45-53, 2013. [6]. Li, Z., et al., “An optimized framework for seamlessly integrating OGC Web Services to support geospatial sciences”. International Journal of Geographical Information Science, 2011. 25(4): p. 595-613. [7]. Leaflet, 2018, https://leafletjs.com. [8]. mojoPortal, https://www.mojoportal.com. [9]. Node.js, 2018, https://nodejs.org. [10]. Sheng, Q.Z., et al., “Web services composition: A decade’s overview. Information Sciences”, 2014. 280: p. 218-238. [11]. HTML5-A vocabulary and associated APIs for HTML and XHTML, ] [12]. Webix, 2018, https://webix.com ABSTRACT APPLICATION OF WEB GIS TECHNOLOGY IN MILITARY INFORMATION NETWORK INFRASTRUCTURE DATA MANAGEMENT This paper presents a Web-based GIS system for military information network management and operation. The system based on Client-Server architecture, using Node.js as GIS Server, integrated Leaflet and JavaScript - HTML 5 Canvas for map tile. GIS database stored in SQL Server with spatial index supporting and standard spatial query function. In addition, Javascript UI platform enables to transfer data quickly, real-time data synchronization, easy to use and high performance. Keywords: Web gis; Node.js; Leaflet; Javascript; Html5 canvas; Webix; Information network. Nhận bài ngày 28 tháng 6 năm 2018 Hoàn thiện ngày 24 tháng 9 năm 2018 Chấp nhận đăng ngày 05 tháng 11 năm 2018 Địa chỉ: 1 Viện Công nghệ thông tin – Viện KH-CN quân sự - Bộ Quốc phòng; 2 Viện Địa lý Tài nguyên Thành phố Hồ Chí Minh (VAST). * Email: hgtuan2003@gmail.com.
File đính kèm:
- nghien_cuu_ung_dung_web_gis_trong_quan_ly_du_lieu_ha_tang_ma.pdf