Tải bản đầy đủ (.pdf) (75 trang)

XÂY DỰNG GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN DẠNG TILE

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.73 MB, 75 trang )






ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

Lê Văn Tùng

XÂY DỰNG GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN
DẠNG TILE





KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin








HÀ NỘI - 2012





ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ


Lê Văn Tùng

XÂY DỰNG GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN
DẠNG TILE





KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin



Cán bộ hƣớng dẫn: TS. Nguyễn Hải Châu





HÀ NỘI - 2012



XÂY DỰNG GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN DẠNG TILE

Lê Văn Tùng
Khóa QH-2008-I/CQ, ngành Công Nghệ Thông Tin
Tóm tắt Khóa luận tốt nghiệp
Ngày nay, nhu cầu tra cứu bản đồ của tất cả mọi người là rất lớn. Cùng với sự bùng nổ của
Internet, việc số hóa bản đồ ngày càng được chú trọng nghiên cứu và phát triển. Với sự kết hợp
giữa GIS và Web đã thay đổi hoàn toàn cách xem bản đồ của chúng ta. Công nghệ WebGIS
không ngừng được phát triển hoàn thiện. Để đáp ứng nhu cầu xem bản đồ một cách nhanh chóng
và chính xác thì hệ thống bản đồ trực tuyến dựa trên nền tile đã ra đời. Nó là một bước tiến quan
trọng của ngành khoa học bản đồ và là một sự thay thế tuyệt vời cho những hệ thống cồng kềnh
kém hiệu quả trước đây.
Nội dung chính của đề tài là nghiên cứu các bước chính để có thể xây dựng một hệ thống
bản đồ dựa trên nền tile. Ở đây sẽ có ba bước chính để xây dựng bản đồ trực tuyến dạng tile: tạo
tile, lưu trữ và hiển thị tile trên web. Bên cạnh đó đề tài nghiên cứu còn đề cập đến các vấn đề
lưu trữ, cân bằng tải đối với hệ thống bản đồ dự trên nền tile. Dựa vào những nghiên cứu đó, và
bằng cách sử dụng các phần mềm mã nguồn mở Mapserver và Openlayers, em sẽ xây dựng thử
nghiệm bản đồ Hà Nội và bản đồ Việt Nam dựa trên ảnh tile.
Khóa luận được chia thành các phần chính:
Mở đầu: đặt vấn đề và đưa ra mục tiêu nghiên cứu
Chương 1: giới thiệu bản đồ trực tuyến nền tile và sự cần thiết của chúng
Chương 2: các bước chính để xây dựng một hệ thống bản đồ trực tuyến nền tile
Chương 3: các giải pháp tối ưu hóa và cân bằng tải với hệ thống bản đồ nền tile
Chương 4: xây dựng thử nghiệm bản đồ trực tuyến dạng tile
Kết quả: các kết quả đạt được và hướng phát triển
Từ khóa: GIS, Hệ thống thông tin địa lý




LỜI CẢM ƠN
Lời đầu tiên cho em gửi lời chân thành cảm ơn tới thầy Nguyễn Hải Châu, người đã trực

tiếp hướng dẫn tận tình và đóng góp những ý kiến quý báu trong suốt quá trình em làm khóa luận
tốt nghiệp này.
Em xin cảm ơn và gửi những lời chúc tốt đẹp nhất đến các thầy cô giáo trường Đại học
Công Nghệ - Đại học Quốc Gia Hà Nội, đã tận tâm truyền đạt những kiến thức quý báu làm nền
tảng để em bước vào đời.
Em cũng chân thành cảm ơn các tác giả của các sách báo mà em đã đề cập ở mục tài liệu
tham khảo đã cho em nguồn tài liệu quý giá và hữu ích.
Cuối cùng, em xin được cảm ơn gia đình, bạn bè và người thân đã giúp đỡ em, là chỗ dựa
tinh thần vững chắc giúp em hoàn thành khóa luận tốt nghiệp này.

Người thực hiện
Lê Văn Tùng


LỜI CAM ĐOAN
Trong quá trình làm Khóa luận này, em đã tham khỏa một số tài liệu đã được đề cấp ở mục
tài liệu tham khảo. Em xin cam đoan không sao chép các tài liệu, công trình nghiên cứu của
người khác mà không chỉ rõ trong tài liệu tham khảo. Nếu vi phạm em xin chịu mọi kỷ luật của
nhà trường.



