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

Xây dựng hệ thống cung cấp dịch vụ bản đồ trực tuyến theo chuẩn TMS

49 463 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 49
Dung lượng 2,96 MB

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

Nội dung

Đây là loại bản đồ được thành lập dưới dạng cơ sở dữ liệu máy tính trên cơ sở xử lý số liệu nhận được từ các thiết bị quét chuyên dụng, ảnh hàng không, ảnh vệ tinh, viễn thám hoặc số hóa

Trang 1

HOÀNG THỊ HIỀN

XÂY DỰNG HỆ THỐNG CUNG CẤP DỊCH VỤ BẢN ĐỒ

TRỰC TUYẾN THEO CHUẨN TMS

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội - 2014

Trang 2

HOÀNG THỊ HIỀN

XÂY DỰNG HỆ THỐNG CUNG CẤP DỊCH VỤ BẢN ĐỒ

TRỰC TUYẾN THEO CHUẨN TMS

Ngành: Công nghệ thông tin

Chuyên ngành: Hệ thống thông tin

Mã số: 60480104

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS.Nguyễn Hải Châu

Hà Nội - 2014

Trang 3

Lời cảm ơn

Trước hết, tôi xingửi lời cảm ơn sâu sắc nhất đến PGS.TS Nguyễn Hải Châu, người

đã tận tình hướng dẫn tôi trong suốt quá trình thực hiện luận văn tốt nghiệp

Tôi xin cảm ơn trường Đại học Công Nghệ - Đại học Quốc gia Hà Nội và các thầy

cô giáo đã giảng dạy tôi trong suốt thời gian học tập tại trường, tạo điều kiện, giúp đỡ tôi hoàn thiện luận văn này Xin cảm ơn gia đình, bạn bè, đồng nghiệp đã luôn động viên giúp đỡ tôi trong thời gian học tập và hoàn thành luận văn

Trong quá trình nghiên cứu, thực hiện, mặc dù đã cố gắng, nỗ lực để hoàn thiện, luận văn của tôi cũng không tránh khỏi những thiếu sót và hạn chế Kính mong nhận được

sự đóng góp của thầy cô và các bạn

Tôi xin chân thành cảm ơn!

Học viên Hoàng Thị Hiền

Trang 4

Lời cam đoan

Tôi xin cam đoan việc xây dựng hệ thống dịch vụ cung cấp bản đồ trực tuyến theo chuẩn TMS được trình bày trong luận văn này do tôi thực hiện dưới sự hướng dẫn của PGS.TS.Nguyễn Hải Châu

Tất cả những tham khảo từ các nghiên cứu liên quan đều được nêu nguồn gốc một cách rõ ràng từ danh mục tài liệu tham khảo của luận văn Trong luận văn, không có việc sao chép tài liệu, công trình nghiên cứu của người khác mà không chỉ rõ về tài liệu tham khảo

Hà Nội, ngày 06 tháng 06 năm 2014

Tác giả Hoàng Thị Hiền

Trang 5

Mục lục

Danh mục các hình vẽ - 3 -

Danh mục các bảng - 4 -

Một số khái niệm và thuật ngữ - 5 -

Mở đầu - 6 -

Chương 1: TỔNG QUAN VỀ HỆ THỐNG CUNG CẤP DỊCH VỤ BẢN ĐỒ TRỰC TUYẾN THEO CHUẨN TMS - 7 -

1.1 Khái quát về chuẩn TMS 7

-1.2 Nền tảng của hệ thống bản đồ trực tuyến 7

-1.3 Một số hệ thống bản đồ trực tuyến hiện nay 8

-1.3.1 Khái quát về hệ toạ độ địa lý 8

-1.3.2 Google Map 8

-1.3.3 Bing Map 10

-1.4 Các phương pháp xây dựng bản đồ trực tuyến 11

-1.4.1 MapServer 11

-1.4.1.1. Giới thiệu 11

-1.4.1.2. Đặc tính 11

-1.4.1.3. Cấu trúc của một ứng dụng Mapserver 13

-1.4.1.4. Cách thức hoạt động 14

-1.4.2 Openlayers 14

-Chương 2: XÂY DỰNG HỆ THỐNG CUNG CẤP DỊCH VỤ BẢN ĐỒ TRỰC TUYẾN- 16 - 2.1 Xử lý ảnh 16

-2.1.1 Các loại dữ liệu cơ bản 16

-2.1.2 Hình ảnh không gian địa lý 16

-2.1.3 Xử lý hình ảnh 18

-2.1.3.1. Nội suy 1: Nội suy các pixel gần nhất (Nearest Neighbor) 18

-2.1.3.2. Nội suy 2: Nội suy song tuyến (Bilinear) 18

-2.1.3.3. Nội suy 3: Nội suy song khối (Bicubic) 19

-2.1.4 Lựa chọn định dạng ảnh cho tile 19

-2.1.5 Lựa chọn kích thước ảnh 20

-2.2 Tạo ảnh tile 22

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

