You are on page 1of 26

1.1.

Khái niệm GIS


Hệ thống thông tin địa lý (GIS) ra đời trên cơ sở phát triển của khoa học máy tính
(computer science) và ngày nay được ứng dụng trong nhiều ngành khoa học có liên quan
đến dữ liệu không gian từ những ngành khoa học xã hội. Sự phát triển và sự hữu hiệu của
hệ thống thông tin địa lý đã làm nhiều người quan tâm hơn và sự phong phú trong những
ứng dụng công nghệ thông tin địa lý đã tạo nhiều điều kiện thuận lợi hơn cho sự phát
triển của khoa học thông tin địa lý. Ở đây, GIS được xác lập như một ngành khoa học
liên ngành được ứng dụng trong nhiều lĩnh vực khác nhau các mô hình hệ thống thông tin
địa lý: mô hình ba thành phần, mô hình bốn thành phần, mô hình năm thành phần, mô
hình sáu thành phần đựơc trình bày ở đây để hỗ trợ cho công tác thiết kế và xây dựng các
hệ thống thông tin địa lý phục vụ cho nhiều mục tiêu khác nhau, trong đó hệ thống thông
tin địa lý phục vụ quản lý hành chính nhà nước là một trong những ứng dụng quan trọng
của GIS. Có nhiều định nghĩa khác nhau về GIS nhưng đều thống nhất nhau ở những ý cơ
bản.

Hệ thống thông tin địa lý (GIS - Geographic Information System) là một hệ thống
phục vụ việc nhập dữ liệu, quản lý dữ liệu (bao gồm lưu trữ và truy xuất), gia công và
phân tích dữ liệu, xuất dữ liệu và mối quan hệ giữa các thuộc tính. Dữ liệu này là những
dữ liệu không gian và thời gian tham chiếu đến trái đất.

GIS sử dụng một DBMS. Nhưng nó khác với các DBMS thông thường ở dạng dữ liệu
lưu trữ. Các DBMS thông thường (gọi là các hệ thống quản trị cơ sở thuộc tính) lưu trữ
dữ liệu bằng thuộc tính của nó, những thứ không thể chuyển đổi thành hình ảnh, các chi
tiết sự vật, không gian như thế giới bên ngoài. Trong khi đó các thuộc tính của dữ liệu
được lưu trữ trong GIS có thể được tạo ra hoặc chuyển đổi ngược lại. Bằng hệ thống này
con người có thể thực hiện các phân tích, cập nhật dữ liệu, tính toán dựa trên các dữ liệu
này, đưa ra kết quả hỗ trợ việc ra quyết định. GIS chính là một loại hệ thống thông tin hỗ
trợ ra quyết định (DSS - Decision support system).

1.2. Các mô hình GIS


Các mô hình hệ thống thông tin địa lý:
• Mô hình hệ thống 3 thành phần: phần cứng, phần mềm, con người.
• Mô hình hệ thống 4 thành phần: kỹ thuật (technoware) bao gồm phần cứng, phần
mềm, thông tin (infoware), tổ chức (orgaware), con người (humanware).
• Mô hình hệ thống 5 thành phần: phần cứng, phần mềm, dữ liệu, quy trình, con
người.
• Mô hình 6 thành phần: phần cứng, phần mềm, dữ liệu, quy trình, tổ chức, con
người.

Các thành phần của hệ thống thông tin địa lý:

Phần cứng: bao gồm hệ thống máy tính và các thiết bị nhập, xuất, lưu trữ dữ liệu.
Trong đó hệ thống máy tính có thể chỉ gồm 1 máy tính hoặc mạng máy tính gồm nhiều
máy kết hợp lại với nhau. Các thiết bị nhập, xuất, lưu trữ dữ liệu như scanner, máy in,
máy ghi đĩa, các loại ổ cứng, đĩa quang,... Tùy theo quy mô và tầm quan trọng của hệ
thống mà việc đầu tư vào phần cứng sẽ được cân nhắc.

Phần mềm: phần mềm trong GIS bảo đảm đủ 4 chức năng nhập, lưu trữ, phân tích và
xử lý, hiển thị dữ liệu không gian hoặc phi không gian. Phần mềm phải đảm bảo việc
nâng cấp khi cần thiết, liên kết với các DBMS khác. Nhưng không phải lúc nào dữ liệu
của chúng và các DBMS cũng tương thích với nhau do đó phải có thêm những phần mềm
chuyển đổi format dữ liệu.

