Công nghệ thông tin
NGHIÊN CỨU ỨNG DỤNG WEB GIS TRONG QUẢN LÝ DỮ
LIỆU HẠ TẦNG MẠNG THƠNG TIN QN SỰ
Hồng Tuấn 1*, Nguyễn An Bình2, Phạm Thị Hồng Thanh1
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ý
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. Cơ sở
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
truy vấn khơng gian. Ngồi ra, sử dụng nền tảng lập trình giao diện bằng JavaScript
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
năng cao và dễ sử dụng.
Từ khóa: Web gis; Node.js; Leaflet; Java script; Html5 canvas; Webix; Mạng thông tin.
1. GIỚI THIỆU CHUNG
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ộ ...
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
Desktop), mạng truyền tải thông tin (Web GIS) và các thiết bị di động (Mobile
GIS). Trong đó, Web GIS có đầy đủ các chức năng xử lý và phân tích dữ liệu
khơng gian như một phần mềm GIS Desktop nhưng được chia sẻ trên mạng truyền
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
(CSDL) chuẩn hóa và đồng bộ. Thơng thường, việc xử lý dữ liệu không gian và
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 đồ
(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
Application Interface Program – Map API). Vì vậy, những nghiên cứu về Web GIS
ngồ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
công nghệ mới để tăng cường hiệu suất tương tác của hệ thống.
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ự.”
Thông tin khoa học công nghệ
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
lý hạ tầng mạng thơng tin qn sự, việc ứng dụng Web GIS để xây dựng hệ thống
quản lý hạ tầng mạng thơng tin qn sự có ưu điểm là cho phép nhiều người dùng
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
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
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ữ
liệu trên trình duyệt web mà khơng cần phải u cầu cài đặt phức tạp. Điều này
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
thác Mạng thông tin chỉ huy điều hành cấp Quân khu.
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
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
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
bởi Ryan Dhal trong năm 2009 sử dụng ngôn ngữ JavaScript. Thêm vào đó,
QKGIS sử dụng thư viện bản đồ Leaflet kết hợp với JavaScript và HTML5 Canvas
ở 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
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
JavaScript UI Webix [12] 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 năng cao. Trong phần ba, bài báo sẽ trình bày phần thiết kế
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,
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
quả sản phẩm.
2. CÁC CƠNG NGHỆ LIÊN QUAN
Dịch vụ máy chủ bản đồ Node.js
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
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
chuẩn không gian địa lý do OGC (Open Geospatial Consortium) – một tổ chức phi
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
vụ, đã đưa ra các đặc tả về các loại dịch vụ như WMS, WFS, WCS [6]. Các dịch
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
cấp sẵn từ các phần mềm máy chủ bản đồ.
Node.js là một ứng dụng JavaScript chạy runtime được xây dựng trên nền V8
JavaScript engine - một trình thông dịch JavaScript nổi tiếng bởi hiệu suất sử dụng
rất nhanh do Google phát triển, sử dụng kỹ thuật điều khiển theo sự kiện,
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
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
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ề
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ư
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ó
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
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018
199
Công nghệ thông tin
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ụ
chuẩn OGC [5].
Các dịch vụ web RESTful sử dụng mơ hình REST (Representational State
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ô
lớn. Dịch vụ web RESTful được xác định bởi các địa chỉ URI, cung cấp địa chỉ
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
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),
PUT (cập nhật), DELETE (xóa) và POST (tạo mới) [10]. Ngồi ra, một trong
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ữ
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à
chức năng khác nhau nhưng sử dụng chung một dịch vụ máy chủ.
JavaScript và HTML5 Canvas
Khi các hệ thống CNTT đang phát triển chuyển từ các ứng dụng dựa trên
desktop sang các ứng dụng dựa trên web, địi hỏi sự tính tốn phía Client nhiều
hơn để tăng thời gian đáp ứng từ Server, nhờ các cải tiến trong JavaScript và
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
và cải thiện khả năng sử dụng của các ứng dụng web.
Sức mạnh của JavaScript không chỉ giới hạn trong việc phát triển các
framework giao diện người dùng, mà nó cịn mở rộng để phát triển các ứng dụng
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
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
xách tay và thiết bị di động, JavaScript và HTML5 đã trở nên phổ biến trong việc
phát triển các ứng dụng độc lập thiết bị.
Như chúng ta đã biết, dữ liệu không gian địa lý là dữ liệu vector bao gồm ba
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
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
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
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
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
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
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
đố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ể
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
dụng GIS trên desktop.
Để làm được như vậy, trong nhiều tính năng mà chuẩn HTML5 cung cấp, có
một yếu tố quan trọng để cải thiện GIS đó là HTML5 Canvas [11]. Về cơ bản,
Canvas là một ảnh bitmap được tạo động trong trình duyệt. Hiệu năng kết xuất
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ử
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
đồ, bây giờ được chuyển sang phía client để phía server chỉ cần phân phối dữ liệu
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ự.”
Thơng tin khoa học cơng nghệ
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 tố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.
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018
201
Công ngh
nghệệ thông tin
Kiến
Ki
ến trúc hệ thống
thành
ành m
ột ứng dụng Web GIS ho
hoàn
àn ch
chỉnh
ỉnh cho QKGIS, bbài
ài báo
Đ
Đểể xây dựng th
một
sử
ử dụng hệ quản trị nội dung (Content Management System - CMS) mã ngu
nguồn
ồn mở
được
ợc phát triển theo hhư
ướng
ớng đối ttư
ượng
ợng dựa tr
trên
ên nền
nền tảng C# vvàà
mojoPortal [8],
[8], đư
một
ột trong những CMS thích hợp cho phát triển các ứng dụng
ASP.NET. Đây là m
ghiệp
ệp vvới
ới khả năng tùy
tùy ch
chỉnh
ỉnh và
và m
mở
ở rộng cao, khả năng bảo mật
cho các doanh nnghi
gần
trên
ên nền
nền tảng ASP.NET vvàà thích hhợp
ợp khi sử dụng
ần nh
như
ư tuyệt
tuyệt đối khi sử dụng tr
trên nnền
ền tảng máy chủ IIS của Windows Server. Hệ thống CMS nnày
ày giúp ti
tiết
ết kiệm
th
tr
ời gian quản lý, chi phí vận hhành
ành và bảo
ảo trì.
thời
kiến
Hình 11. Mơ hình ki
ến trúc Web GIS của bbài
ài báo.
báo
dịch vụ web nổi
ử dụng framework Express của Node.js, mô
mô--đun
đun dịch
QKGIS ssử
tiếng
ếng nhất trong số các mô
mô-đun
đun đư
được
ợc đăng ký trong đăng ký npm. Express chịu
yêu ccầu
tr lời
lời các yêu
ầu web, bản thân Node.js cung cấp chức
trách nhiệm
nhiệm tiếp nhận vvàà trả
thểể đư
được
ình mơ
đun web
ợc thực hiện, tuy nhi
nhiên,
ên, đđểể cấu hhình
năng máy ch
chủủ web vvàà có th
mơ--đun
dễễ ddàng,
như
ợp nhất.
ịch vụ RESTful, Express llàà mô
mô-đun
đun phù hhợp
àng, ch
chẳng
ẳng hạn nh
ư ddịch
ữ liệu hạ tầng mạng thô
thông
ng tin quân sự
sự gồm
Cơ sở
sở dữ liệu QKGIS sử dụng llàà ddữ
dữ
ộc tính của các đối ttư
ị, Tuyến truyền dẫn,
ượng
ợng như
như Đơn vvị,
ữ liệu không gian vvàà thu
thuộc
Tủ
ới
ử dụng là
là hhệệ quản trị SQL Server vvới
ủ hộp, Sợi cáp. Mơ hình CSDL QKGIS ssử
khảả năng llưu
ờng thuộc tính khơng gian, có kh
tr ữ vvàà truy vvấn
trường
ấn
ưu trữ
đánh chỉ
chỉ mục tại tr
ới hiệu suất cao. X
Xử
thông tin không gian vvới
ử lý hiển thị dữ liệu không gian
thông
thể hiện ssơ
ên nnền
ền
ồ xử lý hiển thị dữ liệu khơng gian của QKGIS llên
Hình 2 thể
ơ đđồ
bản
ình duy
ệt, QKGIS sẽ xác định
ập bản đồ Web GIS bằng tr
trình
duyệt,
ản đồ. Khi Client truy ccập
thước vùng
l ợng Tile (kích
ản đồ sẽ hiển tthhịị ở Client vvàà tính tốn ra ssố
vùng bbản
ố lượng
kích thước
thư
ớc 256x256) cần hiển thị. QKGIS sử dụng th
thư
ư viện
viện Leaflet để tạo ra các Tile
thước
ương ứng QKGIS sẽ xử lý dữ liệu không
Layer tương ứng, với mỗi Tile Layer ttương
gian ccủa
ủa Tile Layer đó vvàà vẽ
ết để xử
ử lý
ản đồ. Chi ti
ên nnềnn bbản
vẽ dữ liệu không gian llên
tiết
vẽẽ dữ liệu GIS llên
ột Tile Layer thể hiện ở hình 3.
ên m
một
3
ành hai kh
khối
ơ đồ
thành
đồ xử lý th
ối llàà Client và Server, trong đó
Trong Hình 3 thểể hiện ssơ
ở 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 ở
ấp dữ liệu vector không gian gửi cho Client.
Server ssẽẽ là
là cung ccấp
202 H. Tuấn,
Tuấn, N. A. B
Bình,
ình, P. T. H. Thanh
Thanh,, ““Nghiên
Nghiên ccứu
ứu ứng dụng … mạng
ạng thông tin quân sự
sự.””
Thông tin khoa học công nghệ
Mở bản đồ
Web GIS
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ị
Clients
Tile
Tile
Tile
Tile
Tile
Tile
Tile
Tile
Tile
Tile
Tile
Tile
Với mỗi Tile Layer
(Leaflet.js)
Khởi tạo các Tile Layer
tương ứng
Xử lý vẽ dữ liệu GIS lên
một Tile Layer tương ứng
Clients
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ị.
CLIENTS
Load dữ liệu GIS
cho Tile Layer
Kiểm tra
có cache tile?
Yes
SERVER
No
(XMLHttpRequest)
Request dữ liệu GIS
của Tile Layer
Ur i X M LH t tp R e q u e s t
/ 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 ]
Load dữ liệu cache
của Tile Layer
(Node.js RESTful Service)
Xử lý Route tham chiếu
(HTML5 Canvas)
Vẽ lớp nhãn bản đồ
(Node.js Express)
Truy vấn dữ liệu
No
Tile
Tile
Tile
Tile
Tile
Tile
Yes
Hiển thị nhãn?
(HTML5 Canvas)
Vẽ dữ liệu GIS lên
Tile Layer
JSON
(Node.js Express)
Chuyển đổi dữ liệu trả về
thành Json
Đánh chỉ mục
thuộc tính khơng gian
Query data
CSDL
SQL Server
Return data
Hiển thị dữ liệu GIS
trên Tile Layer
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.
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018
203
Công nghệ thông tin
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.
CLIENTS
SERVER
Ur i X M LH t tp R e q u e s t
/rest/geodatas/:featureclass
Mở bản đồ
Web GIS
(XMLHttpRequest)
Get | Post | Push | Delete
(Node.js RESTful Service)
Xử lý Route tham chiếu
Đánh chỉ mục
thuộc tính khơng gian
Clients
(Node.js Express)
Select|Insert|Update|Delete
Query data
CSDL
SQL Server
(Webix Controls)
Xử lý dữ liệu JSON (nếu có)
JSON
(Node.js Express)
Chuyển đổi dữ liệu trả về
thành Json (nếu có)
Return data
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 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
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ự.”
Thơng tin khoa học cơng nghệ
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.
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018
205
Công nghệ thông tin
Ứ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 Qn 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
qn sự đã giúp cho các phịng, ban chun 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.
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ự.”
Thông tin khoa học công nghệ
[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, .
[8]. mojoPortal, .
[9]. Node.js, 2018, .
[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,
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;
Viện Địa lý Tài nguyên Thành phố Hồ Chí Minh (VAST).
*
Email:
2
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018
207