-2.2.2 Chuẩn bị cho việc tạo ảnh 22

-2.2.2.1. Tạo ảnh tile bottomup 22

-2.2.2.2. Lựa chọn mức cơ sở cho tập các ảnh nguồn 23

-2.2.3 Thuật toán tạo ảnh tile 24

-2.2.4 Quá trình phóng to thu nhỏ của mức có độ phân giải thấp hơn 25

-2.3 Lưu trữ 25

-2.3.1 Lưu trữ ảnh tile dưới dạng các file riêng biệt 26

-2.3.2 Lưu trữ các tile trong database 28

-2.3.3 Các định dạng file tuỳ chọn 29

Trang 6

-2.4 Hiển thị tile ở client 29

-2.4.1 Tính toán tile được hiển thị 29

-2.4.1.1. Các mức phóng rời rạc 29

-2.4.1.2. Các mức phóng liên tục 30

-2.4.2 Tìm kiếm tile 31

-2.4.2.1. Lưu trữ tile cục bộ 31

-2.4.2.2. Lưu trữ tile trên mạng 31

-2.4.3 Tạo khung nhìn bản đồ 32

-2.4.3.1. Khung nhìn có mức phóng rời rạc 32

-2.4.3.2. Khung nhìn có mức phóng liên tục 32

-Chương 3: THỰC NGHIỆM - 33 -

3.1 Môi trường cài đặt server 33

-3.2 Tạo tập ảnh tile 33

-3.2.1 Giới thiệu công cụ TileMill 33

-3.2.2 Tạo tập ảnh nguồn tile 33

-3.3 Cấu trúc dữ liệu 34

-3.4 Thực hiện 36

-Kết luận - 44 -

Tài liệu tham khảo - 45 -

Trang 7

Danh mục các hình vẽ

Hình 1.1: Cấu trúc thư mục của Google Map

Hình 1.2: Mô tả lưới tile ở 3 mức phóng 0, 1, 2

Hình 1.3: Mô tả việc đánh chỉ số của Bing Map

Hình 1.4: Cách thức hoạt động của MapServer

Hình 2.1: Hình ảnh không gian địa lý với đường biên bao

Hình 2.2 : Nội suy song tuyến sử dụng 4 điểm ảnh xung quanh để tính giá trị

Hình 2.3: Các điểm ảnh được mã hoá nhưng không được sử dụng để hiển thị khung nhìn bản đồ

Hình 2.4: Mức phóng 1,2 và 3 của cùng một lớp

Hình 2.5: Mô tả một mức của layer

Hình 2.6: Cách tổ chức các file ảnh tile

Hình 3.1: Giao diện công cụ TileMill

Hình 3.2: Cấu trúc layer phường xã

Hình 3.3: Cấu trúc layer quận huyện

Hình 3.4: Cấu trúc layer tỉnh thành

Hình 3.5: Giao diện bản đồ phường xã – mức phóng 6

Hình 3.6: Giao diện bản đồ quận huyện – mức phóng 7

Hình 3.7: Giao diện bản đồ tỉnh thành – mức phóng 8

Hình 3.8: Giao diện bản đồ đường xá - quận huyện – mức phóng 7

Trang 8

Danh mục các bảng

Bảng 2.1 : Trình duyệt hỗ trợ các định dạng ảnh khác nhau Bảng 2.2 : Chi tiết của các dạng nén khác nhau

Bảng 2.3: Số lượng tile và độ phân giải cho mỗimức phóng Bảng 3.1: Thời gian đọc tile của các phương thức lưu trữ

Trang 9

Một số khái niệm và thuật ngữ

1 TMS Tile Map Service

2 DPP Degrees per pixel

3 JPEG Joint Photographic Experts Group

4 PNG Portable Network Graphic

5 HTML Hyper Text Markup Language

6 MrSID Multi-resolution Seamless Image Database

7 DBMS Database Management System

8 BLOB Binary Large Object

9 GIS Geographic Information System

Trang 10

Mở đầu

Ngày nay, cùng với sự phát triển không ngừng của công nghệ thông tin đã đưa tin học xâm nhập sâu vào nhiều lĩnh vực khoa học đời sống, mở ra một giai đoạn mới trong quá trình phát triển khoa học, đặc biệt là sự phát triển của GIS trong thông tin địa lý Bản đồ số đã trở nên phổ biến, cho phép người dùng có thể dễ dàng tra cứu bản đồ thông qua Internet Đây là loại bản đồ được thành lập dưới dạng cơ sở dữ liệu máy tính trên cơ sở xử lý số liệu nhận được từ các thiết bị quét chuyên dụng, ảnh hàng không, ảnh

vệ tinh, viễn thám hoặc số hóa các bản đồ được chếtác theo phương pháp cổ điển, trong