Dữ liệu: bao gồm dữ liệu không gian và phi không gian được thu nhập lưu trữ theo 1
cấu trúc chuẩn, có thể liên thông trên mạng và được bảo quản theo 1 chế độ nhất định. Về
dữ liệu, có những bài toán đặt ra như mô hình cơ sở dữ liệu phục vụ các yêu cầu lưu trữ,
truy xuất, hiển thị, công nghệ nhập dữ liệu, phân quyền sử dụng dữ liệu, an ninh dữ liệu
trên mạng, tổ chức quản lí cơ sở dữ liệu tập trung hay phi tập trung. Cơ sở dữ liệu của hệ
thống thông tin địa lý bao gồm hai phần chính là cơ sở dữ liệu nền và cơ sở dữ liệu
chuyên ngành.
Hình 1: Cơ sở dữ liệu nền và chuyên ngành
Cơ sở dữ liệu nền: bao gồm những lớp dữ liệu mà hệ thống thông tin địa lí chuyên
ngành nào cũng có thể sử dụng như dữ liệu về lưới tọa độ (tọa độ địa lí, tọa độ quốc gia),
dữ liệu về giao thông, độ cao, nhà…

Cơ sở dữ liệu chuyên biệt: bao gồm dữ liệu các yếu tố chuyên ngành được biểu diễn
theo mô hình dữ liệu không gian và phi không gian liên kế. Có thể có cơ sở dữ liệu của
các nhóm chuyên ngành như: tài nguyên thiên nhiên, môi trường, sử dụng đất, cơ sở kĩ
thuật hạ tầng, kinh tế, xã hội. Khi thiết kế cơ sở dữ liệu chuyên biệt cần chú ý đến những
quan hệ giữa các yếu tố đơn tính trong 1 chuyên ngành đồng thời những quan hệ giữa các
ngành với nhau. Đối với những chuyên ngành, tùy theo mục tiêu hệ thống thông tin địa lí,
những qui trình xây dựng cơ sở dữ liệu được thiết kế khác nhau.

Dữ liệu nền và dữ liệu chuyên ngành có mối quan hệ tương hỗ lẫn nhau. Dữ liệu nền
là phần giao của các dữ liệu chuyên ngành. Do đó khi có càng nhiều lớp dữ liệu chuyên
ngành thì lớp dữ liệu nền càng bị thu hẹp. Mặt khác, khi bắt tay xây dựng một lớp dữ liệu
chuyên ngành mới chúng ta phải căn cứ vào dữ liệu nền sẵn có.

Các qui trình xử lý: được các nhà phân tích thiết kế hệ thống xác lập khi kiến tạo hệ
thống và trong tiến trình khai thác hệ thống. Trong tiến trình kiến tạo hệ thống thông tin
địa lí, cần quan tâm những qui trình nhập dữ liệu, qui trình lưu trữ, bảo quản dữ liệu, qui
trình truy vấn dữ liệu, qui trình xuất dữ liệu, qui trình hiển thị dữ liệu. Trong tiến trình
khai thác thông tin địa lí, các qui trình luôn luôn được quan tâm xây dựng và phát triển
không ngừng nhằm giải quyết những vần đề do thực tiễn đặt ra. Sự hữu hiệu của hệ thống
phụ thuộc vào khả năng triển khai các qui trình ứng dụng theo từng mục tiêu cụ thể.

Con người: là yếu tố quyết định sự thành công trong tiến trình kiến tạo hệ thống và
tính hữu hiệu của hệ thống trong tiến trình khai thác vận hành. Trong hệ thống thông tin
địa lý, con người sẽ làm việc trên 3 vị trí cũng là 3 cấp có chức năng khác nhau: quản trị,
kỹ thuật GIS, kỹ thuật chuyên ngành.

1.3 Hiện trạng về các phần mềm GIS mã nguồn mở


Các phần mềm GIS mã nguồn mở được phân chia thành hai nhánh phát triển lớn
phát triển độc lập, trong mỗi nhánh cộng đồng phát triển lại chia thành nhiều dự án:

1.3.1 Nhánh phát triển theo “C”

OPENEV PostGIS GEOS

MapWindow GIS

GRASS
ORG/GDAL
MAPServe
r

QGIS

Thuban Proj4
Hình 1: Các phần mềm phát triển theo nhánh C

Tập hợp cộng đồng phát triển trên nền tảng UMN Mapserver, GRASS,
GDAL/OGR, OSSIM, Proj4, GEOS, PostGIS and OpenEV.

1.3.2 Nhánh phát triển theo “Java”

uDig/JUMP2 JUMP GeoServer

DeeGree GeoTools

JTS Topology
GML4J WKB4J
Suite

Hình 2: Các phần mềm phát triển theo nhánh Java

Tập hợp cộng đồng phát triển trên nền tảng GeoServer, GeoTools, JTS,
JUMP/JCS, and DeeGree.
1.4. Dữ liệu GIS
1.1.1. Mô hình dữ liệu
GIS lưu thông tin về thế giới như 1 tập các lớp theo chủ đề được liên kết với nhau bởi
địa lý. Cách này tuy đơn giản nhưng rất linh hoạt và rất mạnh được chứng minh là vô giá
trong việc giải quyết các vấn đề của thế giới thực từ việc theo vết lưu chuyển xe cộ, lưu
chi tiết của ứng dụng quy hoạch, đến việc mô hình sự tuần hoàn của khí quyển. Cách tiếp
cận những lớp (layer) cho phép chúng ta tổ chức thế giới phức tạp thành dạng đơn giản
hơn, giúp chúng ta dễ dàng hiểu mối quan hệ giữa các thành phần tự nhiên.