MỤC LỤC
MỞ ĐẦU 1
1. Đặt vấn đề 1
2. Nội dung và mục đích nghiên cứu 1
CHƢƠNG 1: BẢN ĐỒ TRỰC TUYẾN DẠNG TILE LÀ GÌ VÀ SỰ CẦN
THIẾT PHẢI XÂY DỰNG CHÚNG 2
1. Giới thiệu chung về bản đồ trực tuyến 2
1.1. Giới thiệu chung 2

1.2. Ví dụ các trang web về bản đồ nổi tiếng 2
1.3. Công nghệ của bản đồ trực tuyến. 3
1.4. Sơ đồ hoạt động của ứng dụng bản đồ trực tuyến. 3
2. Các giải pháp bản đồ trực tuyến 4
2.1. MapServer. 4
2.2. OpenLayers. 8
3. Giới thiệu bản đồ trực tuyến dạng tiled 9
CHƢƠNG 2. CÁC BƢỚC CHÍNH ĐỂ THIẾT LẬP MỘT HỆ THỐNG BẢN
ĐỒ DẠNG TILE 13
1. Tạo ảnh tile 13
1.1. Thao tác xƣ lý ảnh 13
1.2. Tạo ảnh tile 19
2. Lƣu trữ 25
2.1. Lƣu trữ các hình ảnh tile nhƣ là các tập tin riêng biệt 25
2.2. Lƣu trữ tile dựa trên cơ sở dữ liệu 27
2.3. Định dạng lƣu trữ riêng 27
3. Hiển thị Tile. 28


CHƢƠNG 3: CÁC VẤN ĐỀ TỐI ƢU, CÂN BẰNG TẢI ĐỐI VỚI BẢN ĐỒ
DẠNG TILE 35
1. Chọn kích thƣớc tile 35
2. Chọn mức phóng 42
3. Cân bằng tải 44
CHƢƠNG 4: XÂY DỰNG GIẢI PHÁP BẢN ĐỒ MÃ NGUỒN MỞ VỚI
MAPSERVER, PHP/MAPSCRIPT VÀ OPENLAYERS 45
1. Phân tích 45
2. Thiết kế 45
2.1. Thiết kế kiến trúc. 45
2.2. Thiết kế dữ liệu. 47

3. Xây dựng 48
3.1. Client 48
3.2. Server 50
KẾT LUẬN …………………………………………………………………….56
PHỤ LỤC……………………………………………………………………… 58




DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Google map () 2
Hình 1.2 Yahoo! Map () 3
Hình 1.3 Bing map ( 3
Hình 1.4 Sơ đồ hoạt động của WebGIS 4
Hình 1.5 Sơ đồ khái niệm MapServer 6
Hình 1.6 Sơ đồ hoạt động của MapServer 8
Hình 1.7 Chương trình tile hợp lý 11
Hình 1.8 tile với mức phóng là 1. 12
Hình 2.1. Hỉnh ảnh chứa không gian địa lý. 15
Hình 2.2 Nội suy Bilinear 17
Hình 2.3 Ví dụ lớp cơ sở. 21
Hình 2.4 Mối quan hệ tile giữa các mức. 24
Hình 2.5 Tổ chức thư mục lưu trữ ảnh tile 26
Hình 3.1 Tổng số bit được truy cập với từng tile size 38
Hình 3.3 Các kích thước map view với tile size và tổng số byte được truy cập với ảnh
PNG 40
Hình 3.4 Kích thước map view với tile size và tổng số byte được truy cập khác nhau với
ảnh JPEG 40
Hình 3.5 Thời gian giải nén ảnh JPEG 41
Hình 3.6 Thời gian nén ảnh PNG 42

Hình 3.7 Quy mô map view trùng với một mức phóng 43
Hình 3.8 Quy mô map view nằm giữa hai phóng 43
Hình 3.9 Quy mô map view sai lệch so với mức phóng thấp hơn là 10% 43
Hình 3.10 Xét sự tồn tại của hai mức phóng tiếp theo 44


Hình 3.11 Chọn mức phóng thấp gần nhất 44
Hình 4.1 Mô hình hoạt động của bản đồ thử nghiệm 46
Hình 4.2. Thư mục lưu trữ tile. 47
Hình 4.3. Chi tiết thư mục lưu trữ tile. 47
Hình 4.4. Các tile của bản đồ huyện Việt Nam ở mức 6, hàng 24………………… 48






DANH MỤC CÁC BẢNG

Bảng 2.1 Số lượng tile và DPP của 19 mức phóng. 21
Bảng 3.1 Bảng lượng hao phí của ảnh dạng PNG và JPEG 35
Bảng 3.2 Thời gian giải nén ảnh 41
Bảng 4.1 Bảng đánh giá bản đồ mức các tỉnh thành của Việt Nam 51
Bảng 4.2 Bảng đánh giá bản đồ mức các huyện của Việt Nam………………………….52
Bảng 4.3 Bảng đánh giá bản đồ mức các xã của Việt Nam…………………………… 53
Bảng 4.4 So sánh thời gian giữa hai dạng bản đồ…………………………………….56







Danh mục các biểu đồ
Biều đồ 1. Thời gian hiển thị bản đồ sau 5 lần thử …………………………………… 54
Biểu đồ 2. Thời gian phóng to bản đồ……………………………………………………55
Biểu đồ 3. Thời gian di chuyển bản đồ……………………………………… 55



MỘT SỐ KHÁI NIỆM VÀ THUẬT NGỮ
Thuật ngữ
Từ tiếng Anh
Định nghĩa tiếng Việt
CGI
Common Gateway Interface
Chuẩn để kết nối chương trình
ứng dụng với web server
DPP
Degrees per pixel
Độ mỗi điểm ảnh
GIS
Geography Information System
Hệ thống thông tin địa lý
JPEG
Joint Photographic Experts
Group
Chuẩn nén ảnh mất mát có chất
lượng hình ảnh tốt
PNG
Portable Network Graphic

Chuẩn nén ảnh không mất mát
TMS
Tile Map Service
Các dịch vụ bản đồ dựa trên nền
tile
WFS
Web Feature Service
Các tính năng của dịch vụ web
WMS
Web Map Service
Các dịch vụ của web bản đồ

1

MỞ ĐẦU
1. Đặt vấn đề
Ngày nay với sự bùng nổ mạnh mẽ của Internet, nhu cầu truy cập tìm kiếm thông
tin của mọi người là rất lớn. Internet đã len lỏi vào từng khía cạnh nhỏ nhất của đời sống
con người, nó được ứng dụng trong mọi ngành, mọi nghề từ kinh tế, chính trị, giáo dục,
quốc phòng đến giải trí.
Bản đồ số là một loại bản đồ được thực hiện trên máy tính, các dữ liệu bản đồ được
quản lý dưới dạng số hóa. Bản đồ được xây dựng và biên tập dựa trên sự hỗ trợ của máy
tính và các thiết bị ngoại vi khác. Bản đồ số đã trở nên quen thuộc với tất cả mọi người,
và nó dần thay thế cách xem bản đồ cổ điển. Không những thế bản đồ số còn được ứng
dụng trong rất nhiều lĩnh vực khác nhau, bởi vì mọi lĩnh vức trong cuộc sống , ngành
khoa học, kinh tế, xã hội … đều gắn liền với không gian địa lý, nên mỗi chủ thể đều có
xu hướng xây dựng hệ quản trị cơ sở không gian địa lý (GIS) riêng của mình để quảng
bá, giao dịch.
Bản đồ số được tích hợp trên nền web 2.0 (WebGIS) đã đánh dấu sự phát triển vượt
bậc của công nghệ GIS. Các trang như hay

đã không còn quá xa lạ với mọi người. Chúng ta có thể truy cập vào đây để tìm các địa
điểm cần đến và có thể nhìn thấy nó một cách trực quan nhất mà không hề tốn thời gian.
Cùng với thời gian, WebGIS đã có nhiều công nghệ cải tiến để nó có thể hoạt động
một cách nhanh nhất và chính xác nhất. Ngày nay giải pháp bản đồ trực tuyến dạng tiled
đang trở nên rất phổ biến và hiệu quả. Nó mang lại rất nhiều lợi ích về mặt thời gian xem
bản đồ, nó thay thế các giải pháp chậm chạp và cồng kềnh lạc hậu. Và hơn nữa nó cũng
được tích hợp trên các giải pháp bản đồ trực tuyến mã nguồn mở như Mapserver,
OpenLayers. Xây dựng bản đồ trực tuyến dạng tiled trên các phần mềm mã nguồn mở
này chúng ta sẽ nhận được các tiện ích của chúng, đó là tiết kiệm được chi phí đầu tư, tận
dụng các thành qủa của cộng đồng, và tính an toàn cao.
2. Nội dung và mục đích nghiên cứu
Nghiên cứu việc xây dựng giải pháp bản đồ trực tuyến dạng tiled, từ đó xây dựng
thử nghiệm bản đồ hà nội và bản đồ Việt Nam.

2

CHƢƠNG 1: BẢN ĐỒ TRỰC TUYẾN DẠNG TILE LÀ GÌ VÀ SỰ CẦN
THIẾT PHẢI XÂY DỰNG CHÚNG
1. Giới thiệu chung về bản đồ trực tuyến
1.1. Giới thiệu chung
Những năm gần đây, GIS được ứng dụng rất nhiều trong các ngành khoa học liên
quan đến dữ liệu không gian. Với khả năng quản lý, chia sẻ các ứng dụng thông tin địa lý
qua mạng internet/intranet. Bằng việc kết hợp GIS và web để tạo thành WebGIS, người
dùng có thể xem bản đồ bằng cách mở một trình duyệt.
Lý do để người ta nghĩ đến bản đồ trực tuyến đó là khi việc các phần mềm map
desktop tuy rất phát triển nhưng để tất cả mọi người đều có thể sử dụng được chúng thì
yêu cầu một khoảng thời gian để họ làm quen sử dụng, và sẽ rất bất tiện khi truy cập vào
một bản đồ. Họ chỉ xem được bản đồ tại những máy có cài phần mềm map desktop và
những map desktop này là quen thuộc với họ. Và bản đồ trực tuyến (WebGIS) là một giải
pháp không tồi để tất cả mọi người có thể xem được bản đồ một cách dễ dàng và nhanh

nhất.
1.2. Ví dụ các trang web về bản đồ nổi tiếng

Hình 1.1. Google map ()

3


Hình 1.2. Yahoo! Map ()

Hình 1.3. Bing map (
1.3. Công nghệ của bản đồ trực tuyến.
Công nghệ GIS trên nền Web (hay còn gọi là WebGIS) là hệ thống thông tin địa lý
phân tán trên một mạng các máy tính để tích hợp, trao đổi các thông tin địa lý trên mạng
Internet. Công nghệ WebGIS này tương tự kiến trúc Client-Server của web. Xử lý thông
tin không gian địa lý được xử lý ở cả phía Server và phía Client. Điều này cho phép
người dùng có thể khai thác thông tin GIS qua trình duyệt web. Một Client tiêu biểu là
một trình duyệt web, một Server bao gồm một Web Server cung cấp một chương trình
4

ứng dụng GIS trên nền web. Client gửi yêu cầu dữ liệu bản đồ đến Server ở xa qua môi
trường web, Server xử lý thông tin yêu cầu bằng cách chuyển yêu cầu thành mã nội bộ và
gọi những chức năng về GIS thông qua việc chuyển tiếp các yêu cầu đến phần mềm ứng
dụng GIS. Phần mềm này trả lại kết quả, sau đó kết quả này được định dạng lại và phản
hồi lại cho phía Client. Server trả về kết quả cho Client hiển thị, hoặc gửi dữ liệu hoặc
các công cụ phân tích để Client sử dụng.
Điều quan trọng ở đây chính là công nghệ GIS trên nền web. Công nghệ WebGIS
có khả năng làm cho thông tin địa lý trở nên hữu dụng và sẵn sàng tới lượng lớn người sử
dụng trên thế giới. Để WebGIS có thể chạy được trên tất cả các trình duyệt web thì các
ứng dụng GIS trên nền web phải được thiết kế theo các kỹ thuật của mạng Internet.

1.4. Sơ đồ hoạt động của ứng dụng bản đồ trực tuyến.





Hình 1.4. Sơ đồ hoạt động của WebGIS
Khi nhu cầu phát sinh, phía máy khách sẽ gửi yêu cầu đến Web Server, nếu yêu cầu
là dữ liệu không gian địa lý thì Web Server sẽ gửi tiếp yêu cầu đến ứng dụng GIS, và tại
đây nó sẽ truy vấn để lấy dữ liệu cần thiết từ kho dữ liệu. Sau đó dữ liệu bản đồ sẽ được
gửi trả lại WebServer. Dữ liệu sẽ được định dạng lại và hiển thị lên web brower của
Client.
2. Các giải pháp bản đồ trực tuyến
Ngày nay, có rất nhiều giải pháp bản đồ trực tuyến như MapBuilder, Mapbender,
MapServer, OpenLayers … tuy nhiên trong khuôn khổ khóa luận em xin giới thiệu hai
giải pháp đó là: MapServer và OpenLayers.
2.1. MapServer.
2.1.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
Web brower
Client
Web Server
Ứng dụng GIS
Dữ liệu
5

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.
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à DNR (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).
2.1.2. Các đặc tính.
 Sinh hình ảnh bản đồ phức tạp
o Hình ảnh phục thuộc vào tỷ lệ
o Tên các hình ảnh
o Xuất định dạng có thể sửa đổi hoặc theo khuôn mẫu
o Phông chữ kiểu thực
o Tự động sinh ra các thành phần của bản đồ (tỷ lệ, chú thích …)
 Hỗ trợ các ngôn ngữ và môi trường phát triển phổ biến như 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 Vector và Raster
 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, …
2.1.3. Cấu trúc của MapServer.
6

Đơn giản nhất có thể hiểu MapServer như là một chương trình CGI được đặt 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 1.5. Sơ đồ khái niệm 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.
2.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#.
7

2.1.5. Cấu trúc của một ứng dụng MapServer.
Một ứng dụng MapServer đơn giản gồm các thành phần:
 Mapfile: Một 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ản đồ, 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ản đồ, bao gồm nguồn dữ liệu, phép 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ặc
đị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. Có hai dạng form đó là:
o Trang khởi tạo: Người dùng tự định nghĩa giao diện.

o Trang khuôn mẫu: Sử dụng giao diện mặc định của MapServer.
 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 đặt
trong web root.
 HTTP Server: 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 Infomation
Server đặt trên máy cài mapserver.
2.1.6. 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. 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.
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 ả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.
8


Hình 1.6 Sơ đồ hoạt động của 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
(chồng lớp) và sau đó được in thành dạng web hình ảnh thân thiện cho người sử dụng.
2.2. OpenLayers.
OpenLayers là giải pháp bản đồ phía Client. Nó làm cho việc đặt một bản đồ động
lên bất kỳ trang web nào trở nên dễ dàng hơn. Nó hiển thị các map tile và lấy dữ liệu bản
đồ từ bất kỳ nguồn nào. OpenLayer là hoàn toàn miễn phí và được phát hành theo giấy
phép của BSD.
OpenLayer làm cho việc đặt một bản đồ động lên bất kỳ trang web nào trở nên dễ
dàng hơn. Nó hiển thị các map tiled và tải dữ liệu bản đồ từ bất kỳ nguồn nào.

OpenLayers thuần túy là một thư viện JavaScript dùng để hiển thị dữ liệu bản đồ
lên các trình duyệt web hiện nay, không phụ thuộc vào phía máy chủ. OpenLayers sử
dụng một JavaScript API để xây dựng ứng dụng bản đồ địa lý, tương tự như Google Map
và MSN Virtual Earth API, nhưng một điều khác biệt đặc biệt quan trọng đó là
OpenLayers là một phần mềm miễn phí được phát triển bởi cộng đồng mã nguồn mở.
9

OpenLayers sử dụng các chuẩn để truy cập bản đồ địa lý, như là OpenGIS
consortium's Web Mapping Service( WMS) và giao thức Web Feature Service( WFS).
Hơn nữa, OpenLayers được viết bằng JavaScript hướng đối tượng, sử dụng Prototype.js
và thư viện Rico. Mã nguồn OpenLayers được kiểm tra rất kỹ lưỡng, và đã vượt qua
khung Test.AnotherWay.
OpenLayers được thiết kế để thích hợp với tất cả các nguồn dữ liệu. Việc làm này
đã làm nên cuộc cách mạng GIS mà người dùng được hưởng lợi nhiều nhất.
Các đặc trưng của OpenLayers:
◦ Hỗ trợ tất cả các nguồn dữ liệu
◦ Hỗ trợ hiển thị các không gian địa lý
◦ Dễ dàng cấu hình và phát triển OpenLayers trong các ứng dụng khác
◦ JavaScript API cho phép toàn quyền điều khiển map trên trang web.
3. Giới thiệu bản đồ trực tuyến dạng tiled
Hệ thống map Tile-based đang trở thành một trong những hệ thống map được sử
dụng phổ biến trong hàng loạt các công cụ tìm kiểm bán đồ trên Web. Ứng dụng map qua
Internet đầu tiên được đưa vào giữa và cuối những năm 1990 bao gồm Yahoo!Map,
MapQuest, and Microsoft's TerraServer. Các loại map trên cho phép ánh xạ tới các ứng
dụng map thông qua bộ trình duyệt Web. Hệ thống định vị map trên nói chung là rất thô
sơ. Để thực hiện những chuyển động đơn giản trên map, đa số map yêu cầu người dùng
phải nhắp vào nút mũi tên chỉ dẫn xung quanh khung nhìn map. Khi người dùng nhắp
vào mũi tên, map di chuyển một lượng xác định trước theo hướng nhắp vào. Cũng có nút
để phóng to và thu nhỏ. Số khác cho phép người dùng kéo và vẽ hộp trên map để dời tầm
nhìn map.

Tất cả các hệ thống này có vài sự bất lợi như cung cấp và tải các map view một
cách rất chậm chạp bởi vì map view thường đã được đại diện bởi một tập tin ảnh lớn. Mỗi
lần map được di chuyển sang trái hoặc phải, toàn bộ hình ảnh sẽ biểu hiện lại và gửi lại
đến người dùng mặc dù chỉ một phần hình ảnh là mới. Tuy nhiên, giao diện tương đối
đơn giản và có ưu thế để phát triển giao diện. Giao diện cơ bản thích hợp với tất cả các
trình duyệt Web hiện thời. Giao diện map có thể được viết hoàn toàn trong HTML hoặc
10

với một đoạn JavaScript rất rất nhỏ. Cũng có các Map View được xây dựng như là một
ứng dụng trên máy tính. Hệ thống này phức tạp hơn và sử dụng nền tảng phát triển công
nghệ và plugin trình duyệt như Java hay Flash.
Google Maps đã được giới thiệu vào năm 2005 và thay đổi đáng kể cách thức mọi
người xem map. Thay cho các phương pháp điều hướng map cồng kềnh và chậm chạp,
Google Maps cung cấp những gì đã được biết đến như là một giao diện kiểu "Slipp Map".
Đó là giao diện cho phép người dùng nhanh chóng di chuyển, phóng to, thu nhỏ map và
được viết không hoàn toàn bằng HTML và JavaScript. Cũng như rất nhiều các ứng dụng
Map Web khác nó có một giao diện tương tự giao diện map. Cuối cùng loại giao diện
“Slipp Map” xuất hiện một cách rộng rãi bao gồm cả các thiết bị máy tính xách tay và
điện thoại di động. Một chìa khóa của công nghệ xây dựng map là dựa trên Tile. Ứng
dụng map đã được thực hiện bằng cách sử dụng map nền cái mà đã được cắt nhỏ thành
những Tile image. Những Tile đã được lưu trữ, và sẵn sàng được trả lại, trên một máy
chủ. Bởi vì chúng đã sẵn sàng được trả lại, chúng có thể được gửi cho người dùng một
cách nhanh chóng. Các Tile được giải quyết một cách rời rạc vì thế chúng có thể được
lưu trữ bởi các dịch vụ bộ nhớ đệm Internet và trình duyệt của người dùng. Các hình ảnh
map được chia thành các phần nhỏ, vì vậy khi người dùng định vị được map view, chỉ có
các phần mới của map đã được gửi lại từ máy chủ.
Hệ thống Tile-based mapping có vài điểm mấu chốt cần chú ý để phân biệt với các
loại khác. Dưới đây là những nhân tố bắt buộc trong hệ thống map Tile-based:
• Sự định vị Tile được sinh ra sau một phép chiếu toàn cầu.
• Tile chủ yếu được phân tán bằng cách sử dụng một kiến trúc hệ thống

client/server.
• Tile được tổ chức trong những lớp nhỏ và cố định
Hệ thống tile-base mapping sẽ sử dụng chương trình tile hợp lý, nó sẽ chiếu trái đất
đến bề mặt hai chiều và phân chia bề mặt này thành một loạt các lưới có khoảng cách đều
nhau như hình dưới.
11


Hình 1.7 Chương trình tile hợp lý [4]
Với mỗi ô của lưới là một tile. Lưới trên sẽ chứa các địa chỉ của các tile. Chương
trình tile hợp lý sẽ xác định địa chỉ rời rạc, phương pháp tạo ra nhiều cấp độ phóng của
tile. Các chương trình trên là nền tảng của hệ thống map tile. Mỗi chương trình thường
gắn liền với phép chiếu hai chiều. Lược đồ địa chỉ này cho phép một hình ảnh tile được
truy cập trực tiếp với tọa độ rời rạc. Ví dụ, thay vì yêu cầu một hình ảnh map với một
ranh giới là hình chữ nhật ta có thể mô tả nó với những con số thực liên tục như [-100,0,
30,0] [-80,0, 40,0], một Tile có thể được yêu cầu từ một mạng lưới với mức phóng, địa
chỉ cột và hàng mô tả với các giá trị nguyên rời rạc.
Chúng ta sẽ xét một chương trình tile hợp lý, nó sẽ chiếu trái đất đến một hình chữ
nhật rộng tương ứng 360 độ và dài tương ứng 180 độ. Ở mức độ 1, chương trình này sẽ
có một dòng và 2 cột:
12


Hình 1.8 Tile với mức phóng là 1.
Đối với mỗi cấp độ tiếp theo, chúng ta tăng gấp đôi số lượng của các hàng và cột.
Trong khi chúng ta tăng gấp đôi mỗi chiều, mỗi cấp độ tiếp theo có 4 lần số lượng Tile so
với cấp trước đó. Như chúng ta tăng mức độ phóng to, mỗi Tile được chia thành 4 Tile.
Thực tế chỉ cần 20 mức phóng là đủ cho hầu hết các dữ liệu map. Các tọa độ tile có thể
được biểu diễn bằng tọa độ Decac với nguồn tile ở bên trái dưới cùng hoặc ma trận tọa độ
với nguồn tile bên trái trên cùng …Tùy vào cách lưu tọa độ tile, từng chương trình sẽ gọi

địa chỉ tile và lấy dữ liệu ảnh tile điền vào map view theo một quy luật cụ thể để tạo
thành bản đồ theo yêu cầu người dùng.

13

CHƢƠNG 2. CÁC BƢỚC CHÍNH ĐỂ THIẾT LẬP MỘT HỆ THỐNG BẢN
ĐỒ DẠNG TILE
Để tạo một hệ thống tile hoàn chỉnh chúng ta phải thực hiện ba bƣớc sau:
 Tạo ảnh tile.
 Lưu trữ tile.
 Hiển thị tile.
Sau đây chúng ta sẽ tìm hiểu từng bước cụ thể.
1. Tạo ảnh tile
Để tạo bộ nguồn ảnh để phục vụ tạo ảnh Tile thì việc xử lý ảnh là cần thiết. Vì thế
để tạo ảnh Tile thì trước tiên chúng ta phải thực hiện xử lý ảnh và sau đó tạo tile từ bộ
ảnh nguồn đã được xử lý. Đầu tiên chúng ta sẽ bàn luận về các kỹ thuật xử lý ảnh cần
thiết để tạo một bộ ảnh nguồn phục vụ việc tạo ảnh Tile.
1.1. Thao tác xƣ lý ảnh
1.1.1. Các khái niệm hình ảnh cơ bản
Một bức ảnh kỹ thuật số được máy tính thể hiện bằng bức ảnh hai chiều và có thể là
raster hoặc vector. Raster (hay bitmap) bức ảnh kỹ thuật số sử dụng một mạng lưới hình
chữ nhật của các phần tử ảnh (gọi là cell) để hiển thị ảnh. Ảnh vector thì sử dụng hình
học nguyên thủy như điểm, đường và đa giác để hiển thị một ảnh.
Mỗi hình ảnh raster là một mạng lưới các điểm ảnh, và mỗi điểm ảnh đại diện cho
một màu của các hình ảnh tại điểm đó.
Mỗi giá trị pixel biểu diễn một giá trị màu sắc trong không gian màu sắc của hình
ảnh. Mỗi màu sắc được biểu diễn bởi mô hình RBG (đỏ, xanh lá cây, xanh nước biển),
kết hợp 3 mày cơ bản này ta có thể biểu diễn hàng triệu màu khác nhau.
Mỗi thành phần mầu trong mô hình RBG sẽ chiếm một byte lưu trữ, như vậy sẽ
mất 3 byte (24 bits) hoặc mất 4 byte (32 bits) với hệ màu RBGA. Mỗi byte sẽ có giá trị từ

0 đến 255 và việc kết hợp chúng lại sẽ cho ta 255x255x255 màu được biểu diễn bởi hệ
màu RBG 24 bits.

×