đó toàn bộ thông tin về các đối tượng được mã hóa thành dữ liệu số và lưu giữ trên các băng, đĩa từ, đĩa quang… Thông tin trong bản đồ số thường được tổ chức quản lý theo các lớp, tập hợp các dữ liệu có cùng thuộc tính (vùng, đường, điểm, chữ) vềcác đối tượng cùng loại, thể hiện một nội dung của bản đồ tổng thể Số lượng các lớp tùy thuộc vào yêu cầu cụ thể, nguồn cung cấp dữ liệu (các cơ sở dữ liệu ảnh quét có thể cho hàng trăm lớp)

và khả năng quản lý của phần mềm chuyên dùng Tùy theo yêu cầu sử dụng, các lớp thông tin có thể được hiển thị trên màn hình hoặc in trên giấy với tỉ lệ tùy chọn, riêng biệt hoặc chồng xếp với nhau tạo thành các bản đồ theo tỉ lệ thích hợp

Như vậy, sự phát triển nhanh chóng của công nghệ máy tính và công nghệ Web, Internet đã trở thành chủ đạo của nền tảng GIS Sự ra đời của WebGIS đã đánh dấu sự phát triển vượt bậc của công nghệ GIS.WebGIS có thể dễ dàng được xây dựng thông qua các mã nguồn mở như MapServer, Openlayer,Mapbuilder, GeoServer, Việc xây dựng một hệ thống bản đồ trực tuyến trên nền mã nguồn mở giúp giảm chi phí đầu tư và có độ

an toàn cao

Trong phạm vi khoá luận này, tôi xin trình bày giải pháp xây dựng hệ thống bản đồ trực tuyến dạng tile dựa trên mã nguồn mở là Mapserver và Openlayer

Trang 11

Chương 1: TỔNG QUAN VỀ HỆ THỐNG CUNG CẤP DỊCH VỤ BẢN ĐỒ

TRỰC TUYẾN THEO CHUẨN TMS 1.1 Khái quát về chuẩn TMS

Tile Map Service (TMS) không phải là một “chuẩn chính thức” được phát triển bởi Open Source Geospatial Foundation (OSGeo) Tile Web Service cung cấp quyền truy nhập vào các nguồn tài nguyên, đặc biệt, để tạo ra các tile ở các mức phóng cố định Các nguồn tài nguyênnày được truy cập thông qua RESTinterface Các nguồn tài nguyên bao gồm:

 Root resource: mô tả các phiên bản có sẵn của <TileMapService> (có thể bao gồm cả các dịch vụ khác)

 <TileMapService> resource: cung cấp mô tả siêu dữ liệu về dịch vụ và danh sách các <TileMap> có sẵn

 <TileMap> resource: mô tả các lớp của bản đồ <TileMap> chính là một tập các biểu diễn bản đồ với mức phóng phù hợp Mỗi một mức phóng được chia thành các tile ảnh không gian,được gọi là <TileSet>

 Tile Resource: Nguồn gốc của <TileMap> được định nghĩa trong các toạ độ của

hệ thống tham chiếu không gian của <TileMap> Toạ độ x và toạ độ y của các tile tỉ lệ thuận tương ứng với toạ độ x, toạ độ y của hệ thống tham chiếu không gian Các tile được đánh địa chỉ trong “href” của <TileSet> với toạ độ x là tên thư mục, toạ độ y là tên file

1.2 Nền tảng của hệ thống bản đồ trực tuyến

Dịch vụ cung cấp bản đồ trực tuyến ra đời vào nửa cuối thập niên 1990, nổi bật là các thệ thống Yahoo! Maps, MapQuest và Microsoft’s TerraServer Các hệ thống này đều dựa trên nền tảng web và ban đầu còn rất đơn giản Người dùng chỉ di chuyển được khi

ấn vào các nút mũi tên xung quanh bản đồ Khi người dùng ấn vào một nút, bản đồ được

di chuyển tới vùng đã được định trước Bên cạnh đó hệ thống cũng hỗ trợ chức năng phóng to, thu nhỏ và cho phép người dùng kéo, vẽ vùng bản đồ cần được hiển thị

Đặc điểm chung của tất các các hệ thống này là khả năng tải và hiển thị ảnh bản đồ còn rất chậm Nguyên do là các hệ thống này tạo ra các file ảnh lớn để hiển thị Mỗi khi người dùng di chuyển sang trái hoặc phải, hệ thống phải tạo và gửi lại ảnh cho client Thời kỳ này các trình duyệt web cũng chưa được phát triển nhiều, do vậy giao diện chỉ được viết bằng HTML hoặc với một số lệnh Javascript

Vào năm 2005, Google Map ra đời và đã thay đổi cách thức xây dựng một hệ thống bản đồ trực tuyến Thay vì tạo và hiển thị các ảnh bản đồ với kích thước lớn, Google đã phát triển “Slippy Map” – giao diện giúp người dùng dễ dàng di chuyển, phóng to, thu

Trang 12