Hình 2: Hình tổ chức các lớp của thế giới thực


1.1.2. Các kiểu dữ liệu
Kiểu dữ liệu cơ bản trong GIS phản ảnh dữ liệu truyền thống xuất hiện trên bản đồ.
GIS sử dụng 2 dạng cơ bản của dữ liệu.
• Dữ liệu không gian: mô tả vị trí tương đối và tuyệt đối của 1 đặc tính địa lý.
• Dữ liệu thuộc tính: mô tả các tính chất của các đặc tính không gian. Các tính chất
này có thể là số lượng hay chất lượng trong tự nhiên. Dữ liệu thuộc tính thường được
xem như là dữ liệu dạng bản.
Vị trí tọa độ của rừng là dữ liệu không gian. Trong khi đó những tính chất như những
loài động vật, chiều cao… là những dữ liệu thuộc tính. Những kiểu dữ liệu khác như hình
ảnh, dữ liệu đa truyền thông đang trở nên thịnh hành với công nghệ tiến bộ. Phụ thuộc
vào nội dung cụ thể của dữ liệu, dữ liệu hình ảnh có thể được xem như dữ liệu không
gian như photo, movie, v.v..còn thuộc tính như âm thanh, đoạn mô tả .v.v…

1.1.3. Mô hình dữ liệu không gian


Dữ liệu truyền thống được lưu và thể hiện dưới dạng bản đồ. Có 2 kiểu mô hình dữ
liệu không gian cơ bản liên quan đến việc lưu trữ số hóa những dữ liệu địa lý: vextor/
raster, image. Thế giới thực thường được biểu diễn bởi sự kết hợp của 2 dạng trên.

Hình 3: Dạng Vector và Raster


1.2.1.1. Dữ liệu vector

Dữ liệu vector được hiển thị dưới dạng những tọa độ định nghĩa điểm, hay những
điểm này được nối với nhau tạo thành đường thẳng, đa giác. Dữ liệu này thường có bản
thông tin kết hợp.
Một số định dạng dữ liệu vector

• Arc/Info Binary Coverage


• ESRI shapefile
• DODS/OPeNDAP
• FMEObjects Gateway
• GML
• IHO S-57 (ENC)
• Mapinfo file
• Microstation DGN
• OGDI vectors
• ODBC
• Oracle Spatial
• PostgreSQL
• SDTS
• UK .NTF
• U.S. Census TIGER/Line
• VRT: Virtual Datasource

1.2.1.2. Dữ liệu raster

Dữ liệu raster được biểu diễn dưới dạng ma trận hay lưới mà có những hàng và cột.
Mỗi giao điểm của hàng và cột tạo thành 1 pixel. Mỗi ô có 1 giá trị ví dụ như mức độ
màu.

Một số định dạng raster


• Arc/Info Binary Grid (.adf)
• Microsoft Windows Device Independent Bitmap (.bmp)
• BSB Nautical Chart Format (.kap)
• VTP Binary Terrain Format (.bt)
• CEOS (Spot, for instance)
• First Generation USGS DOQ (.doq)
• New Labelled USGS DOQ (.doq)
• Military Elevation Data (.dt0, .dt1)
• ERMapper Compressed Wavelets (.ecw)
• ESRI .hdr labeled
• ENVI .hdr labeled Raster
• Envisat Image Product (.n1)
• EOSAT FAST Format
• FITS (.fits)
• Graphics Interchange Format (.gif)
• Arc/Info Binary Grid (.adf)
• GRASS Rasters
• TIFF/GeoTIFF (.tif)
• Hierarchical Data Format Release 4 (HDF4)
• Erdas Imagine (.img)
• Atlantis MFF2e
• Japanese DEM (.mem)
• JPEG, JFIF (.jpg)
• JPEG2000 (.jp2, .j2k)
• NOAA Polar Orbiter Level 1b Data Set (AVHRR)
• Erdas 7.x .LAN and .GIS
• In Memory Raster
• Atlantis MFF
• Multi-resolution Seamless Image database
• NITF
• NetCDF
• OGDI Bridge
• PCI .aux labeled
• PCI Geomatics database file
• Portable Network Graphics (.png)
• Netpbm (.ppm, .pgm)
• USGS SDTS DEM (*CATD.DDF)
• SAR CEOS
• USGS ASCII DEM (.dem)
• X11 Pixmap (.xpm)

2. GIS Portal
2.1. Khái niệm GIS Portal
Như chúng ta đã biết, portal là một trang web trong đó thu thập dữ liệu từ nhiều
nguồn dữ liệu khác nhau để hiển thị lên trên một giao diện duy nhất. GIS portal cũng vậy,
nó là một Website, có nhiệm vụ tích hợp nhiều nguồn dữ liệu GIS từ các nguồn khác
nhau bất chấp không gian địa lý và công nghệ nền phía dưới.

