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ự - Hoàng Tuấn: 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ự.” 198
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Ự
Hoà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. Ngoà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 ...
10 trang |
Chia sẻ: quangot475 | Lượt xem: 828 | Lượt tải: 0
Bạn đang xem 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ự - Hoàng Tuấn, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
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ự.” 198
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Ự
Hoà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. Ngoà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
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
công nghệ mới để tăng cường hiệu suất tương tác của hệ thống.
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 199
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 quân 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 quân 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 yê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
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ự.” 200
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]. Ngoà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 toá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
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.
Các file đính kèm theo tài liệu này:
- 21_tuan_2831_2150569.pdf