nhỏ bản đồ Cách thức mà Google đã sử dụng chính là chia nhỏ ảnh lớn thành các ảnh tile với kích thước nhỏ hơn Các tile được tạo và lưu trên server Vì đã được tạo sẵn nên khi được yêu cầu, server sẽ trả về ảnh bản đồ cho client rất nhanh Các tile sẽ được đánh số và được cache trên trình duyệt web Ảnh bản đồ được cắt ra thành các ảnh nhỏ do vậy khi người dùng di chuyển bản đồ chỉ những vùng chưa được cache mới gửi yêu cầu tới server

1.3 Một số hệ thống bản đồ trực tuyến hiện nay

1.3.1 Khái quát về hệ toạ độ địa lý

Hệ toạ độ địa lý được quy định chung và thống nhất cho toàn bộ Trái đất Hệ toạ độ địa lý xác định vị trí của mỗi điểm trên mặt đất bằng hai yếu tố địa lý, đó là kinh độ và

 Vĩ độ địa lý của một điểm là góc hợp bởi phương dây dọi đi qua điểm đó với mặt phẳng chứa xích đạo Các điểm nằm ở phía Bắc bán cầu sẽ có vĩ độ Bắc, các điểm nằm ở phía Nam bán cầu sẽ có vĩ độ Nam Vĩ độ có giá trị từ0o tại điểm trên đường xích đạo đến 90o tại hai cực

1.3.2 Google Map

Google Map (thời gian trước còn gọi là Google Local) là một dịch vụ ứng dụng và công nghệ bản đồ trực tuyến trên web miễn phí được cung cấp bởi Google và hỗ trợ nhiều dịch vụ dựa vào bản đồ như Google Ride Finder và một số có thể dùng để nhúng vào các trang web của bên thứ ba thông qua Google Maps API Nó cho phép thấy bản đồ đường

sá, đường đi cho xe đạp, cho người đi bộ (những đường đi ngắn hơn 6.2 dặm) và xe hơi,

và những địa điểm kinh doanh trong khu vực cũng như khắp nơi trên thế giới

Google Map lưu trữ bản đồ dưới dạng ảnh, toàn bộ cấu trúc tile được lưu trữ trong một thư mục con: thư mục cha/mức zoom/các hàng/các cột Kích thước của tile là 256x256 pixel và được lưu dưới dạng png/jpg

Trang 13

Hình 1.1: Cấu trúc thư mục của Google Map

Google sử dụng một tập các mức phóng, tất cả các tile ứng với mỗi mức được lưu trữ trong một thư mục con có tên tương ứng (hình 1.1) Tại mức phóng nhỏ nhất – mức phóng 0 - mô tả toàn bộ thế giới với 1 tile duy nhất, tương ứng với toạ độ (0,0) Mỗi khi tăng mức phóng lên, số lượng các tile sẽ được tăng lên theo cả 2 hướng Bắc – Nam và Đông – Tây so với mức phóng trước đó

Trong Google Map, các tile được đánh chỉ số dựa vào các hàng và cột Cột được đánh số từ trái qua phải, các hàng được đánh số từ trên xuống dưới

Trang 14

Hình 1.2: Mô tả lưới tile ở 3 mức phóng 0, 1, 2

Với mỗi mức phóng, client sẽ tạo ra vùng bản đồ hiển thị bằng việc gửi yêu cầu tới server để lấy các tile căn cứ vào mức phóng, cột và hàng

1.3.3 Bing Map

Bing Map là một dịch vụ ứng dụng bản đồ được Microsoft phát triển Trước đây nó được biết tới với những tên gọi khác nhau như “Live Search Maps”, “Windows Live Maps”, “Window Live Local” và “MSN Virtual Earth”

Cũng như Google Map, Bing Map sử dụng tập các tile để hiển thị Thư mục chứa tile cũng có cấu trúc mức phóng/cột/hàng Kích thước của tile là 256x256 pixel và được lưu dưới dạng png/jpg Tại mức phóng nhỏ nhất – mức phóng 1 – số lượng tile được lưu

là 2x2 tile Sau mỗi mức phóng, số lượng tile tăng lên theo cả 2 hướng Bắc – Nam và Đông – Tây

Vị trí của tile tương ứng với mỗi mức phóng được xác định thông qua số thứ tự của các cột và các hàng Các cột được đánh số từ trái qua phải, các hàng được đánh số từ trên xuống dưới Ngoài ra, Bing Map còn sử dụng cách đánh chỉ số sử dụng cấu trúc dữ liệu quadtree – được gọi là “quadkeys”.Mỗi “quadkeys” định danh duy nhất vị trí và mức phóng của một tile Tại mức phóng nhỏ nhất (mức phóng 1), mỗi tile được gán giá trị từ 0 tới 3 Tại mức phóng tiếp theo, mỗi một tile ở mức phóng trước được chia thành 4 tile với

độ phân giải cao “Quadkeys” cho mỗi tile bắt đầu với giá trị được kế thừa từ mức phóng trước cộng thêm giá trị 0,1,2,3 tương ứng Độ dài của “quadkeys” bằng với mức phóng của tile Ngoài ra, thông qua “quadkeys” ta cũng có thể xác định được mối liên quan giữa các tile trong không gian XY Nói cách khác, khi hai tile có toạ độ XY gần nhau thường