2.2. Kiến trúc GIS Portal


Cơ sở để xây dựng cổng thông tin địa lý là kiến trúc tham khảo kiến trúc cổng thông
tin địa lý của OGC (OGC Geoportal Reference Architecture). Đây là kiến trúc được rất
nhiều quốc gia tham khảo làm chuẩn mực để xây dựng Cổng thông tin địa lý cho dự án
Cơ sở hạ tầng dữ liệu không gian (SDI – Spatial Data Infrastructure), như Mỹ, EU, Úc và
Canada,… và nhiều nước khác. Cấu trúc của OGC GeoPortal được trình bày như thể một
tập hợp các hạt nhân của các thỏa thuận đồng vận hành, chúng cung cấp các module phần
mềm chỉ dẫn để nối liền các khoảng hở giữa các cộng đồng và tổ chức khác nhau về vấn
đề chia sẻ dữ liệu, vấn đề này đang trở nên khó khăn. Với cách tiếp cận đó cấu trúc Portal
của OGC GeoPortal cung cấp môi trường phát triển nền tảng cho một cổng thông tin dữ
liệu không gian có tính mở và không lệ thuộc vào loại hình dữ liệu, nguồn dữ liệu, và
quan trọng hơn là không phụ thuộc vào các nhà sản xuất. Cấu trúc của OGC GeoPortal đã
được phát triển dưới hình thức cho phép nó có thể gắn kết với các mô hình và các cấu
trúc khác.

Cấu trúc của OGC GeoPortal được xây dựng trên cơ sở thừa kế cấu trúc hướng dịch
vụ (SOA). SOA là một cấu trúc thể hiện chức năng của phần mềm với các dịch vụ tự
khám phá trên mạng với các lợi ích sau:
• Dễ dàng mở rộng hơn để làm việc với các chức năng, tác nghiệp mới.
• Tính linh động cao hơn để thay đổi mà không cần thay đổi cấu trúc nền khi hệ
thống mở rộng.
• Tiết kiệm được kinh phí bởi việc cung cấp các dịch vụ tích hợp trực tiếp (straight-
forward integration).

Hình 4: Kiến trúc Portal của OGC


Kiến trúc Portal của OGC chỉ định 4 lớp dịch vụ cần thiết để dẫn dắt hiện thực một
portal dữ liệu không gian vững chắc và rành mạch và nó chỉ định các chuẩn đồng vận
hành OGC có khả năng áp dụng cho các dịch vụ đó. 4 lớp dịch vụ đó là:
1. Portal Services: Cung cấp điểm truy cập duy nhất đến với thông tin địa lý
trên portal. Hơn nữa, những dịch vụ này cung cấp các công cụ quản lý và điều
hành portal.
2. Catalog Services: Được sử dụng để xác định vị trí các thông tin và dịch vụ
không gian. Nó giúp người sử dụng biết nơi nào cung cấp dịch vụ và các thông
tin gì sẽ được tìm thấy.
3. Portray Services: Được sử dụng để xử lý các thông tin địa lý và gói ghém
(render) nó để thể hiện cho người sử dụng.
4. Data Services: Được sử dụng để cung cấp nội dung dữ liệu không gian và
xử lý các dữ liệu không gian. Đây là lớp rất quan trọng phục vụ cho tích hợp
dữ liệu.

Mối liên hệ của các dịch vụ có thể mô tả như sau: Khi người sử dụng cần một dữ liệu
GIS nào đó, họ tương tác với khối Portal Services, khối này dựa vào yêu cầu của người
dùng sẽ tiến hành liên lạc với khối dịch vụ Catalog Services để khối này tìm kiếm xem
dữ liệu mà người sử dụng cần hiện tại đang nằm ở đâu (máy nào, thông tin kết nối như
thế nào). Dựa trên thông tin kết nối trả về từ dịch vụ Catalog, Portal tiến hành kết nối vào
nơi chứa dữ liệu để lấy dữ liệu về rồi giao cho khối Portray Services để khối này xử lý dữ
liệu trước khi portal hiển thị kết quả cho người dùng.

Cấu trúc Portal của OGC GEOPORTAL là bước đi cơ bản để tiến đến chính phủ điện
tử (E-Govement) về hạ tầng Cơ sở Dữ liệu Không gian. Nó cho phép khả năng đồng vận
hành xử lý các dữ liệu địa lý nhằm trao đổi nội dung thông tin địa lý trên các hệ thống
không thuần nhất (heterogenous) và chia sẻ rộng rãi các dịch vụ trên World Wide Web.
Một vấn đề quan trọng cần được nhận thức là các Portal Services và bất cứ các dịch vụ hạ
tầng nào khác chỉ cần thường trú tại platform mà trên đó portal hoạt động. Còn tất cả các
dịch vụ khác có thể được phân tán qua Internet và có thể được đăng ký và thực thi động.
Cũng nên nhận xét rằng Portal không cần phải lưu trữ các dữ liệu không gian địa lý nào
mà được xử lý bởi các dịch vụ phân tán khác. Hướng dịch vụ kết nối lỏng lẻo (loosly
couple service) đó được biết qua SOA.

