1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

75 361 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 75
Dung lượng 2,73 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MỘT SỐ KHÁI NIỆM VÀ THUẬT NGỮ CGI Common Gateway Interface Chuẩn để kết nối chương trình ứng dụng với web server GIS Geography Information System Hệ thống thông tin địa lý JPEG Joint Pho

Trang 1

ĐẠ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

Trang 2

ĐẠ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

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

Trang 3

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ý

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

DANH MỤC CÁC HÌNH VẼ

Hình 1.1 Google map (http://maps.google.com) 2

Hình 1.2 Yahoo! Map (http://maps.yahoo.com) 3

Hình 1.3 Bing map (http://www.bing.com/maps) 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

Trang 9

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

Trang 10

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

Trang 11

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

Trang 12

MỘT SỐ KHÁI NIỆM VÀ THUẬT NGỮ

CGI Common Gateway Interface Chuẩn để kết nối chương trình

ứng dụng với web server

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

Trang 13

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

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

Trang 14

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 (http://maps.google.com)

Trang 15

Hình 1.2 Yahoo! Map (http://maps.yahoo.com)

Hình 1.3 Bing map (http://www.bing.com/maps)

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

Trang 16

ứ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

Trang 17

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)

 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

Trang 18

Đơ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#

Trang 19

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

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

Trang 20

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

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ở

Trang 21

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

Trang 22

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

Trang 23

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:

Trang 24

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

Trang 25

Để 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

Trang 26

Hình ảnh raster được lưu trữ trong một loạt các tập tin có định dạng xác định chủ yếu bằng thuật toán nén Các định dạng thường được sử dụng là sử dụng nén để giảm bớt không gian đĩa Ví dụ RGB với hình ảnh 1000x1000 pixel Để lưu nó không nén sẽ phải mất 1000x1000x3=3 megabyte Điều đó là quá lãng phí bộ nhớ, trong khi đó thuật toán nén tốt có thể cho tỷ lệ nén là 1:10 Như vậy hình ảnh trên có thể chỉ tốn 300 Kilobyte để lưu trữ

Nói chung có hai loại nén, không mất mát và mất mát Với thuật toán nén không mất mát thì không gian lưu trữ hình ảnh không bị mất bất kỳ thông tin nào Thuật toán nén mất mát thì nó sẽ làm mất một phần thông tin của hình ảnh Thuật toán mất mát loại

bỏ một phần hình ảnh một cách khôn ngoan Nhiều thuật toán mất mát có thể tạo ra một hình ảnh nén những hình đã loại bỏ những thông tin quan trọng và trực quan thì không còn giống ảnh gốc

Việc mất mát dữ liệu thì hay diễn ra với các tập tin hình ảnh có định dạng là JPEG (Join Photographic Experts) Có hai loại định dạng không mất mát: Portable Network Graphic( PNG), và Graphics Interchange Format( GIF) Có một định dạng phổ biến không sử dụng nén: Bipmap (BMP), Portable Pixel Map (PPM), Portable Graymap (PGM), và Portable Bitmap (PBM)

1.1.2 Hình ảnh không gian địa lý

Để những bức ảnh có thể mô tả được bề mặt trái đất một cách trung thực, chính xác, chúng ta phải gắn thông tin không gian địa lý vào bức ảnh đó Các bức ảnh này được đính kèm tọa độ để lý để có thể miêu tả được chính xác khu vực địa lý thực tế Để tạo nên một bức ảnh có gắn thông tin không gian địa lý, chúng ta có hai cách thực hiện Đầu tiên chúng ta có thể một hình chữ nhật bao biên của bức ảnh và có gắn tọa độ địa lý như hình 2.1 ở dưới

Trang 27

Hình 2.1 Hỉnh ảnh chứa không gian địa lý

Cách hai là chúng ta cung cấp tọa độ gốc cộng với độ mỗi điểm ảnh (DPP) trong mỗi chiều

Với một hoặc nhiều ảnh gắn không gian địa lý, chúng ta có thể xây dựng hệ thống Tiled-based mapping để phối hợp với các dữ liệu trong những bức ảnh đó

1.1.2.1 Các tập tin có dạng đặc biệt

Có một số tập tin có định dạng đặc biệt nó thích hợp cho việc lưu trữ hình ảnh không gian đại lý MrSID (đa phân giải liền mạch cơ sở dữ liệu hình ảnh) là một định dạng lưu trữ hình ảnh độc quyền bởi Lizardtech Nó được thiết kế đặc biệt cho việc lưu trữ hình ảnh không gian địa lý lớn, phổ biến nhất là hình ảnh ortho-rectified MrSID sử dụng cơ sở nén wavelet để lưu trữ nhiều độ phân giải của hình ảnh Điều này cho phép truy cập nhanh vào tổng thể (hoặc thu nhỏ hình) các phần của của hình ảnh Điều đó không phổ biến cho những ảnh MrSID để tạo nên nhiều triệu điểm ảnh

JPEG2000 là một định dạng tập tin thế hệ tiếp theo được tạo ra bởi nhóm Joint Photographic Experts Giống như MrSID, nó là một định dạng dựa trên nền wavelet JPEG2000 thì không được thiết kế đặc biệt để lưu các ảnh không gian địa lý; tuy nhiên, phần mở rộng của nó đã thực hiện cho phép các thông tin không gian địa lý được gắn liện với hình ảnh JPEG2000 cũng rất thích hợp để lưu trữ hình ảnh rất lớn và là một định dạng mở hơn MrSID

Trang 28

Một trong những định dạng tập tin ảnh không gian địa lý lâu đời và phổ biến nhất

là GEOTIEF GEOTIEF dựa trên định dạng Tagged Image (TIFF) chuẩn Một GEOTIEF chỉ đơn giản là một tập tin TIFF với chuẩn thẻ địa lý không gian được thêm vào nó Chuẩn TIFF là được sử dụng rộng rãi nhất ở định dạng tập tin hình ảnh Nó cho phép tùy chọn các chương trình nén thay thế hay không nén Nó cũng cho phép nhiều trang hình ảnh, một loạt các hệ mầu, và cách bố trí bộ nhớ Hiện nay có nhiều phần mềm mã nguồn

mở hỗ trợ đọc các tập tin hình ảnh dạng TIFF (và GEOTIFF)

Chú ý rằng trong một số trường hợp, hình ảnh không gian địa lý sẽ được lưu trữ trong các tập tin không hỗ trợ nhúng tọa độ không gian địa lý Trong những trường hợp

đó, nó sẽ có một thủ tục để cung cấp một tập tin đi kèm có chứa tọa độ không gian địa lý Đây chỉ là quy ước không phải là một chuẩn vì thế các chi tiết kỹ thuật khác nhau sẽ được triển khai trong các thành phần khác nhau

1.1.3 Thao tác với hình ảnh

Phần này cung cấp nền tảng về thuật toán xử lý ảnh cho quá trình tạo Tile Các ảnh Tile trước đây được lưu ở một độ phân giải cố định Kể từ khi chúng ta sử dụng đa phân giải, ngay cả khi hình ảnh nguồn phù hợp với một độ phân giải, nhưng nó không thể phù hợp với tất cả độ phân giải của chúng ta Vì vậy chúng ta phải có một số quy mô ảnh Quy mô hình ảnh là một kiểu nội suy Nội suy là một quá trình tạo nên dữ liệu mới

từ tập hợp rời rạc các giá trị dữ liệu được biết trước 3 thuật toán nội suy thông thường :

1.1.3.1 Nội suy 1: Nearest Neighbor

Nearest Neighbor là đơn giản nhất của tất cả các thuật toán nội suy Nó sử dụng các giá trị điểm ảnh của ảnh nguồn có không gian gần nhất đến vị trí các điểm ảnh đích Phương pháp này là tính toán hiệu quả, nhưng nó có một số nhược điểm nghiêm trọng, đặc biệt là khi kích thước hình ảnh đích và nguồn rất khác nhau

1.1.3.2 Nội suy 2: Bilinear

Bilinear là thuât toán nội suy phức tạp hơn, nó tạo ra một độ lớn trung bình của 4 điểm ảnh bao quanh trung tâm của các điểm ảnh đích Ví dụ:

Trang 29

Hình 2.2 Nội suy Bilinear các hướng đi từ tâm các điểm ảnh nguồn đến tâm điểm ảnh đích Chiều dài của mỗi dòng,

tỉ lệ với tổng chiều dài, bổ sung cho dữ liệu từ điểm ảnh trong dòng nguồn Nó bổ xung

để điểm ảnh có độ dài hơn để nó ít tác động trên kết quả cuối cùng

1.1.3.3 Nội suy 3: Bicubic

Đây là phép nội suy phức tạp nhất và nó cũng mang lại kết quả tốt nhất Thuật toán Bicubic tính trung bình có trọng số của 16 điểm ảnh xung quanh theo công thức :

f (x) = a0x3+a1x2+a2x+a3 (2.1)

1.1.4 Chọn định dạng cho các tile

Việc định dạng file ảnh để lưu trữ và truyền tải Tile hình ảnh là cần thiết Hiện nay

có hàng trăm định dạng tập tin có thể sử dụng Một số cung cấp các chương trình nén rất tốt, còn một số khác tập trung vào sự đơn giản và tương thích Chúng ta có thể chọn các định dạng ảnh cung cấp hiệu suất nén tốt, và quan trọng nhất là hỗ trợ phần lớn các trình duyệt web hiện nay

Trang 30

Ở đây PNG và JPEG là định dạng hợp lý nhất vì nó có thể nén và cung cấp khá nhiều mầu PNG sử dụng thuật toán nén DEFLATE không mất mát dữ liệu khi nén và nó còn cung cấp số lượng mầu rất lớn 48 bit Vì thế nó phù hợp để lưu trữ, trả lại số liệu và bản đồ có bảng màu giới hạn JPEG sử dụng thật toán nén dựa trên chuyển đổi cosin rời rạc Nó thực hiện với hình ảnh có nhiều mầu sắc, và có độ mờ nhất định Nhưng điều quan trọng ở đây là dạng PNG sẽ chiếm nhiều không gian bộ nhớ hơn dạng JPEG (tỉ lệ có thể là 18:1) Vì thế JPEG sẽ dùng để lưu các hình ảnh cần độ phân giải cao và không gian

bộ nhớ là vấn đề quan trọng Ta hoàn toàn có thể kết hợp 2 dạng này trong bản đồ Tiled

1.1.5 Chọn kích thước cho các tile

Đây là bước quan trọng nhất trong hệ thống bản đồ dạng Tile Các ảnh Tile có thể

có bất kỳ kích cỡ nào và chúng có thể chuyển đổi ở các quy mô khác nhau Chúng có thể khác nhau trên cùng một tỷ lệ hoặc chúng có kích cỡ ngẫu nhiên Tuy nhiên sẽ có hiệu quả nếu chọn các Tile cùng kích cỡ trên một hoặc mọi mức phóng

Đây là bước quan trọng nhất trong hệ thống bản đồ dạng Tile Các ảnh Tile có thể

có bất kỳ kích cỡ nào và chúng có thể chuyển đổi ở các quy mô khác nhau Chúng có thể khác nhau trên cùng một tỷ lệ hoặc chúng có kích cỡ ngẫu nhiên Tuy nhiên sẽ có hiệu quả nếu chọn các Tile cùng kích cỡ trên một hoặc mọi quy mô

Có một cách tiếp cận để xác định kích thước Tile tối ưu Đầu tiên chúng ta phải xem tác động của việc sử dụng nhiều hình ảnh để ảo hóa một map view đơn giản Mỗi bức ảnh sẽ đi kèm với một số lượng chi phí Có nhiều loại chi phí khác nhau, như chi phí

đa tìm kiếm và đọc của tập tin hệ thống, sử dụng không đồng đều kích cỡ của các block, tiêu đề và các chi phí không gian lưu trữ với mỗi ảnh

Điều quan tâm tiếp theo đó là số lượng ảnh vô nghĩa sau khi tải ảnh tile và hiển thị

nó lên map view Những điểm ảnh vô nghĩa là những điểm ảnh được tải, giải nén nhưng không được hiển thị lên map view và kích thước của màn hình máy tính hiện nay

Kết luận, bằng những thực nghiệm được tiến hành dựa trên hai tiêu chí trên, người

ta sẽ sử dụng 512x512 cho các kích thước Tile Phân tích cho thấy 256x256 cũng sẽ là một lựa chọn tốt Tuy nhiên, chúng ta nên xem xét điểm cuối cùng Phải mất 4 Tile 256x256 để bao một không gian của một Tile 512x512 Vì vậy khi chúng ta tạo ra một số lượng Tile lớn, nếu chúng ta sử dụng Tile 256x256, chúng ta sẽ mất gấp 4 lần mục cơ sở

Trang 31

dữ liệu hoặc 4 lần cho file ảnh Tile, và lập chỉ mục sẽ gấp 4 lần kích thước – đây sẽ là một chi phí đáng kể

1.2 Tạo ảnh tile

1.2.1 Tạo ảnh tile từ tập ảnh ngẫu nhiên

Bộ hình ảnh Tile được tạo ra từ bộ sưu tập các nguồn ảnh ngẫu nhiên Chúng ta gọi

là những hình ảnh ngẫu nhiên vì không giống như hình ảnh Tile của chúng ta, các hình ảnh ngẫu nhiên này không có kích thước và ranh giới theo một hệ thống nào cả Các bộ sưu tập hình ảnh nguồn này có hình thức khác nhau Ví dụ chúng ta có 50 bức ảnh có độ phân giải cao từ trên không của các thành phố lớn nhất trên thế giới Mỗi thành phố được đại diện bởi những số nhỏ (5 đến 50) của bức ảnh nguồn lớn ( khoảng 10000x10000) Mỗi hình ảnh nguồn có thể có một kích thước khác nhau, bao gồm một thành phần khác nhau của trái đất hoặc có độ phân giải khác nhau Gộp lại chung, tất cả các bức ảnh nguồn của tất cả các thành phố thành một lớp bản đồ duy nhất Định dạng cho ảnh nguồn bao gồm GEOTIFF, MrSID, và GEO-JPEG2000 Tuy nhiên hầu hết các định dạng hình ảnh được sử dụng, miễn là các thuộc tính không gian địa lý được mã hóa trong tập tin ảnh

Đến đây ta cùng định nghĩa lớp bản đồ Lớp thường là đơn vị nguyên tử để yêu cầu

dữ liệu bản đồ từ hệ thống bản đồ không gian địa lý dựa trên nền WEB Một lớp bản đồ

là một nhóm các dữ liệu không gian địa lý hợp lý Thuật ngữ “layer” được sử dụng để truyền đạt ý tưởng của đồ họa nhiều lớp xếp chồng lên nhau theo thứ tự của màn hình hiển thị Các lớp được hình thành bởi một nhóm dữ liệu không gian địa lý hợp lý Ví dụ một lớp bản đồ “entertainment” sẽ bao gồm các khu vực rạp chiếu phim, công viên, vườn thú, nhà hát … Trong trường hợp những bức ảnh này, chúng ta sẽ định nghĩa một lớp như

là một map view duy nhất cho một không gian địa lý nhất định

Kết luận cho một lớp bản đồ, sẽ chỉ tồn tại một hoặc chỉ một ảnh Tile cho một địa chỉ Tile đặc biệt

Ví dụ chúng ta có hình ảnh trên không của Alaska Tuyến bao quanh Alaska thay đổi từ tháng này sang tháng khác Chúng ta phải có tập ảnh nguồn cho mỗi tháng của một năm Mỗi ảnh trong tập ảnh ấy sẽ bao một không gian giống nhau Đối với một Tile có địa chỉ nhất định, mỗi ảnh sẽ thiết lập một ảnh Tile có một nội dung khác nhau Vì thế

Trang 32

chúng ta phải nhóm chúng thành một lớp riêng biệt, một lớp hình ảnh cho từng tháng riêng

1.2.2 Chuẩn bị tạo tile

1.2.2.1 Tạo buttom-up tile

Mỗi lớp hình ảnh Tile có nhiều cấp độ Một bộ Tile bắt đầu với một mức độ cơ sở; mức độ cơ bản là mức với số lượng cao nhất và độ phân giải hình ảnh cao nhất Mỗi cấp

độ tiếp theo là một phiên bản thấp hơn mức trước đó Hình 2.2 chỉ ba cấp độ của cùng một lớp hình ảnh Trong ví dụ này, cấp 3 là cấp độ cơ sở Mức độ 2 và 1 là phiên bản độ phân giải thấp của cùng một dữ liệu

Trang 33

ra Tile là một quá trình từ dưới lên về quy mô bản đồ

1.2.2.2 Chọn mức cơ sở cho tập ảnh nguồn

Trước khi một bộ Tile có thể được tạo ra từ một tập hợp các hình ảnh ngẫu nhiên, thì mức cơ sở sẽ được chọn Trong một số trường hợp, một mức mục tiêu cơ bản sẽ được xác định trước Nó có thể được yêu cầu để tích hợp với lớp Tile khác hoặc phần mềm client Tuy nhiên, trong hầu hết trường hợp, các cấp cơ sở được lựa chọn chặt chẽ phù hợp với độ phân giải của hình ảnh nguồn Một tập hợp các hình ảnh nguồn ngẫu nhiên là không phù hợp chính xác với một trong những mức độ độ phân giải định trước của chúng

ta Vì vậy, chúng ta phải chọn mức độ Tile gần nhất với hình ảnh nguồn của chúng ta Bảng 2.3 cho thấy 19 cấp độ đầu tiên trong chương trình Tile hợp lý của chúng ta với Tile 512x512 Nó cung cấp cho số lượng Tile ngang và dọc cho mỗi cấp độ cùng với độ của mỗi điểm ảnh (DPP) cho mỗi cấp Các giá trị DPP sẽ được sử dụng để lựa chọn các mức cơ sở cho bộ hình ảnh nguồn

Bảng 2.1 Số lượng tile và DPP của 19 mức phóng [4]

Trang 34

Để thực hiện phân tích này, chúng ta sẽ yêu cầu một số thông tin từ mỗi nguồn hình ảnh trong thiết lập của chúng ta: chiều rộng và chiều cao hình ảnh theo pixel tối thiểu và tọa độ tối đa theo chiều dọc và ngang ở các mức độ Chúng ta tính toán giá trị DPP bằng cách kết hợp các kích thước theo chiều dọc và theo chiều ngang của hình ảnh Đây là một phương pháp phù hợp cho các dự đoán hình ảnh Tile bảo tồn DPP cùng trong mỗi kích thước Các tính toán được thực hiện ở các mức độ Dựa vào phương pháp trên việc tìm kiếm một tile cơ sở là tương đối phức tạp, nhưng khi chúng ta đã chọn được một tile cơ

sở thì những tile ở mức độ thấp hơn sẽ được tạo ra một cách dễ dàng

1.2.2.3 Tạo tile dựa trên nền Pull và Push

Có hai phương pháp để tạo ra tile từ nguồn hình ảnh ngẫu nhiên: nền kéo và nền đẩy

Tạo ra tile trên nền kéo có nghĩa là tạo ra tile và kéo dữ liệu từ hình ảnh nguồn vào Còn tạo tile trên nền đẩy là đẩy dữ liệu hình ảnh nguồn vào tile được tạo ra Trên thực tế hai phương pháp này là khác nhau vì nhưng lý do dưới đây

Vấn đề thứ nhất là vấn đề về bộ nhớ Trên thực tế thì bộ nhớ của máy tính là bị giới hạn, vì thế việc lưu trữ một bộ tile có kích thước lớn trong bộ nhớ là không thể mà chúng

Trang 35

ta phải lưu trữ chúng ở ngoài đĩa cứng Việc đọc các tile bao giờ cũng nhanh việc ghi chúng vào đĩa cứng

Mối quan tâm thứ hai là đa luồng Máy tính ngày nay được hỗ trợ nhiều luồng nên

có thể thực hiện được nhiều công việc trong cùng một thời gian Điều này là rất cần thiết

để một hệ thống có thể làm việc hiệu quả Nhưng điều đáng chú ý ở đây là việc quản lý tài nguyên trong một luồng an toàn Vì thế hai luông không nên đồng thời truy xuất vào một tile Nếu chúng ta sử dụng phương pháp đẩy, thì chúng ta sẽ phải lặp qua nguồn hình ảnh, và sau đó sẽ trao đổi với tile vào và ra khỏi bộ nhớ thường xuyên Vì vậy những tile

sẽ phải trao đổi ở bộ nhớ và thời gian ở ổ đĩa trong quá trình tạo ra chúng Điều này sẽ dẫn đến hiện tượng phân mảnh hệ thống tập tin Nhưng với phương pháp kéo, chúng ta sẽ lập qua các tile đầu tiên và trao đổi với các hình ảnh nguồn ở trong và ngoài bộ nhớ Vì các hình ảnh là những tập tin chỉ đọc nên làm việc với chúng sẽ rất an toàn Do đó, phương pháp kéo có vẻ trực quan hơn

1.2.3 Thuật toán tạo tile

Sau đây là các bước trong quá trình tạo Tile:

1 Chọn mức cơ sở cho các thiết lập Tile

2 Xác định các giới hạn địa lý của tập Tile (Điều này có thể dựa trên các giới hạn các hình ảnh nguồn.)

3 Xác định các giới hạn của tập Tile trong hệ tọa độ Tile

4 Khởi tạo cơ chế lưu trữ Tile

5 Lặp qua các tọa độ thiết lập Tile Đối với mỗi Tile, làm như sau:

a Tính toán các giới hạn địa lý của Tile cụ thể

b Lặp qua các hình ảnh nguồn Đối với mỗi hình ảnh nguồn làm như sau:

i Xác định nếu nguồn hình ảnh cụ thể thì Tile được tạo ra

ii Nếu hình ảnh nguồn và Tile giao nhau,

A Kiểm tra bộ nhớ cache cho hình ảnh nguồn Nếu nó không phải

là trong bộ nhớ cache, tải từ đĩa và lưu trong bộ nhớ cache

Trang 36

B Giải nén dữ liệu hình ảnh cần thiết từ nguồn hình ảnh, và lưu nó trong hình ảnh lát Tile

c Lưu hình ảnh lát Tile hoàn thành với cơ chế lưu trữ Tile

6 Xóa bộ nhớ cache hình ảnh nguồn

7 Hoàn thiện cơ chế lưu trữ Tile

1.2.3.1 Mở rộng quy mô quá trình cho các cấp độ phân giải thấp hơn

Việc tạo ra các tile ở mức thấp hơn là đơn giản hơn so với việc tạo ra tile ở mức cơ bản

Hình 2.4 Mối quan hệ tile giữa các mức

Các thuật toán cơ bản là như sau:

1 Đối với mỗi cấp độ từ (base_level – 1) đến 1, thực hiện như sau

a Xác định các giới hạn về mức độ Tile hiện hành trong hệ tọa độ Tile

b Khởi tạo cơ chế lưu trữ Tile

c Lặp qua các tọa độ thiết lập Tile Đối với mỗi Tile, làm như sau:

i Xác định bốn Tile từ cấp cao hơn, gộp thành Tile hiện tại

ii Lấy 4 hình ảnh Tile hoặc nhiều hơn

Trang 37

iii Kết hợp hình ảnh Tile thành một hình ảnh thu nhỏ

iv Lưu hình ảnh lát Tile hoàn thiện với cơ chế lưu trữ Tile

d Hoàn thiện cơ chế lưu trữ Tile

2 Lưu trữ

2.1 Lưu trữ các hình ảnh tile như là các tập tin riêng biệt

Một phương pháp đơn giản và phổ biến để lưu trữ các ảnh dạng tile là lưu trữ mỗi ảnh trong một tập tin riêng biệt trên tập tin hệ thống của máy tính Các ảnh dạng tile được định dạng ở định dạng chuẩn như JPEG hay PNG Thư mục trên hệ thống tập tin có thể được sử dụng để cung cấp cấu trúc và tổ chức cho các ảnh dạng tile Ví dụ: chúng ta có thể sử dụng một thu mục cấp cao nhất cho các lớp, các thư mục con ở trong các lớp thư mục với mỗi cấp độ, và sau đó các thư mục con nằm trong các cấp độ thư mục ứng với mỗi cột Trong mỗi thư mục cột là các ảnh dạng tile cho mỗi hàng trong cột đó

Đây là loại hình tổ chức hay được sử dụng vì nhiều lý do Đầu tiên, tile có thể được giải quyết trực tiếp bằng cách đơn giản tạo thành tên tập tin và mở tập tin Ví dụ ta muốn tạo một ảnh dạng tile cho lớp “Blue” với mức 7,cột 5 và hàng 4 Ta chỉ cần tạo chuỗi

“Blue/7/5/4.jpg” Với phương pháp này chúng ta chỉ cần có một chỉ số riêng biệt cho mỗi tile Một lợi ích nữa của phương pháp này là có thể thay thế các tile mà không ảnh hưởng lớn đến hệ thống bản đồ

Cuối cùng và quan trọng nhất, xây dựng một web để lưu trữ các ảnh dạng tile là dễ dàng Hầu hết các máy chủ HTTP bao gồm Apache là có thể dùng được Các máy chủ HTTP chỉ đơn giản là lấy các hình ảnh trực tiếp từ hệ thống với cấu hình tối thiểu

Ngày đăng: 18/03/2015, 10:20

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Google map (http://maps.google.com) - XÂY DỰNG GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN DẠNG TILE
Hình 1.1. Google map (http://maps.google.com) (Trang 14)
Sơ đồ khái niệm của một ứng dụng MapServer - XÂY DỰNG GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN DẠNG TILE
Sơ đồ kh ái niệm của một ứng dụng MapServer (Trang 18)
Hình 1.6 Sơ đồ hoạt động của MapServer - XÂY DỰNG GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN DẠNG TILE
Hình 1.6 Sơ đồ hoạt động của MapServer (Trang 20)
Hình 1.7 Chương trình tile hợp lý [4] - XÂY DỰNG GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN DẠNG TILE
Hình 1.7 Chương trình tile hợp lý [4] (Trang 23)
Hình 1.8 Tile với mức phóng là 1. - XÂY DỰNG GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN DẠNG TILE
Hình 1.8 Tile với mức phóng là 1 (Trang 24)
Hình 2.4 Mối quan hệ tile giữa các mức. - XÂY DỰNG GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN DẠNG TILE
Hình 2.4 Mối quan hệ tile giữa các mức (Trang 36)
Hình 2.5 Tổ chức thư mục lưu trữ ảnh tile - XÂY DỰNG GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN DẠNG TILE
Hình 2.5 Tổ chức thư mục lưu trữ ảnh tile (Trang 38)
Hình 3.2 Các kích thước map view với tile size và tổng số byte được truy cập với ảnh - XÂY DỰNG GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN DẠNG TILE
Hình 3.2 Các kích thước map view với tile size và tổng số byte được truy cập với ảnh (Trang 51)
Hình 3.5 Thời gian giải nén ảnh JPEG [4] - XÂY DỰNG GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN DẠNG TILE
Hình 3.5 Thời gian giải nén ảnh JPEG [4] (Trang 53)
Hình 3.6 Thời gian nén ảnh PNG [4] - XÂY DỰNG GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN DẠNG TILE
Hình 3.6 Thời gian nén ảnh PNG [4] (Trang 54)
Hình 3.7 Quy mô map view trùng với một mức phóng - XÂY DỰNG GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN DẠNG TILE
Hình 3.7 Quy mô map view trùng với một mức phóng (Trang 55)
Hình 4.1 Mô hình hoạt động của bản đồ thử nghiệm - XÂY DỰNG GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN DẠNG TILE
Hình 4.1 Mô hình hoạt động của bản đồ thử nghiệm (Trang 58)
Hình 4.2. Thư mục lưu trữ tile. - XÂY DỰNG GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN DẠNG TILE
Hình 4.2. Thư mục lưu trữ tile (Trang 59)
Hình 4.4. Các tile của bản đồ huyện Việt Nam ở mức 6, hàng 24. - XÂY DỰNG GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN DẠNG TILE
Hình 4.4. Các tile của bản đồ huyện Việt Nam ở mức 6, hàng 24 (Trang 60)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w