có “quadkeys” tương đối giống nhau Điều này là rất quan trọng để tối ưu hoá hiệu suất của cơ sở dữ liệu, bởi vì các tile lân cận thông thường sẽ được truy vấn cùng Do vậy, khi lưu các tile này trên cùng một đĩa sẽ giảm thiểu số lượng đĩa cần đọc

Trang 15

Hình 1.3: Mô tả việc đánh chỉ số của Bing Map

1.4 Các phương pháp xây dựng bản đồ trực tuyến

1.4.1 MapServer

1.4.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ư một 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 …) Đơn giản nhất có thể hiểu MapServer như là một chương trình CGI được đặt trong webserver (MapServer đóng vai trò là ứng dụng GIS được đặt trên web server) Khi mà

có mộtyêu cầu 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 Yêu cầu 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

Trang 16

- Phông 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ệ thống MapServer bao gồm cả MapScript, cho phép các ngôn ngữ kịch bản khác như PHP, Perl, Python và Java có thể truy xuất các hàm API của MapServer MapScript cung cấp môi trường thuận lợi cho việc phát triển các ứng dụng tích hợp các dữ liệu phân tán Ta có thể lấy dữ liệu không gian thông qua các các ngôn ngữ kịch bản kể trên và dựa vào MapScript ta có thể tạo được một ảnh bản đồ

 MapServer có thể chạy trên nhiều môi trường điều mà các phần mềm thương mại khác chưa làm được MapServer với mã nguồn được viết bằng C++ được biên dịch để có thể chạy trên các version của UNIX/Linux, Microsoft Windows và cả trên MacOS

 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 hỗ trợ các chuẩn của tổ chức OGC ( tổ chức phát triển các chuẩn WebGIS): WMS, WFS, WCS, WMC,SLD, GML v.v 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, …

 Để giao tiếp với các thành phần khác trên môi trường web, MapServer sử dụng chuẩn giao tiếp CGI (Common Gateway Interface)

 MapServer không hẳn là một ứng dụng WebGIS hoàn chỉnh tuy nhiên MapServer cung cấp những chức năng cốt lõi đủ mạnh để đáp ứng cho các ứng dụng web khác nhau Ngoài việc tương tác với các dữ liệu GIS, MapServer còn cho phép người dùng điều khiển và tùy biến việc tạo ra ảnh bản đồ, có thể dưới dạng trang web, file ảnh,report…Nói cách khác MapServer đóng vai trò như

“map engine” được cung cấp nội dung để tạo ảnh bản đồ khi cần đến

Trang 17

1.4.1.3 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:

 Map file: 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ảng đồ, chỉ cho MapServerbiế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ý: MapServercó thể sử dụng nhiều kiểu nguồn dữ liệu địa lý Mặc định là ESRI shapefile

 MapServerCGI: 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 MapServerCGI, 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

 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, MapServercó 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 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 một 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 một 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 trên trình duyệt Bằng những biến tham chiếu đến MapServerCGI 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 trình duyệt đọ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)

Trang 18

1.4.1.4 Cách thức hoạt động

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 trình duyệt web

Chức năng chính của MapServerlà đọ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 một file hình như một hình ảnh bản đồ Một layer có thể là hình ảnh từ vệ tinh, đường biên giới của một quốc gia, hay một đ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

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:

Hình 1.4: Cách thức hoạt động của Mapserver

1.4.2 Openlayers

OpenLayers giúp đặt bản đồ động lên trang web một cách dễ dàng.Nó trình bày tựa

đề bản đồ và đưa thông tin lên bản đồ.OpenLayers là thư viện viết bằng javascript để trình bày dữ liệu bản đồ lên hầu hết các trình duyệt web, không phụ thuộc vào phía server Nó cung cấp javascript API để xây dựng ứng dụng web về địa lý, giống như Google Maps hoặc MSN Virtual Earth APIs nhưng có điểm khác biệt là OpenLayers là mã nguồn mở

Trang 19

OpenLayers là một framework Javascript/AJAX mở thuộc hướng client (client-side) giúp che phủ nhiều lớp bản đồ khác nhau vì nó hỗ trợ cho Google, Yahoo, Microsoft Virtual Earth, OGC WMS, OGC WFS, KaMap, Text layers và Makers

OpenLayers có một thư viện khá mạnh dùng để đọc, trình bày và viết dữ liệu địa lý theo nhiều định dạng OpenLayers có hỗ trợ lấy dữ liệu địa lý theo chuẩn của OpenGIS như OpenGIS Consortium's Web Mapping Service (WMS) and Web Feature Service (WFS)

