Tham lun:
Xây dng h thông tin địa lý
trong môi trường mã ngun m
Bùi Quang Vinh
Vin CNTT / Trung tâm KHKT&CNQS/B Quc Phòng
I. Mã ngun m trong s phát trin ca các h thông tin địa lý.
Trong vòng 20 năm tr li đây, công ngh khai thác thông tin địa lý đã có
các bước phát trin đáng kinh ngc. S cnh tranh quyết lit cùng vi các đòi
hi ngày càng tăng t phía người dùng đã thúc đẩy vic ra đời nhiu gii pháp
công ngh có cht lượng cao trong th trường ngày càng rng ln ca các h
thông tin địa lý (GIS). Tuy nhiên hu hết các sn phm GIS thương mi hin có
trên th trường ch được thiết kế vi mc đích h tr các đòi hi cơ bn ca
người dùng như s hoá, lưu tr và hin th các d liu địa lý. Trong đó, ch
mt s ít các sn phm quan tâm đến vn đề giao din vi người dùng, tính
tương tác gia các h d liu và kh năng h tr dũ liu địa lý ca các h cơ s
d liu. Các sn phm này hu hết ch chy theo các nhu cu trước mt ca th
trường mà b qua hàng lot các lĩnh vc nghiên cu mi đầy ha hn trong
công ngh thông tin địa lý như mô hình hoá d liu địa lý, thng kê địa lý, hay
ng dng mng nơ ron trong x lý d liu địa lý. Đặc bit, trong thi gian ti,
công ngh thông tin địa lý s có các bước thay đổi quan trng khi các h thng
cơ s d liu có kh năng h tr d liu địa lý được s dng rng rãi. S xut
hin ca các h thng cơ s dũ liu này chính là động lc thúc đẩy các nhà phát
trin tìm ra các gii pháp để tn dng ti đa các ưu thế mà các h thng cơ s
dũ liu có h tr d liu địa lý mang li.
Mt trong các gii pháp được cho là có trin vng đó là xây dng mt mng
lưới hp tác phát trin da trên công ngh mã ngun m. Mt phương pháp
tiếp cn tương t như khi phát trin Linux s cho phép các nhà nghiên cu và
phát trin tiếp cn vi mt h thng các công c thông tin địa lý ngun m
phong phú hơn nhng gì đang được by bán trên th trường. Hơn na, vic phát
trin các công c phân tích d liu địa lý có mã ngun m s là tin đề cho vic
đẩy mnh kh năng khai thác thông tin t d liu - mt trong các “khong
trng” trong các h thng thông tin địa lý. Vic khai thác thông tin t các d
liu địa lý hin nay hoàn toàn không tương ng vi nhng gì mà các h thng
thiết b tr giá hàng trăm triu đô la như các h thng v tinh, nh s và GPS
mang li. Trên mt khía cnh nào đó, chúng ta đã tht bi trong vic khai thác
thông tin t các d liu địa lý. Cho đến thi đim hin ti, rt ít k thut khai
thác thông tin địa lý được s dng trong các sn phm GIS trên th trường. Vi
chiến lược mã ngun m, chúng ta hy vng s đẩy nhanh được quá trình khai
thác thông tin bng cách chia s các thông tin có được trong quá trình khai
thác. Các công c GIS s phong phú hơn và được s dng rng rãi hơn nếu s
dng mã ngun m.
II. H thông tin địa lý trên Web - h thông tin địa lý ca tương lai
Các h thông tin địa lý s dng công ngh Web s là các h thông tin địa lý
ca tương lai. Xu thế chia s thông tin là không th đảo ngược. Cùng vi s
phát trin ca Internet, công ngh web đã tr thành mt trong các phương tin
trao đổi thông tin hu hiu nht trên mng khi tích hp được đây đủ các yếu t
như âm thanh, hình nh và tương tác vi người dùng. Do các đòi hi ngày càng
cao trong vic chia s thông tin, các h thng thông tin không có kh năng kết
ni mng s mt dn ch đứng trong tương li. Chính vì vy các h thông tin
địa lý mun phát huy được hết kh năng s phi kết hp các đim mnh trong
trao đổi và hin th thông tin ca công ngh web vi các công ngh x lý và
khai thác các cơ s d liu thông tin địa lý.
III. Xây dng h thông tin địa lý trên Web vi mã ngun m
Toàn b các phn mm s dng để xây dng mt h thông tin địa lý vi đầy
đủ tính năng trên nn web là min phí vi tt c nhng ai có th truy cp
Internet. Các khi phn mm này bao gm mt h điu hành mnh có h tr
công ngh web, mt h thng cơ s d liu có kh năng h tr d liu địa lý,
mt phn mm có kh năng chuyn đổi các d liu địa lý thành các thông tin có
th hin th trên web, các ngôn ng định dng được thiết kế ti ưu cho vic trao
đổi các thông tin địa lý gia các ng dng qua các đường truyn khác nhau và
b các công c x lý và phân tích s liu địa lý. Tt c các phn mm này trên
tng lĩnh vc công ngh đều có các ng c viên sáng giá s dng mã ngun
m. Sau đây chúng ta s đim qua mt vài phn mm tiêu biu.
H điu hành
H điu hành luôn là nn tng ca mi h thng máy tính. Trong các h điu
hành mã ngun m Linux có l là h điu hành được ưa chung nht nh kết
hp được s n định ca Unix vi tính thân thin ca Windows. Bên cnh đó,
mt s lượng ln các phn mm, công c phát trin, khai thác và x lý thông
tin địa lý có mã ngun m đã được xây dng cho h điu hành này. Chính vì
vy, Linux s là s la chn s mt cho vic phát trin các h thông tin địa lý
có mã ngun m.
Cơ s d liu có h tr d liu địa lý
Nhim v quan trng nht ca mt h thông tin địa lý là qun lý và khai thác
các d liu địa lý. Chính vì vy, mt h cơ s d liu cho phép truy xut web
cng vi kh năng lưu tr và x lý các d liu địa lý s luôn là thành phn ct
lõi ca bt k mt h thng thông tin địa lý nào trên nn web. Mt trong các h
cơ s d liu mã ngun m đi đầu trong lĩnh vc này là PostGIS
(http://postgis.refractions.net) - thành phn m rng ca h cơ s d liu mã
ngun m ni tiếng PostgreSQL (http://www.postgresql.org). Vi PostGIS,
PostgreSQL có kh năng lưu gi các d liu địa lý như đim, đường, đa giác
v.v và h tr mt s thao tác cơ bn trên các d liu này như xác định đim
trong đa giác hoc đường vin chung ca mt s khu vc. Bên cnh
PostgreSQL, MySQL (http://www.mysql.org) vi phn m rng h tr d liu
địa lý cũng là mt ng c viên nng ký. Đim mnh ca MySQL chính là tc
độđộ n định cao. Tuy nhiên, MySQL gp phi mt s vn đề liên quan đến
bo mt. Thêm na phn m rng ca MySQL cũng chua được th nghim
nhiu. Chính vì vy, PostgreSQL thường được người dùng la chn nhiu hơn.
Internet Map Servers
Cung cp thông tin địa lý trên mng có th thc hin mt cách đơn gin
thông qua vic thiết lp các bn đồ được chun b trước dưới dng nh quét
hoc nh xut t các phn mm GIS trên máy đơn. Tuy nhiên, các thông tin
bn đồ s tr nên hu ích hơn nhiu nếu chúng có th được to ra ngay khi
tương tác vi người dùng.
Internet map servers là phn mm cho phép to ra các bn đồ động vi các
lp thông tin được gn trên nó t các d liu địa lý ly t các ngun khác nhau
như các h CSDL địa lý, các tp tin GML (Geography Markup Language), hay
trc tiếp t h thng định v toàn câu. Khá nhiu k thut được s dng để khai
thác tin t Internet Map Server nhưng chúng đều có bn cht khá ging nhau,
đó là đòi hi phn mm map server to ra các bn đồ động theo yêu cu dưới
dng nh đim (raster) hoc nh vector t h CSDL địa lý ri gi chúng đến
các browser. Ngôn ng s dng để phát trin các ng dng t phía người dùng
cũng rt đa dng bao gm PHP, Perl, Java, Python v.v. Tt cc các công c này
đều dng mã ngun m hoc min phí. Các ng dng phc tp có th đòi hi
vic khai thác s liu qua mng phi có tc độ và kh năng phân tích s liu
tương đương vi các ng dng GIS trên máy đơn. Tt c các đòi hi này đều có
th đáp ng bi mt phn mm mã ngun m có tên Minnesota Mapserver.
(http://mapserver.gis.umn.edu).
Mapserver s dng giao tiếp CGI để giao tiếp nhn yêu cu và gi các bn
đồ đồng vi đầy đủ các lp thông tin đến các đầu cui. Các kh năng đáng chú
ý ca Minnesota Mapserver bao gm:
Các lp bn đồ có th được to ra t các ngun d liu đa dng như
ESRI Shapefiles, spatial databases (PostGIS, Oracle Spatial, ESRI
SDE), and world file referenced raster imagery (GeoTIFF).
Cách s dng biu tượng được ti ưu hoá và hết sc mm do, có thuc
tính trong sut và s dng nh JPEG hoc PNG làm đim mc.
Các đối tung là hình v có th được làm cho t l vi t l ca bn đồ.
Các câu lnh logic có th s dng để to bn đồ động.
Các tham s ca bn đồ được to mt cách t động.
H tr đánh s và tìm kiếm nhanh trên các tp tin dng ESRI.
Ngoài MapServer, GeoServer (http://geoserver.sourceforge.net) là mt ng
c viên có mã ngun m khác cho v trí này. GeoServer s dng ngôn ng trao
đổi thông tin là XML/GML, gaio tiếp theo cơ chế Java Servlet và s dng
CSDL PostGIS.
Định dng d liu địa lý
Mt ngôn ng định dng ti ưu cho trao đổi thông tin địa lý qua web là
thành phn không th thiếu trong bt k h thông tin địa lý trên nn web nào.
Extensible Markup Language (XML) là nn tng cho vic thiết lp các ngôn
ng giao tiếp trên web hin ti và trong tương lai. Hai chun GML và SVG là
hai ngôn ng trao đổi thông tin được thiết kế chuyên dng cho h thông tin địa
lý có mã ngun m trên nn web. Hai ngôn ng này có kh năng đáp ng tt
các đòi hi trong trao đổi thông tin địa lý hin nay qua các dang đương truyn
khác nhau.
Các công c x lý thông tin địa lý
fmaps
GIS/RS application for Linux and Gnome platforms. Open source code is
available for downloading from this site.
GeoTools
GeoTools is a free Java based mapping toolkit that allows Maps to be viewed
interactively on web browsers without the need for dedicated server side
support.
GRASS
Geographic Resources Analysis Support System (GRASS) is the public domain
GIS software application originally developed by the US Government.
iGMT
iGMT stands for Interactive Mapping of Geoscientific Datasets. iGMT
provides a graphical interface to making working with Generic Mapping Tools
easier. Written in the Tcl/Tk computer language.
InovaGIS Visual Basic Page
Open source code for Visual Basic GIS applications. From InovaGIS, a site
whose goal is to develop a free Geographic Information interoperable
technology.
MapServer
MapServer is an OpenSource development environment for building spatially
enabled Internet applications. Compiles on most UNIX systems and will run
under the Windows OS environment.
OpenEV
OpenEV is a library, and reference application for viewing and analysing raster
and vector geospatial data. Download for Windows 98/NT/2000, Linux, Irix or
Solaris systems.
OpenMap
OpenMap is a FREE JavaBeans software component for viewing spatial data.
JavaBeans is a component specification for software written in the Java
language. In contrast to other GIS software components which offer both data
viewing and analysis capabilities, OpenMap is primarily for data viewing and
offers very little in the way of analysis functionality. Open Source.
rmap
rmap is a package that will allow you to generate images of the earth from a
distance or fairly zoomed in. The code is a small C binary that reads a datafile
of vectors to generate the image.
TARDEM
A suite of programs for the Analysis of Digital Elevation Data. Download
executables and open source code for Windows 95/98, NT.
Tkgeomap
Tkgeomap is a set of extensions to the Tcl/Tk scripting language for
manipulating and displaying geographic data.
Vhclmaps
Vhclmaps is a package of map viewers and spatial data servers that work with
map databases
Làm vic trong môi trường ngun m
Phát trin các ng dng vi mã ngun m là mt thách thc không nh.
Vic ti các phn mm ngun m, cài đặt và phát trin chúng s là khá d dàng
vi các lp trình viên chuyên nghip nhưng không h đơn gin đối vi các
người dùng thông thường hoc các lp trình viên nghip dư.
Để phát trin các ng dng thông tin địa lý trên mã ngun m đòi hi các lp
trình viên có k thut cao và nhiu kinh nghim. Nó đòi hi s hiu biết sâu sc
v công ngh web, ngôn ng web cũng như các h thng d liu địa lý. Ngoài
ra các kiến thc v x lý song song cũng rt cn thiết để xây dng các h thông
tin địa lý có tc độ cao.
Tuy nhiên thách thc ln nht hin nay mà chúng ta gp phi là các kiến
thc s dng để khai thác thông tin t các d liu địa lý li có nhng người
không có nhiu kiến thc v lp trình. Gii quyết vn đề này như thế nào vn là
mt câu hi ln!