3. Tổng quan về mapserver


3.1. Giới thiệu
Mapserver là một môi trường mã nguồn mở cho phép việc xây dựng những ứng dụng
xử lý dữ liệu không gian trên internet. Nó có thể được chạy như 1 chương trình CGI hoặc
thông qua Mapscript (hổ trợ nhiều ngôn ngữ lập trình như Perl, Python …). Mapserver
không phải là 1 hệ thống có đầy đủ các đặc tính của hệ thống thông tin địa lý (GIS), và
cũng không phát triển theo định hướng đó, mapserver tốt nhất ở điểm sinh ra dữ liệu
không gian như (bản đồ, hình ảnh, dữ liệu vector …) trên môi trường web.

Ngoài việc giúp định vị dữ liệu không gian, tạo bản đồ địa hình, mapserver có thể
định hướng người dùng đến nội dung. Ví dụ minnessota DNR
(http://mapserver.gis.umn.edu/) cung cấp người dùng với hơn 10000 trang web, bảng đồ,
báo cáo thông qua 1 ứng dụng duy nhất.

Mapserver khởi đầu được phát triển bởi dự án University of Minesota (UMN) ForNet,
cộng tác với NASA và (Minesota Department of Natural Resources). Sau đó nó được sở
hữu bởi dự án TerraSIP, một dự án được hổ trợ bởi NASA.

Hiện tại, mapserver là một dự án của OSGeo, và được phát triển bởi 1 nhóm phát triển
gần 20 nước khắp thế giới. Nó được duy trì và thêm các đặc tính bởi nhiều nhóm tổ chức
khác nhau, và được quản lý bên trong OSGeo bởi Mapserver Project Steering committee
(được thành lập bởi những người phát triển và những người phân phối).

3.2. Các đặc tính


• Sinh hình ảnh bản đồ phức tạp.
 Hình ảnh phụ thuộc vào tỉ lệ.
 Tên các hình ảnh.
 Xuất định dạng có thể sửa đổi hoặc theo khuôn mẫu.
 Phong chữ kiểu thực (TrueType).
 Tự động sinh các thành phần của bản đồ (tỉ lệ, bản đồ tham khảo, chú thích).
• Hỗ trợ các các ngôn ngữ script và môi trường phát triển phổ biến (PHP, Perl,
Python, Ruby, Java, và C#).
• Hỗ trợ nhiều hệ điều hành (Linux, Windows, Mac OS X, Solaris, …).
• Hỗ trợ nhiều dạng raster và vector.
 TIFF/ Geo TIFF, EPPL7 và nhiều định dạng khác thông qua GDAL.
 ESRI shapefiles, PostGis, ESRI ArcSDE, Oracle Spatial, My SQL… thông qua
ORG.
 Theo đặc tả web Open GeoSpatial Consortium (OGC): WMS (client/server),
WFS (client/server), WMC, WCS, Filter Encoding, SLD, GML, SOS.
• Hỗ trợ phép chiếu bản đồ: hơn 1000 hệ chiếu thông qua thư viện proj.4
• Mapserver tuân theo chuẩn Open Geospatial Consortium (OGC), gồm Web Map
Service (WMS) và Web Feature Service (WFS). Mapserver kết nối với
PostgresSQL và mở rộng PostGIS (hỗ trợ dữ liệu GIS), MySQL và mở rộng
MyGIS, …

3.3. Cấu trúc của mapserver


Đơn giản nhất có thể hiểu mapserver như là một chương trình CGI được đặt (inactive)
trong webserver. Khi mà có 1 request gửi đến mapserver, nó sử dụng thông tin được
truyền ở request URL và trong mapfile để tạo hình ảnh của bản đồ được yêu cầu. Request
cũng có thể trả về hình ảnh cho ghi chú, thanh co dãn, bản đồ tham chiếu và giá trị được
truyền như là những biến CGI.

Sơ đồ khái niệm của một ứng dụng mapserver


Hình 5: Cấu trúc mapserver

Mapserver có thể được mở rộng và điều chỉnh tùy vào người sử dụng. Nó có thể được
xây dựng để hỗ trợ nhiều dữ liệu nhập và xuất. Điều này được thực hiện khi mapserver
được biên dịch.

1.1.4. Mapscript
Mapscript cung cấp 1 interface dạng script cho mapserver để cấu trúc xây dựng web
và ứng dụng độc lập. Mapscript được sử dụng độc lập với CGI mapserver, nó là 1 module
có thể load, các chức năng của mapserver được thêm vào ngôn ngữ script mà người sử
dụng thích nhất. Mapscript hiện tại tồn tại trong Php, Perl, Python, Ruby, Tcl, Java, C#.

1.1.5. Cấu trúc của 1 ứng dụng mapserver


Một ứng dụng mapserver đơn giản gồm các thành phần:
• Map file: 1 kiểu cấu hình cấu trúc text cho ứng dụng mapserver. Nó định dạng
kích thước của bảng đồ, chỉ cho mapserver biết dữ liệu nằm ở đâu và xuất hình
ảnh đến đâu. Nó định nghĩa các tầng của bảng đồ, bao gồm nguồn dữ liệu, sự
chiếu và những ký hiệu. (có dạng .map).
• Dữ liệu địa lý: mapserver có thể sử dụng nhiều kiểu nguồn dữ liệu địa lý. Mặt định
là ESRI shapefile.
• Trang HTML: giao tiếp giữa người sử dụng và mapserver. Thường được đặt trên
web root. Ở dạng đơn giản nhất, mapserver có thể được gọi để đặt 1 hình ảnh bản
đồ tỉnh trên trang html. Để làm cho bản đồ tương tác, hình ảnh được đặt trên 1
form của trang html.
Chương trình CGI có trạng thái stateless, mỗi request mà nó nhận được là mới và
nó không lưu nhớ bất cứ thứ gì về lần cuối nó được tương tác bởi ứng dụng của bạn. Do
đó mỗi lần ứng dụng gửi yêu cầu đến Mapserver, nó cần truyền thông tin như (những
layer được kích hoạt, vị trí trên bản đồ, kiểu của ứng dụng, …) trong 1 form ẩn hoặc
trong biến của URL.
Thường có 2 loại trang khởi tạo và trang khuôn mẫu.
 Trang khởi tạo: sử dụng form với những biến ẩn để gửi câu truy vấn khởi tạo
đến http server và mapserver. Form này có thể được đặc trên 1 trang khác hoặc
được thay thế bởi việc truyền thông tin khởi tạo thông qua các biến của URL.
 Trang khuôn mẫu (html template): điều khiển các bản đồ và chú thích xuất bởi
mapserver, chứa các khuôn mẫu sẽ hiện lên browser. Bằng những biến tham
chiếu đến Mapserver CGI trong file html mẫu, bạn cho phép Mapserver sinh ra
các thành phần của bản đồ với những giá trị liên quan đến trạng thái hiện hành
của ứng dụng (như tên hình ảnh bản đồ, tên hình ảnh tham chiếu, kích thước
bản đồ,...) khi nó tạo trang html cho browser đọc. File mẫu html này cũng
quyết định cách người sử dụng có thể tương tác với bản đồ (phóng to, thu nhỏ,
định vị, truy vấn).
• Mapserver CGI: nhận yêu cầu và trả về các hình ảnh và dữ liệu. Nó nằm trong cgi-
bin hoặc thư mục script của http server. Người sử dụng Web server phải có quyền
thực thi ở thư mục chứa Mapserver CGI, vì lý do bảo mật nó không nên được đặt
trong web root.
• HTTP servser: phục vụ yêu cầu của những trang html khi được tác động bởi web
browser. Ta cần 1 HTTP server như là Apache hoặc Microsoft Internet
Information Server đặt trên máy cài mapserver.

3.4. Cách hoạt động của mapserver


Mapserver thường hoạt động phía sau 1 ứng dụng web server. Web server nhận
những yêu cầu bản đồ và truyền chúng đến mapserver để tạo. Mapserver tạo ra hình ảnh
bản đồ được yêu cầu và truyền đến web server, web server truyền nó đến người sử dụng
thông qua web browser. Hình sau cho thấy người sử dụng tương tác với web server, tạo
yêu cầu gửi đến chương trình mapserver.

Chức năng chính của mapserver là đọc dữ liệu từ nhiều nguồn dữ liệu khác nhau và
kéo các layer lại tạo thành 1 file hình như 1 hình ảnh bản đồ. Hình ảnh sau cho thấy hoạt
động cơ bản của 1 ứng dụng mapserver.
Hình 6: Hoạt động cơ bản của 1 ứng dụng mapserver
Một layer có thể là hình ảnh từ vệ tinh, đường biên giới của 1 quốc gia, hay 1 điểm
thể hiện hình ảnh thành phố chính. Mỗi lớp được được đặt ở trên hoặc ở dưới lớp khác và
sau đó được in thành dạng web hình ảnh thân thiện cho người sử dụng. Một ví dụ về việc
chồng lấp lớp và quá trình tạo bản đồ được thể hiện ở hình sau. Trong đó, bạn có thể thấy
hình ảnh vệ tinh, những con đường, địa điểm thành phố, nhãn của các thành phố được
sinh tự động bởi Mapserver.
Hình 7: Các lớp dữ liệu

4. Tính năng của một số phần mềm GIS mã nguồn mở tiêu biểu
4.1. OpenEV
OpenEV là ứng dụng hiển thị GIS ban đầu được thiết kế cho môi trường Linux
nhưng gần đây đã phát triển cho cả môi trường Windows. Có các đặc điểm sau:

• Chạy trên nhiều hệ điều hành khác nhau (Linux, Windows, Solaris, IRIX).
• Xử lý dữ liệu raster và vector
• Hỗ trợ trình bày trên không gian 2 chiều và 3 chiều.
• Xử lý mạnh dữ liệu trên tập dữ liệu raster lớn
• Cung cấp multi-channel, và kết hợp tập dữ liệu raster.
• Có khả năng làm sáng tỏ thông tin và giải quyết nhanh trên tập datasets
• Cung cấp nhiều hàm thao tác nhanh trên khung ảnh (pan, zoom, rotate)
• Cung cấp thanh công cụ về hình ảnh mạnh.
• Hỗ trợ nhiều thành phần cho ứng dụng phân tích hình ảnh.
• Công nghệ OpenGL: Xử lý nhanh ảnh raster và vector trong môi trường đòi
hỏi đáp ứng cao. Hỗ trợ mạnh về ảnh raster hơn vector.
• Chức năng thiết kế quan trọng và giá trị nhất của OpenEV là dựa trên bộ thư
viện OpenGL để tận dụng hiệu năng xử lý ảnh nhưng điều này cũng đồng nghĩa
với việc hạn chế hoạt động chỉ trên những môi trường hỗ trợ OpenGL

Hình 3: OpenEV vecter

4.2. Quantum GIS (QGIS)


QGIS là môi trường hiển thị GIS chủ yếu cho máy trạm Linux sử dụng bộ thư
viện QT tương tự như KDE. QGIS cũng hỗ trợ các môi trường khác như (Windows,
OS/X,Solaris). QGIS hỗ trợ xử lý dữ liệu vector như Post và shapefile. Ngoài ra QGIS có
khả năng sử dụng thư viện OGR, các định dạng ảnh raster như DEM, ArcGrid, ERDAS,
SDTS và GeoTIFF. QGIS cung cấp định dạng dữ liệu trên cả ảnh vector và raster. Có các
đặc điểm sau:

• Trình bày và chồng lấp các dữ liệu ảnh raster và vector mà không cần quan tâm
các định dạng dữ liệu: Dữ liệu không gian dựa trên POSTGIS mà chủ yếu là
PostgreSQL. Hầu hết dữ liệu vector được cung cấp bởi thư viện OGR, bao gồm
ESRI shapefiles, MapInfo, SDTS and GML. Tất cả ảnh raster được cung cấp
bởi thư viện GDAL. Dữ liệu không gian trực tuyến được hỗ trợ trong thư viện
OGC-dựa trên WMS hoặc WFS.
• Tạo bản đồ và thao tác dữ liệu không gian dựa trên giao diện thân thiện.
• GUI có sẵn nhiều tool hỗ trợ.
• Tạo, chỉnh sửa và xuất dữ liệu cho người dùng: digitizing tools for GRASS and
shapefile formats, the georeferencer plugin, GPS tools to import and export
GPX format, convert other GPS formats to GPX, or down/upload directly to a
GPS unit.
• Xuất bản đồ dựa trên UMN Mapserver
• Thư viện cung cấp định dạng cơ sở dữ liệu OGR không cung cấp cho QGIS..
• Nếu bạn cần các phân tích địa lý mạnh, phức tạp, thì không thể dùng QGIS; vì
QGIS chỉ cung cấp giao diện ứng dụng GIS đẹp, đơn giản, cần trình bày các dữ
liệu địa lý cho đẹp, thực hiện những phân tích đơn giản
Hình 4: Quantum GIS

4.3. ThuBan
Đây là phần mềm trước đây thiết kế chủ yếu chạy trên linux, nhưng giờ thuban
được sử dụng mở rộng trên nhiều nền(GNU/Linux, Windows, ...). Có các đặc điểm
sau:

• Thuban là chương trình cho thấy sự tác động lẫn nhau giữa các dữ liệu địa lý,
nó được tạo ra vì chưa có phần mềm nào trước đó cho thấy sự tương tác giữa
các dữ liệu địa lý mà thuộc về mã nguồn mở. Thuban là một ứng dụng hiển thị
GIS bằng ngôn ngữ Python, sử dụng công cụ. WxWindows để lập trình giao
diện. Trong thuban các layer bao gồm: Line, Polygon, Point, Georeferenced
Image
• Chức năng: Hỗ trợ dữ liệu vector: Shapefile, PostGIS. Hỗ trợ dữ liệu raster:
GeoTIFF. Hỗ trợ định danh (identification) và ghi chú (annotation) đối tượng.
Biên tập và phân loại legend. Hỗ trợ truy vấn và kết các bảng dữ liệu. Hỗ trợ
phép chiếu. In ấn và xuất ra dạng vector. Có khả năng phát triển mở rộng
• ThuBan không hỗ trợ nhiều dạng format dữ liệu, thay vào đó Thuban cung cấp
1 định dạng dữ liệu dựa trên thư viện tương đối đầy đủ đã có sẵn. Đó là thư viện
Shaplib và vì thế chỉ có thể ứng dụng trên dữ liệu shapefile.

Hình 5: ThuBan

4.4. UMN Mapserver


UMN mapserver là máy chủ hỗ trợ xử lý (render) các dữ liệu GIS thành các ảnh
bản đồ. Có các đặc điểm sau:

• Hỗ trợ các dịch vụ WebGIS theo chuẩn OGC, bao gồm: WMS Server, WMS
Client, WFS Server, WFS Client và WCS Server.
• Xuất bản đồ với nhiều ưu điểm: Vẽ đối tượng theo tỷ lệ. Hiển thị nhãn theo đối
tượng và giải quyết trùng lặp nhãn. Tùy biến giao diện, mẫu trước khi xuất. Sử
dụng font: TrueFont. Có các thành phần của bản đồ như thước tỷ lệ, chú giải,
bản đồ tham chiếu, mũi tên hướng Bắc. Tạo bản đồ chuyên đề dựa trên biểu
thức truy vấn trên các lớp cơ sở.
• Hỗ trợ các ngôn ngữ kịch bản phổ biến và môi trường phát triển như C#, PHP,
Perl, Python, Java, và Ruby.
• Hỗ trợ các hệ điều hành: Linux, Windows, MAC OS X, Solaris, …
• Hỗ trợ định dạng dữ liệu raster và vector: TIFF/GeoTIFF, GIF, PNG, ERDAS,
JPEG và EPPL7; ESRI shapefile, PostGIS, ESRI ArcSDE, Oracle Spatial,
MySQL, …
• Hỗ trợ lưới chiếu: hỗ trợ hơn 1000 lưới chiếu trong thư viện Proj.4
• Theo cả 2 cách chạy trên thì server vẫn phải làm việc rất nhiều,do đó việc quá
tải,tắt nghẽn công việc trên máy server là điều thường xuyên xảy ra. Hơn nữa
UMN Mapserver ko hướng đến sử dụng đơn lẻ, các ứng dụng nhỏ và để thực
hiện trên Mapserver cần công nghệ cao.

4.5. MapWindow GIS


MapWindow là một hệ mã nguồn mở GIS hỗ trợ thao tác, phân tích và hiển thị dữ liệu
không gian và tương ứng với các dữ liệu thuộc tính ở một số chuẩn định dạng của GIS .

MapWindow là công cụ vẽ bản đồ, là một hệ thống mô hình GIS và là một ứng dụng GIS
cung cấp các giao diện lập trình (API) cho Shapefile và Grid data. Cho phép tạo các
“plug-ins” mở rộng.

MapWindow được phát triển nhằm vào nhu cầu phát triển công cụ lập trình cho GIS.
MapWindow thích hợp cho các kỹ sư, các nhà nghiên cứu và sinh viên thực hiện các dự
án và đề tài khác nhau.

Có các đặc điểm sau:

• Hỗ trợ xử lý, phân tích và hiển thị dữ liệu GIS: shapefiles (.shp), ASCII grid
files (.asc)
• Cho phép tạo các plug-ins mở rộng
• MapWindow còn là công cụ vẽ bản đồ
• Là một hệ thống mô hình (module)
• MapWinGIS ActiveX cung cấp các giao diện lập trình (API - Application
Programming Interface) cho Shapefile và Grid data
• Ngôn ngữ: Visual C++, C#, Visual Basic, Visual Basic .NET and Delphi.
Hình 6: MapWindow GIS

Ưu điểm của MapWindow GIS:

• Hỗ trợ xây dựng ứng dụng nhanh và hiệu quả bằng công nghệ công nghệ .NET
• Hỗ trợ phát triển hệ thống: các thư viện của phần mềm, bộ mã nguồn, tài liệu,
những ví dụ, kinh nghiệm tốt để phát triển phần mềm với nhiều tùy chọn: phát
triển độc lập, xây dựng các ứng dụng có nhúng hàm GIS hay phát triển dựa trên
nền của phần mềm có sẵn.
• Là phần mềm đa chức năng: khả năng hiển thị, biên tập và phân tích dữ liệu
GIS mạnh.
Qua việc tìm hiểu các phần mềm GIS mã nguồn mở tiêu biểu được đông đảo cư dân
trong cộng đồng mở sử dụng ở trên, đặc biệt là MapWindow GIS chúng em quyết định
chọn MapWindow GIS để hiện thực ứng dụng trong đề tài của chúng em là Xây dựng
ứng dụng quản lý hệ thống bưu cục của tỉnh Đăk Lăk. Xây dựng theo hướng sử dụng bộ
ActiveX control của MapWindow.

You might also like