Có sự khác biệt giữa OpenLayers và Google Map:

 Dữ liệu: GoogleMaps giúp bạn có được bản đồ đi cùng với đoạn code javascript điều khiển bản đồ Trong khi OpenLayers tách riêng công cụ điều khiển bản đồ ra khỏi dữ liệu bản đồ, do đó OpenLayers lại cần phải import đoạn code ajvascript cho từng thao tác trên bản đồ tùy theo người sử dụng.Tổng số đoạn code cho tất cả thao tác đó lên tới 100KB

 Tài liệu: Một thuận lợi lớn của GoogleMaps là có bài hướng dẫn tốt hơn OpenLayers Tài liệu của OpenLayers lại viết cho developer hơn là cho người

sử dụng

 Thiết kế: Những UI mặc định cho OpenLayers thường ở mức tối thiểu, không chú trọng về đồ hoạ.Nhưng Web Application có sử dụng OpenLayers trang trí lại bản đồ cũng dễ dàng

Trang 20

Chương 2: XÂY DỰNG HỆ THỐNG CUNG CẤP DỊCH VỤ BẢN ĐỒ TRỰC

TUYẾN 2.1 Xử lý ảnh

2.1.1 Các loại dữ liệu cơ bản

Có hai loại dữ liệu cơ bản để biểu diễn thông tin địa lý là raster và vector:

 Dữ liệuraster: Dữ liệuraster được mô tả dưới dạng một lưới các pixel và mỗipixel chứa một điểm ảnh Các giá trị của điểm ảnh được thể hiện trong các đơn vị của không gian màu Một không gian màu hay mô hình màu là một mô hình trừu tượng mô tả các màu sắc được đại diện RGB (đỏ, xanh lá cây, xanh

da trời) là ba màu cơ bản Sự kết hợp của ba màu này có thể cho ra hàng triệu màu sắc khác nhau Dữ liệu raster có dung lượng rất lớn nếu không có cách lưu trữ thích hợp Thông thường, nén dữ liệu là phương thức được sử dụng để giảm bớt dung lượng của tệp lưu trữ Các phương pháp nén phổ biến hiện nay

là TIFF, RLE, JPEG, GIF,…

 Dữ liệu vector: Mô hình dữ liệu vector sử dụng các đường hay điểm, được xác định tường minh bằng các toạ độ x, y của chúng trên bản đồ Các đối tượng rời rạc (trong đó có cả các đối tượng đa giác), được tạo bởi sự liên kết các đoạn cung (đường) và các điểm nút Điểm nút: Dùng cho tất cả các đối tượng không gian được biểu diễn như một cặp toạ độ (X,Y) Ngoài giá trị toạ độ (X,Y), điểm còn thể hiện kiểu điểm, màu, hình dạng và dữ liệu thuộc tính đi kèm Cung: Dùng để biểu diễn tất cả các thực thể có dạng tuyến, được tạo nên từ hai hoặc nhiều cặp toạ độ (X,Y) Ví dụ đường dùng để biểu diễn hệ thống đường giao thông, hệ thống ống thoát nước Ngoài toạ độ, đường còn có thể bao hàm

cả góc quay tại đầu mút Vùng: Là một đối tượng hình học hai chiều Vùng có thể là một đa giác đơn giản hay hợp của nhiều đa giác đơn giản Mục tiêu của cấu trúc dữ liệu đa giác là biểu diễn cho vùng Do một vùng được cấu tạo từ các đa giác nên cấu trúc dữ liệu của đa giác phải ghi lại được sự hiện diện của các thành phần này và các phần tử cấu tạo nên đa giác

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

Ảnh kỹ thuật số phù hợp để lưu trữ thông tin địa lý Việc chúng ta cần làm là chuyển đổi nó thành ảnh không gian địa lý bằng cách gắn vào nó toạ độ tương ứng của bề mặt trái đất mà nó mô tả Có hai cách để làm điều này: tạo một hình chữ nhật bao quanh ảnh (hình 4.2) hoặc gán toạ độ duy nhất vào góc ảnh với độ phân giải của mỗi điểm ảnh cho mỗi chiều

Trang 21

Hình 2.1: Hình ảnh không gian địa lý với đường biên bao

Có một vài định dạng file được sử dụng để lưu trữ ảnh địa lý Đầu tiên phải nói tới định dạng file MrSID ( multi-resolution seamless image database)Đây là định dạng ảnh được phát triển bởi LizardTech Nó được thiết kế để phù hợp cho việc lưu trữ ảnh không gian địa lý với kích thước lớn MrSID sử dụng cơ sở nén warelet để lưu trữ nhiều độ phân giải của ảnh Điều này cho phép truy cập nhanh tổng thể ( hoặc ảnh nhỏ) các phần của hình ảnh

Tiếp theo là JPEG2000 - định dạng file được phát triển bởi Joint Photographic Expects Group Cũng giống như MrSID, nó cũng sử dụng cơ sở nén warelet JPEG2000 không được thiết kế để lưu trữ ảnh không gian địa lý, tuy nhiên, phần mở rộng của nó cho phép thông tin địa lý được gắn liền với hình ảnh JPEG2000 phù hợp để lưu trữ ảnh với kích thước lớn và là định dạng mở hơn MrSID

Cuối cùng là định dạng GEOTIFF Đây là định dạng được sử dụng lâu đời và phổ biến nhất trong việc lưu trữ ảnh không gian địa lý GEOTIFF dựa trên chuẩn Tagged Image File Format (TIFF) Nó đơn giản là một file TIFF những thẻ không gian địa lý chuẩn được gắn kèm Có lẽ, TIFF là chuẩn file phổ biển rộng rãi nhất Nó cho phép một

số tuỳ chọn như cho phép tuỳ chọn chương trình nén hoặc không nén Ngoài ra nó còn cho phép nhiều trang hình ảnh, một số mô hình màu, một số cách thức lưu trữ

Trang 22

Cần chú ý rằng, trong một vài trường hợp, ảnh không gian địa lý được lưu trữ trong những file không hỗ trợ nhúng toạ độ Trong những trường hợp này, thông thường ảnh sẽ được đính kèm một tập tin có chứa toạ độ địa lý

2.1.3 Xử lý hình ảnh

Trong phần này chúng ta sẽ tìm hiểu các thuật toán xử lý ảnh cần thiết cho việc tạo tile sau này Cần nhớ lại rằng, các ảnh tile được lưu trữ với những độ phân giải cố định Điều này đồng nghĩa với việc tập ảnh nguồn sẽ có độ phân giải nhất định Như vậy, tập ảnh nguồn không đáp ứng được khi chúng ta sử dụng nhiều độ phân giải khác nhau Giải pháp đưa ra ở đây là chúng ta sử dụng các giải thuật nội suy để biến đổi ảnh theo mức độ phóng phù hợp mà vẫn giữ được chất lượng của nó

2.1.3.1 Nội suy 1: Nội suy các pixel gần nhất (Nearest Neighbor)

Nội suy các pixel gần nhất là thuật toán đơn giản nhất trong số các thuật toán nội suy Điểm ảnh mới sẽ chỉ lấy giá trị của điểm ảnh gần nó nhất và không xem xét các giá trị khác ở tất cả các điểm lân cận Giải thuật này đơn giản, nhanh và tinh vi nhất Nó chỉ lấy màu sắc từ các điểm ảnh gần nhất và gán vào các điểm ảnh mới được tạo ra từ các điểm ảnh đó Do vậy phương pháp nội suy này được gọi là khả dụng với việc tạo ra các ảnh có chất lượng cao Tuy nhiên nó chưa thực sự khắc phục được hiện tượng răng cưa vì vậy nó là phương pháp ít được sử dụng

2.1.3.2 Nội suy 2: Nội suy song tuyến (Bilinear)

Thuật toán nội suy song tuyến là thuật toán phức tạp hơn thuật toán nội suy các pixel gần nhất Nó lấy trung bình của 4 điểm ảnh xung quanh điểm ảnh đích để xác định giá trị nội suy

Trang 23

Hình 2.2 : Nội suy song tuyến sử dụng 4 điểm ảnh xung quanh để tính giá trị 2.1.3.3 Nội suy 3: Nội suy song khối (Bicubic)

Nội suy song khối (bicubic) là thuật toán phức tạp nhất nhất trong các giải thuật nội suy Nếu như giải thuật bilinear xem xét mối quan hệ tuyến tính của bốn điểm ảnh xung quanh điểm ảnh đích thì giải thuật bicubic tính trung bình của 16 điểm ảnh xung quanh

2.1.4 Lựa chọn định dạng ảnh cho tile

Bất kỳ một hệ thống bản đồ tile nào cũng phải sử dụng các định dạng file ảnh để lưu trữ và chuyển đổi các ảnh tile Hiện nay có hàng trăm định dạng file có thể sử dụng Một

số cung cấp khả năng nén ảnh tốt, một số khác lại chú trọng vào sự đơn giản và tính tương thích Chúng ta muốn lựa chọn một định dạng có thể được mã hoá và giải mã nhanh, cung cấp khả năng nén hình ảnh tốt , và quan trọng là phải được hỗ trợ bởi các trình duyệt web phổ biến

Trang 24

Bảng 2.1 : Mỗi trình duyệt hỗ trợ các định dạng ảnh khác nhau

Bảng 2.2 : Chi tiết của các dạng nén khác nhau

Format Compression Colors supported Transparency supported

Dễ dàng thấy được , BMP và GIF là hai định dạng sẽ không được sử dụng để lưu trữ ảnh tile do BMP không hỗ trợ nén và GIF không hỗ trợ đủ 24 bit màu Chúng ta chỉ còn lại hai định dạng JPEG và PNG PNG sử dụng giải thuật DEFLATE cung cấp khả năng nén ít mất mát và hỗ trợ ảnh trong suốt, trong khi JPEG sử dụng giải thuật dựa trên Discrete Cosine Transform – là giải thuật nén mất mát.Do cung cấp khả năng nén không mất mát nên dung lượng của định dạng PNG thường lớn hơn nhiều so với định dạng JPEG

Do đặc tính của mỗi định dạng, chúng ta hoàn toàn có thể sử dụng cả hai định dạng trong cùng một hệ thống bản đồ dạng tile Ví dụ, mô tả một phần nhỏ của trái đất sẽ sử dụng ảnh trong suốt cho các mức phóng với độ phân giải thấp vì thế người dùng có thể nhìn thấy các layer khác Khi người dùng chuyển sang mức phóng với độ phân giải cao, định dạng JPEG sẽ được thay thế

Ngày đăng: 25/03/2015, 10:31

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Cấu trúc thư mục của Google Map - Xây dựng hệ thống cung cấp dịch vụ bản đồ trực tuyến theo chuẩn TMS
Hình 1.1 Cấu trúc thư mục của Google Map (Trang 13)
Hình 1.2: Mô tả lưới tile ở 3 mức phóng 0, 1, 2 - Xây dựng hệ thống cung cấp dịch vụ bản đồ trực tuyến theo chuẩn TMS
Hình 1.2 Mô tả lưới tile ở 3 mức phóng 0, 1, 2 (Trang 14)
Hình 1.3: Mô tả việc đánh chỉ số của Bing Map - Xây dựng hệ thống cung cấp dịch vụ bản đồ trực tuyến theo chuẩn TMS
Hình 1.3 Mô tả việc đánh chỉ số của Bing Map (Trang 15)
Hình 1.4: Cách thức hoạt động của Mapserver - Xây dựng hệ thống cung cấp dịch vụ bản đồ trực tuyến theo chuẩn TMS
Hình 1.4 Cách thức hoạt động của Mapserver (Trang 18)
Hình 2.1: Hình ảnh không gian địa lý với đường biên bao - Xây dựng hệ thống cung cấp dịch vụ bản đồ trực tuyến theo chuẩn TMS
Hình 2.1 Hình ảnh không gian địa lý với đường biên bao (Trang 21)
Hình 2.2 : Nội suy song tuyến sử dụng 4 điểm ảnh xung quanh để tính giá trị - Xây dựng hệ thống cung cấp dịch vụ bản đồ trực tuyến theo chuẩn TMS
Hình 2.2 Nội suy song tuyến sử dụng 4 điểm ảnh xung quanh để tính giá trị (Trang 23)
Bảng 2.1 : Mỗi trình duyệt hỗ trợ các định dạng ảnh khác nhau - Xây dựng hệ thống cung cấp dịch vụ bản đồ trực tuyến theo chuẩn TMS
Bảng 2.1 Mỗi trình duyệt hỗ trợ các định dạng ảnh khác nhau (Trang 24)
Bảng 2.2 : Chi tiết của các dạng nén khác nhau - Xây dựng hệ thống cung cấp dịch vụ bản đồ trực tuyến theo chuẩn TMS
Bảng 2.2 Chi tiết của các dạng nén khác nhau (Trang 24)
Hình 2.3: Các điểm ảnh được mã hoá nhưng không được sử dụng để  hiển thị map view - Xây dựng hệ thống cung cấp dịch vụ bản đồ trực tuyến theo chuẩn TMS
Hình 2.3 Các điểm ảnh được mã hoá nhưng không được sử dụng để hiển thị map view (Trang 25)
Hình 2.4: Mức phóng 1,2 và 3 của cùng một lớp - Xây dựng hệ thống cung cấp dịch vụ bản đồ trực tuyến theo chuẩn TMS
Hình 2.4 Mức phóng 1,2 và 3 của cùng một lớp (Trang 27)
Bảng 2.3: Số lượng tile và độ phân giải cho mỗi mức phóng - Xây dựng hệ thống cung cấp dịch vụ bản đồ trực tuyến theo chuẩn TMS
Bảng 2.3 Số lượng tile và độ phân giải cho mỗi mức phóng (Trang 28)
Hình 2.5: Mô tả một mức của layer - Xây dựng hệ thống cung cấp dịch vụ bản đồ trực tuyến theo chuẩn TMS
Hình 2.5 Mô tả một mức của layer (Trang 30)
Hình 2.6: Cách tổ chức các file ảnh tile - Xây dựng hệ thống cung cấp dịch vụ bản đồ trực tuyến theo chuẩn TMS
Hình 2.6 Cách tổ chức các file ảnh tile (Trang 31)
Hình 3.1: Giao diện công cụ TileMill - Xây dựng hệ thống cung cấp dịch vụ bản đồ trực tuyến theo chuẩn TMS
Hình 3.1 Giao diện công cụ TileMill (Trang 37)
Hình 3.2: Cấu trúc layer phường xã - Xây dựng hệ thống cung cấp dịch vụ bản đồ trực tuyến theo chuẩn TMS
Hình 3.2 Cấu trúc layer phường xã (Trang 38)

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