81
2 ĐẠI HC QUC GIA HÀ NI TRƯỜNG ĐẠI HC CÔNG NGHNguyn Đức Phương CÁC GII PHÁP BN ĐỒ TRC TUYN NG DNG KHOÁ LUN TT NGHIP ĐẠI HC HCHÍNH QUY Ngành: Công nghthông tin HÀ NI - 2008

CÁC GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN VÀ ỨNG DỤNGdulieu.tailieuhoctap.vn/books/luan-van-de-tai/luan-van-de-tai-cd-dh/... · 4 TÓM TẮT KHÓA LUẬN GIS-Geography Information

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Đức Phương

CÁC GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN

VÀ ỨNG DỤNG

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

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

HÀ NỘI - 2008

3

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Đức Phương

CÁC GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN

VÀ ỨNG DỤNG

KHOÁ 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 - 2008

4

TÓM TẮT KHÓA LUẬN GIS-Geography Information System(Hệ thống thông tin địa lý) ra đời và được

phát triển mạnh trong những năm gần đây. Cùng với sự bùng nổ về công nghệ của Internet, GIS cũng đã phát triển công nghệ cho phép chia sẻ thông tin thông qua mạng toàn cầu bằng cách kết hợp GIS và Web. Bên cạnh đó, xu hướng chia sẻ dữ liệu, phát triển phần mềm trên công nghệ mã nguồn mở cũng được quan tâm ở các nước đang phát triển vì nhiều lợi ích mà nó mang lại. Vì thế, việc nghiên cứu ứng dụng trên cơ sở mã nguồn mở sẽ mang lại khả năng chia sẻ thông tin địa lý rộng rãi cho các ngành.

Nội dung chính của đề tài là nghiên cứu nền tảng công nghệ GIS, từ đó đưa ra các giải pháp về bản đồ trực tuyến, khả năng xây dựng ứng dụng bản đồ trên cơ sở mã nguồn mở và từ đó xây dựng website bản đồ trực tuyến về các địa điểm du lịch trên thành phố Hà Nội.

Khóa luận được chia thành các phần chính sau:

Mở đầu: Đặt vấn đề và đưa ra mục tiêu nghiên cứu.

Chương 1: Giới thiệu về bản đồ, nghiên cứu về công nghệ GIS và ứng dụng công nghệ GIS trên nền web.

Chương 2: Tìm hiểu một số giải pháp về bản đồ trực tuyến, đi xâu nghiên cứu giải pháp sử dụng phần mền mã nguồn mở MapServer.

Chương 3: Xây dựng ứng dụng bản đồ trực tuyến phục vụ nhu cầu du lịch thành phố Hà Nội.

Kết luận: Kết quả đạt được và định hướng phát triển trong tương lai.

5

LỜI CẢM ƠN Lời đầu tiên cho em được cảm ơn chân thành 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.

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 tốt khóa luận tốt nghiệp này.

Người thực hiện

NGUYỄN ĐỨC PHUƠNG

6

MỤC LỤC

DANH MỤC CÁC HÌNH VẼ .......................................................................................8 DANH MỤC BẢNG ....................................................................................................10 MỘT SỐ KHÁI NIỆM VÀ THUẬT NGỮ ...............................................................11 MỞ ĐẦU.......................................................................................................................12

1. Đặt vấn đề ..............................................................................................................12 2. Nội dung và mục tiêu nghiên cứu..........................................................................13

CHƯƠNG 1: GIỚI THIỆU VỀ CÔNG NGHỆ GIS TRÊN NỀN WEB................14 1.1 Giới thiệu về bản đồ.............................................................................................14 1.2 Các phương pháp biểu diễn bản đồ .....................................................................14

1.2.1 Phân loại bản đồ ............................................................................................14 1.2.2 Các thành phần của bản đồ............................................................................15 1.2.3 Độ chính xác của bản đồ ...............................................................................16 1.2.4 Các chú giải trên bản đồ................................................................................16 1.2.5 Phương pháp thể hiện thông tin trên bản đồ .................................................18 1.2.6 Sự khái quát hóa và sự phóng đại .................................................................19

1.3 Công nghệ GIS trên nền Web.............................................................................19 1.4 Sơ đồ hoạt động của ứng dụng GIS trên nền Web ..............................................20 1.5 Dữ liệu về GIS .....................................................................................................21

1.5.1 Các khái niệm cơ bản....................................................................................21 1.5.2 Các dạng dữ liệu của GIS..............................................................................24 1.5.3 Mô hình thông tin không gian.......................................................................24 1.5.4 Mô hình thông tin phi không gian.................................................................30

CHƯƠNG 2: CÁC GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN.....................................33 2.1 Một số giải pháp bản đồ trực tuyến .....................................................................33

2.1.1 MapBender....................................................................................................33 2.1.2 MapGuide Open Source................................................................................33 2.1.3 OpenLayers ...................................................................................................34

2.2 Phần mềm mã nguồn mở MapServer ..................................................................34 2.2.1 Giới thiệu về Mapserver...............................................................................34 2.2.2 Thành phần và mô hình xử lý của Mapserver...............................................36 2.2.3 Tìm hiểu Mapfile...........................................................................................39

7

2.2.4 Xử lý kết nối các loại dữ liệu ........................................................................48 CHƯƠNG 3: XÂY DỰNG WEBSITE BẢN ĐỒ TRỰC TUYẾN VỀ CÁC ĐỊA ĐIỂM DU LỊCH TRÊN THÀNH PHỐ HÀ NỘI ....................................................52

3.1 Phân tích .............................................................................................................52 3.1.1 Hiện trạng và nhu cầu của thông tin .............................................................52 3.1.2 Phân tích hệ thống và định hướng công nghệ ..............................................52

3.2 Thiết kế ................................................................................................................53 3.2.1 Thiết kế kiến trúc ..........................................................................................53 3.2.2 Thiết kế cơ sở dữ liệu....................................................................................54 3.2.3 Thiết kế chức năng ........................................................................................64 3.2.4 Thiết kế giao diện..........................................................................................66

3.3 Xây dựng..............................................................................................................70 3.3.1 Xây dựng máy chủ cung cấp dữ liệu.............................................................70

3.4 Cài đặt và thử nghiệm..........................................................................................70 KẾT LUẬN ..................................................................................................................72

1. Kết quả đạt được...................................................................................................72 2. Hướng phát triển đề tài .........................................................................................72

PHỤ LỤC .....................................................................................................................73 Phụ lục 1: Một số giao diện người dùng người dùng ................................................73 Phụ lục 2: Giao diện quản trị .....................................................................................79

TÀI LIỆU THAM KHẢO...........................................................................................81

8

DANH MỤC CÁC HÌNH VẼ Hình 1: Bản đồ dạng đường nét.....................................................................................14 Hình 2: Bản đồ dạng ảnh ...............................................................................................15 Hình 3: Sơ đồ hoạt động của WebGIS ..........................................................................20 Hình 4: Số liệu vector được biểu thị dưới dạng điểm (Point). ......................................25 Hình 5: Số liệu vector được biểu thị dưới dạng đường .................................................26 Hình 6: Số liệu vector được biểu thị dưới dạng vùng (Polygon) ..................................26 Hình 7: Một số khái niệm trong cấu trúc cơ sở dữ liệu bản đồ. ....................................27 Hình 8: Sự biểu thị kết quả bản đồ dưới dạng Raster....................................................29 Hình 9: Sự chuyển đổi dữ liệu giữa raster và vector .....................................................30 Hình 10: Sơ đồ hoạt động của Mapserver .....................................................................36 Hình 11: Quy trình xử lý của Mapserver.......................................................................38 Hình 12: Mô hình đối tượng trong Mapfile...................................................................39 Hình 13: Chồng xếp các Layer ......................................................................................39 Hình 14: Danh sách font sử dụng ..................................................................................40 Hình 15: Thứ tự được vẽ các Layer...............................................................................43 Hình 16: Mô hình 3 tầng trong thiết kế kiến trúc ..........................................................53 Hình 17: Quan hệ giữa thực thể Phường/Xã và Quận/Huyện.......................................55 Hình 18: Quan hệ giữa thực thể Đường giao thông và Bảo tàng ..................................55 Hình 19: Quan hệ giữa thực thể Đường giao thông và Khách sạn................................55 Hình 20: Quan hệ giữa thực thể Đường giao thông và Nhà hàng .................................55 Hình 21: Quan hệ giữa thực thể Đường giao thông và Di tích danh lam......................56 Hình 22: Quan hệ giữa thực thể Đường giao thông và Công ty lữ hành.......................56 Hình 23: Quan hệ giữa thực thể Quận/Huyện và Bảo tàng...........................................56 Hình 24: Quan hệ giữa thực thể Quận/Huyện và Khách sạn ........................................56 Hình 25: Quan hệ giữa thực thể Quận/Huyện và Nhà hàng..........................................56 Hình 27: Quan hệ giữa thực thể Phường/Xã và Bảo tàng .............................................57 Hình 28: Quan hệ giữa thực thể Phường/Xã và Khách sạn...........................................57 Hình 29: Quan hệ giữa thực thể Phường/Xã và Nhà hàng............................................57 Hình 30: Quan hệ giữa thực thể Phường/Xã và Di tích danh lam.................................57 Hình 31: Quan hệ giữa thực thể Phường/Xã và Công ty lữ hành..................................58 Hình 32: Lược đồ mô tả các thực thể và mối quan hệ giữa các thực thể ......................63 Hình 33: Sơ đồ các chức năng.......................................................................................64 Hình 34: Sơ đồ quản trị .................................................................................................66 Hình 35: Sơ đồ web dành cho người dùng ....................................................................67

9

Hình 36: Giao diện trang chủ ........................................................................................68 Hình 37: Giao diện Danh sách bảo tàng........................................................................68 Hình 38: Giao diện chi tiết bảng tàng............................................................................69 Hình 39: Giao diện bản đồ.............................................................................................69

10

DANH MỤC BẢNG Bảng 1: Các phương pháp thể hiện bản đồ....................................................................18 Bảng 2: Bảng lớp dữ liệu không gian............................................................................59 Bảng 3: Chi tiết bảng Quản trị.......................................................................................59 Bảng 4: Chi tiết bảng bảo tàng ......................................................................................60 Bảng 5: Chi tiết bảng Công ty lữ hành ..........................................................................60 Bảng 6: Chi tiết bảng Danh lam ....................................................................................61 Bảng 7: Chi tiết bảng khách sạn ....................................................................................61 Bảng 8: Chi tiết bảng Nhà hàng ....................................................................................62 Bảng 9: Chi tiết bảng Quận ...........................................................................................62 Bảng 10: Chi tiết bảng Phường .....................................................................................62 Bảng 11: Chi tiết bảng Đường giao thông.....................................................................63 Bảng 12: Kết quả kiểm thử............................................................................................71

11

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

API

Application Program Interface Giao diện lập trình ứng dụng

Cartogram Biểu đồ diện tích

CGI

Common Gateway Interface Chuẩn để kết nối chương trình ứng dụng với Web server

GDAL

Geospatial Data Abstraction Library Là thư viện biên dịch định dạng dữ liệu địa lý[15]

GIS

Geography Information System Hệ thống thông tin địa lý. Sử dụng công nghệ này là một công nghệ dựa trên máy tính để xây dựng bản đồ, phân tích và xử lý các đối tượng tồn tại và các sự kiện xảy ra trên trái đất.

GML

Geography Markup Language Ngôn ngữ đặc tả về dữ liệu địa lý.

OGC

Open Geospatial Consortium Là tổ chức tập hợp các nhà phát triển nghiên cứu đưa ra các chuẩn cho hệ địa lý

SDE Spatial Database Enginee Cơ sở dữ liệu không gian tập trung

12

MỞ ĐẦU 1. Đặt vấn đề

Mục đích của mạng Internet, như những người tiền sáng lập và đặt nền móng cho nó công bố là phổ cập tri thức toàn cầu. Người sử dụng dù ở bất kỳ đâu, đều có thể truy cập, khai thác những gì cần cho công việc trong kho tàng tri thức chung nhân loại.

Bản đồ học là một ngành của khoa học tự nhiên, cũng chịu sự chi phối đó. Mặt khác, mọi thông tin trong tất cả các lĩnh vực cuộc sống, ngành khoa học, kinh tế, xã hội... cũng đều gắn với các yếu tố không gian địa lý.

Những yếu tố đó đã gắn kết, trở thành xu hướng tất yếu cho mọi ngành, mọi nghề, cho các nhà kinh doanh... vô hình chung, mỗi chủ thể đều tiến tới xây dựng hệ quản trị cơ sở dữ liệu (GIS) của mình để quảng bá, giao dịch. Mọi hệ GIS đều cần có nền là dữ liệu địa lý. Cũng có thể vì lý do này, mà các phần mềm về dữ liệu địa lý nền trở nên rất đa dạng. Các phần mềm dữ liệu địa lý nền này hoạt động được trên mạng Internet, tạm gọi là Web bản đồ trực tuyến.

Hiện nay, có rất nhiều giải pháp bản đồ trực tuyến được các nhà phát triển đưa ra như Mapbender, MapBuilder, MapGuide Open Source, MapServer, OpenLayers, chúng đều là các phần mềm mã nguồn mở hỗ trợ xây dựng các ứng dụng về bản đồ trên nền web.

Du lịch là một trong những dịch vụ mang lại thú vui, sự thư giãn cho con người, là nơi mà con người khám phá ra vẻ đẹp thiên nhiên, vẻ đẹp về văn hóa, những phong tục tập quán, vẻ đẹp về truyền thống văn hóa ở những vùng đất khác nhau, nhất là trong thời đại công nghiệp như hiện nay. Để có một chuyến du lịch thuận lợi, thoải mái thì những thông tin liên quan đến địa điểm du lịch, các thông tin về dịch vụ do các công ty du lịch cung cấp là điều mà bất cứ người đi du lịch nào cũng cần phải biết trước. Hiện nay, với cuộc sống bận rộn, người đi du lịch có thể có các thông tin bằng việc truy cập các trang web thông qua mạng internet.

Trong những năm gần đây, GIS đã được ứng dụng rất nhiều trong các ngành khoa học 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 đi du lịch sẽ truy cập được các thông tin du lịch kết hợp với các bản đồ động để có được cái nhìn trực quan về các địa điểm mà mình sẽ đến thông qua

13

trình duyệt web mà không cần phải học sử dụng các phần mềm GIS. Bên cạnh đó, nếu kết hợp xây dựng WebGIS trên phần mềm mã nguồn mở thì sẽ có được các lợi ích mà phần mềm mã nguồn mở mang lại như chi phí đầu tư về phần mềm giảm, tận dụng được các thành quả ý tưởng chung của cộng đồng, tính chất an toàn cao.

2. Nội dung và mục tiêu nghiên cứu Nghiên cứu về công nghệ GIS, ứng dụng công nghệ GIS trên nền Web, đưa ra

các giải pháp về bản đồ trực tuyến, từ đó xây dựng website bản đồ trực tuyến về các địa điểm du lịch trên thành phố Hà Nội dựa trên nền sản phẩm mã nguồn mở MapServer.

14

CHƯƠNG 1: GIỚI THIỆU VỀ CÔNG NGHỆ GIS

TRÊN NỀN WEB

1.1 Giới thiệu về bản đồ

Bản đồ là một mô hình các thực thể và hiện tượng trên trái đất, trong đó thực thể được thu nhỏ, các hiện tượng được khái quát hóa để thể hiện được trên mặt phẳng vẽ. Bản đồ chứa các thông tin về vị trí và các tính chất của vật thể, hiện tượng mà nó trình bày.

Thế giới thực rất rộng lớn và phức tạp để chúng ta có thể bao quát được. Nếu một phần không gian được chọn với một tỉ lệ nhỏ hơn thực tế thì chúng ta có thể thấy được cấu trúc và dạng của phần không gian đó dễ hơn nhiều và từ đó có thể thấy thấu đáo được khu vực nghiên cứu và đưa ra quyết định đúng đắn.

Thông thường bản đồ là một mô hình theo tỉ lệ, nghĩa là tỉ lệ của khoảng cách trên tỉ lệ với khoảng cách trên thực tế sẽ bằng nhau với mọi vị trí trên bản đồ, trong một khu vực rộng lớn được chiếu trên bản đồ với một tỉ lệ nhỏ thì tỉ lệ này cũng có một sai số nhỏ.

Về thực chất bản đồ là một hệ thống về không gian. Chúng ta có thể xem bản

đồ và tìm thấy các thông tin trên bản đồ.

1.2 Các phương pháp biểu diễn bản đồ

1.2.1 Phân loại bản đồ

Bản đồ có 2 dạng chính Dạng đường nét

Hình 1: Bản đồ dạng đường nét

15

Dạng ảnh

Hình 2: Bản đồ dạng ảnh

Bản đồ đường nét dùng các kí hiệu, nét vẽ để thể hiện thông tin một cách tóm lược về khu vực thể hiện, chủ yếu được vẽ bằng thủ công với sự trợ giúp của máy tính.

Bản đồ ảnh thường là những hình chụp ngoài thực địa từ trên cao, người ta thường vẽ thêm đường nét để nhấn mạnh các thực thể vào trong bản đồ ảnh. Bản đồ dạng này có ưu điểm là vẽ nhanh, miêu tả được những địa hình mà dùng nét vẽ thì khó thể hiện được(Ví dụ ao hồ, sa mạc ). Tuy nhiên bản đồ này thường gặp khó khăn trong việc giải đoán các thực thể trên bản đồ.

1.2.2 Các thành phần của bản đồ

Thành phần của bản đồ liên quan đến mục đích sử dụng của nó. Các thành phần của bản đồ là:

• Thành phần chính: Là phần chủ đề của bản đồ, ví dụ như địa lý, địa chất, dân số. Đối với bản đồ địa hình, thành phần chính là tất cả thông tin được vẽ bao gồm cả tên của các vùng.

• Thành phần thứ hai(Bản đồ nền): Đối với bản đồ chủ đề, thành phần này này là phần địa hình, bao gồm lưới tọa độ.

• Thành phần phụ trợ(Thông tin chú thích, tỉ lệ): Là các thông tin như chú thích, tỉ lệ, tiêu đề.

16

1.2.3 Độ chính xác của bản đồ

Ba vấn đề của độ chính xác được đặt ra là

• Chính xác về vị trí: Độ chính xác về vị trí trong bản đồ liên quan đến vị trí thực tế của nó trên thực tế. Độ chính xác này được xác định bởi:

Phép chiếu

Độ chính xác của việc thu thập dữ liệu và việc vẽ bản đồ.

Tỉ lệ của bản đồ.

Công cụ và độ ổn định của vật liệu được sử dụng trong việc vẽ bản đồ.

• Chính xác về chủ đề: Độ chính xác về chủ đề liên quan đến thông tin chủ đề được thể hiện, độ chính xác này ảnh hưởng bởi:

Thu thập thông tin thuộc tính: chất lượng của dữ liệu thống kê và phương pháp thống kê.

Việc chuyển đổi dữ liệu: Một phần của vùng đôi khi được thể hiện cho toàn vùng

• Chính xác về cách thể hiện: Sự xuất hiện của các biểu tượng trên bản đồ rất quan trọng, nếu dùng sai biểu tượng thì có thể đánh lạc hướng của người sử dụng hay làm mờ ranh giới giữa các vùng.

1.2.4 Các chú giải trên bản đồ

Ngôn ngữ bản đồ cũng là một loại ngôn ngữ, nó có các chức năng chính sau:

- Dạng có cấu trúc gợi nhớ đối tượng.

- Kí hiệu chứa một nội dung về số lượng, chất lượng, cấu trúc của đối tượng cần thể hiện trên bản đồ.

- Kí hiệu trên bản đồ phản ánh vai trò của đối tượng trong không gian và vị trí tương quan của nó với yếu tố khác.

Hệ thống kí hiệu quy ước bản đồ:

Trên bản đồ ta sử dụng các dạng đồ họa, mầu sắc, các loại chữ và con số. Các kí hiệu trên bản đồ thường được thể hiện dưới dạng:

- Kí hiệu điểm (Point).

- Kí hiệu tuyến (Polyline).

17

- Kí hiệu diện tích(Polygon).

- Kí hiệu tượng hình.

- Kí hiệu hình học.

- Kí hiệu chữ.

18

1.2.5 Phương pháp thể hiện thông tin trên bản đồ

Bảng 1: Các phương pháp thể hiện bản đồ

Phương

pháp

Đối tượng

dùng Cách thể hiện

Thông tin

thể hiện

Cartogram Dạng vùng Đặt biểu đồ thể hiện mối liên quan của các đặc trưng của hiện tượng vào trong biên của hiện tượng đó.

Số lượng, cấu trúc

Nền chất lượng

Dạng vùng Dùng mầu sắc, mẫu tô hay đánh số.

Thể hiện các hiện tượng phân bố liên tục trên mặt đất, hay các hiện tượng.

Đường đẳng trị

Dạng điểm Nối các điểm có cùng chỉ số về số lượng của hiện tượng trên bản đồ.

Các đối tượng có cùng số lượng của hiện tượng.

Kí hiệu đường chuyển động

Dạng tuyến hoặc dạng vector

Vẽ các mũi tên để thể hiện sự di chuyển.

Thể hiện sự di chuyển của các đối. tượng trên bản đồ

Chấm điểm Dạng vùng Chấm điểm cho vùng hiện tượng

Thể hiện sự phân tán của hiện tượng trên một vùng

Biểu đồ định vị

Dạng điểm Tạo biểu đồ tương quan (dạng tròn, dạng cột) giữa các đặc trưng đo đạc

Các hiện tượng phân bố liên tục

Kí hiệu Dạng điểm Dùng các kí hiệu (hình vẽ, chữ số) đặt vào vị trí đối tượng

Đặc điểm phân bố, số lượng, chất lượng, cấu trúc

19

1.2.6 Sự khái quát hóa và sự phóng đại

Vì bản đồ là sự thu nhỏ của thế giới thực, nên ta không thể trình bày một cách chính xác, do đó người ta thường dùng những kỹ thuật sau đây để thể hiện bản đồ:

- Khái quát hóa là sự lựa chọn và đơn giản hóa sự thể hiện của thực thể trên bản đồ theo một tỉ lệ và mục đích thích hợp nhằm giúp cho bản đồ dễ đọc.

- Sự phóng đại là kỹ thuật nhằm phóng kích thước vật cần thể hiện to hơn tỉ lệ thực của nó nhằm giúp cho bản đồ dễ đọc hay nhằm nhấn mạnh vật thể đó.

Sự khái quát hóa yêu cầu những chú ý đến các yếu tố sau:

• Sự lựa chọn: Mục tiêu của bản đồ là yếu tố chính để lựa chọn thực thể nên vẽ trên bản đồ, sự lựa chọn thường liên quan đến tỉ lệ bản đồ.

• Sự đơn giản hóa: Các thực thể phải được thể hiện trên bản đồ nhưng quá nhỏ hay quá phức tạp mà không trình bày được chi tiết nếu không bỏ bớt hay đơn giản hóa. Tỉ lệ là yếu tố tham gia chính.

• Lược bỏ: Để duy trì tính dễ đọc và sạch sẽ của bản đồ, một vài thực thể sẽ không được thể hiện, ngay cả nó rõ ràng. Tỉ lệ vẫn là yếu tố ảnh hưởng chính nhưng yếu tố địa hình và tự nhiên cũng quan trọng.

Mối quan hệ giữa sự khái quát hóa và sự phóng đại rất gần, thực ra chính sự phóng đại hóa là sự khái quát hóa. Ví dụ trong trường hợp bản đồ đường sá tỉ lệ 1/50000, nếu ta vẽ đúng tỉ lệ con đường rộng 10m thì nét vẽ đường này chỉ rộng 0.2mm cho tất cả các đoạn rẽ hay xoắn, nhưng trong bản đồ chúng ta phải thể hiện nét vẽ 1mm, tuy nhiên với nét vẽ này chúng ta vẫn không thể hiện chính xác được các đoạn rẽ và xoắn.

1.3 Công nghệ GIS trên nền Web

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. Trong cách thực hiện việc phân tích GIS, dịch vụ này giống như kiến trúc Client-Server của web. Xử lý thông tin địa lý được chia thành các nhiệm vụ ở phía Server và phía Client. Điều này cho phép người dùng có thể truy xuất, thao tác và nhận kết quả từ việc khai thác dữ liệu GIS từ trình duyệt web của họ mà không phải mất tiền cho phần mềm GIS. Một Client tiêu biểu là trình duyệt web và phía server bao gồm một Web Server cung cấp một chương trình phần mềm ứng dụng GIS trên web. Client

20

thường yêu cầu một ảnh bản đồ hay vài xử lý thông tin địa lý qua web đến server ở xa, server chuyển yêu cầu thành mã nội bộ và gọi những chức năng về GIS bằng cách chuyển tiếp yêu cầu đến phần mềm ứng dụng GIS. Phần mềm này trả về kết quả, sau đó kết quả lại được định dạng lại cho việc trình bày bởi trình duyệt hay những hàm từ bộ nhúng (plug-in) hoặc java applet. Server sau đó trả về kết quả cho client để hiển thị, hoặc gửi dữ liệu và các công cụ phân tích đến client để dùng ở phía client.

Phần lớn sự chú ý gần đây là tập trung vào sự phát triển của các chức năng GIS trên internet. Công nghệ GIS trên nền web có tiềm năng lớn trong công việc làm cho thông tin địa lý trở nên hữu dụng và sẵn sàng tới số lượng lớn người sử dụng trên thế giới. Thách thức lớn của công nghệ này là để tạo ra một hệ thống phần mềm không phục thuộc vào nền tảng (platform) và chạy trên chuẩn giao thức mạng TCP/IP có nghĩa là khả năng chúng chạy trên bất kì trình duyệt web của bất kì máy tính nào nối mạng internet. Đối với vấn đề này, các phần mềm GIS phải được thiết kế lại để trở thành ứng dụng GIS trên nền web theo các kỹ thuật mạng internet.

1.4 Sơ đồ hoạt động của ứng dụng GIS trên nền Web

Hình 3: Sơ đồ hoạt động của WebGIS

Khi có yêu cầu phát sinh, máy khách(Client) gửi yêu cầu đến máy chủ web (WebServer). Nếu yêu cầu có liên quan đến bản đồ, WebServer chuyển yêu cầu đó đến cho một công cụ xử lý, ví dụ như MapServer(Một công cụ xử lý sẽ được trình bày ở chương 2). Tại MapServer, yêu cầu sẽ được phân loại và tùy thuộc vào loại yêu cầu mà MapServer gọi đến chương trình thực thi để thực hiện. Chương trình thực thi trên MapServer truy cập vào cơ sở dữ liệu để lấy dữ liệu. Trong quá trình truy cập, chương trình thực thi tham chiếu đến tệp tin cấu hình bản đồ (config_mapfile). Dữ liệu lấy về sẽ được chuyển về WebServer, WebServer tham chiếu đến tệp tin mẫu (html template) để tạo ra kết quả. Kết quả sẽ được gửi về Client để hiển thị. Chu trình cứ thế tiếp tục.

21

1.5 Dữ liệu về GIS

1.5.1 Các khái niệm cơ bản

Map scale (Tỉ lệ bản đồ)

1. Tỉ lệ hay quan hệ giữa khoảng cách hoặc vùng trên bản đồ tương ứng với khoảng cách hay vùng ở trên mặt đất, thông thường tuân theo một tỷ lệ. Tỷ lệ bản đồ 1/100.000 hoặc 1:100.000 nghĩa là một lượng đơn vị đo lường trên bản đồ tương ứng với 100.000 đơn vị đo lường ở trên trái đất.

2. Khi sử dụng hế số dấu phẩy động để tính độ chính xác thì tính bằng số chữ số ở bên phải dấu chấm thập phân trong số đó. Ví dụ, số 56.78 có tỉ lệ là 2.

Map Unit (Đơn vị bản đồ)

Đơn vị đo lường chuẩn trên mặt đất vi dụ như: feet, miles, meters, kilometers trong tọa độ của không gian mà dữ liệu đã lưu trữ.

Projection(Hệ quy chiếu hay phép chiếu)

Là phương pháp mô tả lại bề mặt cong của trái đất trên bề mặt phẳng. Thông thường nó đòi hỏi phải có hệ thống toán học để chuyển đổi các lưới kinh độ và vĩ độ của trái đất trên mặt phẳng. Có thể hình dung giống như chuyển đổi quả cầu trong suốt với một bóng đèn ở tâm sẽ in ra các đường kinh độ và vĩ độ trên trang giấy. Thông thường trang giấy bao giờ cũng phẳng và nơi tiếp xúc với quả cầu hoặc khuôn dạng trong hình nón hay hình trụ và toàn bộ quả cầu. Mọi hệ quy chiếu bản đồ đều làm biến dạng khoảng cách, hình hài, phương hướng và sự kết hợp của những yếu tố đó.

Coordinate system (Hệ tọa độ)

Điểm reference framework được đặt lên trên bề mặt của khu vực để thiết kế vị trí của điểm bên trong nó. Hệ thống bao gồm sự thiết lập các điểm, đường thẳng và bề mặt; thiết lập các luật, sử dụng định nghĩa vị trí của điểm trong không gian hai hoặc ba chiều. Hệ thống tọa độ Đề Các và hệ tọa độ địa lý sử dụng trên bề mặt trái đất là những ví dụ phổ biến về hệ tọa độ.

X, Y Coordinate (Tọa độ X, Y)

Cặp giá trị biểu diễn khoảng cách từ gốc tọa độ (0,0) kéo dài ra hai hướng, theo chiều ngang trục (x) biểu diễn Đông-Tây, theo chiều thẳng đứng trục (y) biểu diễn Bắc-Nam. Trên bản đồ, tọa độ x, y dùng để biểu diễn vị trí của chúng được tìm thấy trên bề mặt cầu trái đất.

22

Spatial Reference (Quy chiếu không gian)

Hệ thống tọa độ sử dụng để lưu trữ tập dữ liệu không gian (Dataset). Với mỗi Feature Class và feature dataset nằm trong cơ sở dữ liệu geodatabase. Spatial Reference cũng bao gồm cả giới hạn không gian.

Feature Class (Lớp đặc trưng)

Là tập hợp các đặc trưng địa lý có cùng kiểu hình học (như điểm, đường thẳng, đa giác), các thuôc tính giống nhau, và cùng hệ quy chiếu không gian (Spatial Reference). Feature Class có thể đứng một mình độc lập trong cơ sở dữ liệu geodatabase hoặc cũng có thể nằm trong shapefiles hoặc feature dataset khác. Feature Class cho phép các tính năng đồng nhất được nhóm lại trong một đơn vị riêng với mục đích lưu trữ. Ví dụ: đường cao tốc, đường chính, đường phụ có thể nhóm lại thành Feature Class kiểu “Đường-Line” với tên “roads”. Trong geodatabase, Feature Class lưu trữ các nhãn chú thích (Diễn giải) và các chiều (Dimensions).

Layer(Lớp)

Là một thể hiện trực quan của dữ liệu địa lý trong bấy kỳ môi trường bản đồ số nào. Nó là một phần hoặc là địa tầng của địa lý trong khu vực riêng. Nó được biểu diễn dưới dạng các biểu tượng trên bản đồ giấy. Trên bản đồ, đường, công viên quốc gia, đường biên giới và sông là các ví dụ điển hình khác nhau về Layer.

Feature(Đặc tính)

1. Một thể hiện biểu diễn đối tượng thế giới thực trên một bản đồ. Feature có thể được thể hiện trong GIS như dữ liệu vector (điểm, đường, hoặc đa giác) hoặc như các phần tử trong định dạng dữ liệu raster. Để được hiểu thị trong GIS, Feature đòi hỏi phải có thông tin về hình học (Geometry) và vị trí (Location).

2. Là nhóm các yếu tố không gian cùng thể hiện các thực thể thế giới thực. Một Feature phức tạp được tạo thành từ một hay nhiều nhóm các đối tượng không gian. Ví dụ: một tập các đối tượng đường thẳng với các yếu tố chung về đường sẽ biểu diễn mạng lưới một đường.

Field (Trường)

1. Là một cột trong bảng, lưu trữ các giá trị cho thuộc tính đơn.

2. Là nới trong một bản ghi cơ sở dữ liệu hoặc giao diện đồ họa người dùng, nơi mà dữ liệu có thể được nhập vào.

23

Table (Bảng)

Dữ liệu được sắp xếp dưới dạng hàng hay cột. Mỗi hàng biểu diễn một thực thể đơn, một bản ghi (Record), một thuộc tính (Feature). Mỗi cột biểu diễn một trường hoặc giá trị thuộc tính đơn. Bảng phải chỉ ra rõ số cột nhưng có thể có nhiều hàng.

Query (Truy vấn)

Là tính năng lựa chọn bản ghi từ cơ sở dữ liệu. Query thường được viết bởi những câu điều kiện logic.

Identify (Thông tin) Khi áp dụng tính năng này lên một feature (bởi sự kiện Click vào nó) một cửa

sổ sẽ hiện ra với các thuộc tính của feature.

Label (Nhãn)

Trong bản đồ, là dòng văn bản đặt bên trong hoặc ở gần một đối tượng bản đồ (map feature) nhằm mô tả hoặc xác định nó.

Symbol (Ký hiệu)

Một thể hiện bằng đồ họa của các đối tượng trên bản đồ giúp xác định và phân biệt nó với những đối tượng khác trên bản đồ. Ví dụ: biểu tượng đường thẳng, điểm, hình biểu tượng, đa giác, dòng văn bản, dòng chú thích. Một vài đặc tả để định nghĩa biểu tượng gồm: màu sắc, kích cỡ, góc, khuôn hình.

Geometry (Hình học)

Các kí tự xuất hiện hoặc nhìn thấy của đối tượng địa lý được biểu diễn trên bản đồ. GIS sử dụng sự thay đổi của ba hình cơ bản để biểu diễn đối tượng vật lý: điểm, đường thẳng và đa giác.

Spatial data (Dữ liệu không gian)

Thông tin về vị trí và hình dáng của các đối tượng địa lý và mối quan hệ giữa chúng, luôn được lưu trữ như tọa độ và đặc tính hình học (topology) của chùng.

Attribute data (Dữ liệu thuộc tính)

1. Thông tin về các đối tượng địa lý trong GIS luôn luôn được lưu trữ trong một bảng và được liên kết với đối tượng bằng một đặc tính duy nhất. Ví dụ: thuộc tính của dòng sông có thể bao gồm tên, chiều dài và độ sâu trung bình.

2. Trong các tập dữ liệu raster, thông tin được kết hợp với mỗi giá trị duy nhất

của các phần tử raster.

24

3. Thông tin bản đồ chỉ ra rằngđối tượng được hiển thị như thế nào trên bản đồ, và nhãn của nó như thế nào. Thuộc tính bản đồ của dòng sông có thể bao gồm độ dày của đường thẳng, chiều dài của đường thẳng, màu và font.

Database

Shapefile : Dữ liệu vector lưu trữ các định dạng về vị trí, hình thể, thuộc tính của đối tượng địa lý. Một shapefile được lưu trữ trong một tập các file có quan hệ với nhau và chứa một feature class

1.5.2 Các dạng dữ liệu của GIS

Một cơ sở dữ liệu của hệ thống thông tin địa lý có thể chia ra làm 2 loại số liệu cơ bản: số liệu không gian và phi không gian. Mỗi loại có những đặc điểm riêng và chúng khác nhau về yêu cầu lưu giữ số liệu, hiệu quả, xử lý và hiển thị. Số liệu không gian là những mô tả số của hình ảnh bản đồ, chúng bao gồm toạ độ, quy luật và các ký hiệu dùng để xác định một hình ảnh bản đồ cụ thể trên từng bản đồ. Hệ thống thông tin địa lý dùng các số liệu không gian để tạo ra một bản đồ hay hình ảnh bản đồ trên màn hình hoặc trên giấy thông qua thiết bị ngoại vi … Số liệu phi không gian là những diễn tả đặc tính, số lượng, mối quan hệ của các hình ảnh bản đồ với vị trí địa lý của chúng. Các số liệu phi không gian được gọi là dữ liệu thuộc tính, chúng liên quan đến vị trí địa lý hoặc các đối tượng không gian và liên kết chặt chẽ với chúng trong hệ thống thông tin địa lý thông qua một cơ chế thống nhất chung.

1.5.3 Mô hình thông tin không gian

Dữ liệu là trung tâm của hệ thống GIS, hệ thống GIS chứa càng nhiều thì chúng càng có ý nghĩa. Dữ liệu của hệ GIS được lưu trữ trong cơ sở dữ liệu và chúng được thu thập thông qua các mô hình thế giới thực. Dữ liệu trong hệ GIS còn được gọi là thông tin không gian. Đặc trưng thông tin không gian là có khả năng mô tả “vật thể ở đâu” nhờ vị trí tham chiếu, đơn vị đo và quan hệ không gian. Chúng còn khả năng mô tả “hình dạng hiện tượng” thông qua mô tả chất lượng, số lượng của hình dạng và cấu trúc. Cuối cùng, đặc trưng thông tin không gian mô tả “quan hệ và tương tác” giữa các hiện tượng tự nhiên. Mô hình không gian đặc biệt quan trọng vì cách thức thông tin sẽ ảnh hưởng đến khả năng thực hiện phân tích dữ liệu và khả năng hiển thị đồ hoạ của hệ thống.

25

a. Hệ thống Vector Kiểu đối tượng điểm: Điểm được xác định bởi cặp giá trị x, y. Các đối

tượngđơn, thông tin về địa lý chỉ gồm cơ sở vị trí sẽ được phản ánh là đối tượng điểm. Các đối tượng kiểu điểm có đặc điểm:

• Là toạ độ đơn (x,y)

• Không cần thể hiện chiều dài và diện tích

Hình 4: Số liệu vector được biểu thị dưới dạng điểm (Point).

Tỷ lệ trên bản đồ tỷ lệ lớn, đối tượng thể hiện dưới dạng vùng. Tuy nhiên trên bản đồ tỷ lệ nhỏ, đối tượng này có thể thể hiện dưới dạng một điểm. Vì vậy, các đối tượng điểm và vùng có thể được dùng phản ánh lẫn nhau.

Kiểu đối tượng đường: Đường được xác định như một tập hợp dãy của các điểm. Mô tả các đối tượng địa lý dạng tuyến, có các đặc điểm sau:

• Là một dãy các cặp toạ độ.

• Một đường bắt đầu và kết thúc bởi node.

• Các đường nối với nhau và cắt nhau tại node.

• Hình dạng của đường được định nghĩa bởi các điểm vertices.

• Độ dài chính xác bằng các cặp toạ độ.

26

Hình 5: Số liệu vector được biểu thị dưới dạng đường

Kiểu đối tượng vùng: Vùng được xác định bởi ranh giới các đường thẳng. Các đối tượng địa lý có diện tích và đóng kín bởi một đường được gọi là đối tượng vùng(polygons), có các đặc điểm sau:

• Polygons được mô tả bằng tập các đường và điểm nhãn.

• Một hoặc nhiều đường định nghĩa đường bao của vùng.

• Một điểm nhãn nằm trong vùng để mô tả, xác định cho mỗi một vùng.

Hình 6: Số liệu vector được biểu thị dưới dạng vùng (Polygon)

27

Những dạng hình cơ bản

Hình 7: Một số khái niệm trong cấu trúc cơ sở dữ liệu bản đồ.

28

b. Hệ thống Raster Mô hình dữ liệu dạng raster phản ánh toàn bộ vùng nghiên cứu dưới dạng một

lưới các ô vuông hay điểm ảnh (pixcel). Mô hình raster có các đặc điểm:

• Các điểm được xếp liên tiếp từ trái qua phải và từ trên xuống dưới.

• Mỗi một điểm ảnh (pixcel) chứa một giá trị.

• Một tập các ma trận điểm và các giá trị tương ứng tạo thành một lớp (layer).

• Trong cơ sở dữ liệu có thể có nhiều lớp.

Mô hình dữ liệu raster là mô hình dữ liệu GIS được dùng tương đối phổ biến trong các bài toán về môi trường, quản lý tài nguyên thiên nhiên.

Mô hình dữ liệu raster chủ yếu dùng để phản ánh các đối tượng dạng vùng là ứng dụng cho các bài toán tiến hành trên các loại đối tượng dạng vùng: phân loại; chồng xếp.

Các nguồn dữ liệu xây dựng nên dữ liệu raster có thể bao gồm:

• Quét ảnh.

• Ảnh máy bay, ảnh viễn thám.

• Chuyển từ dữ liệu vector sang.

• Lưu trữ dữ liệu dạng raster.

• Nén theo hàng (Run lengh coding).

• Nén theo chia nhỏ thành từng phần (Quadtree).

• Nén theo ngữ cảnh (Fractal).

Trong một hệ thống dữ liệu cơ bản raster được lưu trữ trong các ô (thường hình vuông) được sắp xếp trong một mảng hoặc các dãy hàng và cột. Nếu có thể, các hàng và cột nên được căn cứ vào hệ thống lưới bản đồ thích hợp.

Việc sử dụng cấu trúc dữ liệu raster tất nhiên đưa đến một số chi tiết bị mất. Với lý do này, hệ thống raster-based không được sử dụng trong các trường hợp nơi có các chi tiết có chất lượng cao được đòi hỏi.

29

Hình 8: Sự biểu thị kết quả bản đồ dưới dạng Raster c. Chuyển đổi cơ sở dữ liệu dạng vector và raster

Việc chọn của cấu trúc dữ liệu dưới dạng vector hoặc raster tuỳ thuộc vào yêu cầu của người sử dụng, đối với hệ thống vector, thì dữ liệu được lưu trữ sẽ chiếm diện tích nhỏ hơn rất nhiều so với hệ thống raster, đồng thời các đường contour sẽ chính xác hơn hệ thống raster. Ngoài ra cũng tuỳ vào phần mềm máy tính đang sử dụng mà nó cho phép nên lưu trữ dữ liệu dưới dạng vector hay raster. Tuy nhiên đối với việc sử dụng ảnh vệ tinh trong GIS thì nhất thiết phải sử dụng dưới dạng raster.

Một số công cụ phân tích của GIS phụ thuộc chặt chẽ vào mô hình dữ liệu raster, do vậy nó đòi hỏi quá trình biến đổi mô hình dữ liệu vector sang dữ liệu raster, hay còn gọi là raster hoá. Biến đổi từ raster sang mô hình vector, hay còn gọi là vector hoá, đặc biệt cần thiết khi tự động quét ảnh. Raster hoá là tiến trình chia đường hay vùng thành các ô vuông (pixcel). Ngược lại, vector hoá là tập hợp các pixcel để tạo thành đường hay vùng. Nét dữ liệu raster không có cấu trúc tốt, ví dụ ảnh vệ tinh thì việc nhận dạng đối tượng sẽ rất phức tạp.

Nhiệm vụ biến đổi vector sang raster là tìm tập hợp các pixel trong không gian raster trùng khớp với vị trí của điểm, đường, đường cong hay đa giác trong biểu diễn vector. Tổng quát, tiến trình biến đổi là tiến trình xấp xỉ vì với vùng không gian cho trước thì mô hình raster sẽ chỉ có khả năng địa chỉ hoá các vị trí toạ độ nguyên. Trong mô hình vector, độ chính xác của điểm cuối vector được giới hạn bởi mật độ hệ thống toạ độ bản đồ còn vị trí khác của đoạn thẳng được xác định bởi hàm toán học.

30

Hình 9: Sự chuyển đổi dữ liệu giữa raster và vector (Tor Bernhardsen, 1992)

1.5.4 Mô hình thông tin phi không gian.

Số liệu phi không gian hay còn gọi là thuộc tính là những mô tả về đặc tính, đặc điểm và các hiện tượng xảy ra tại các vị trí địa lý xác định. Một trong các chức năng đặc biệt của công nghệ GIS là khả năng của nó trong việc liên kết và xử lý đồng thời giữa dữ liệu bản đồ và dữ liệu thuộc tính. Thông thường hệ thống thông tin địa lý có 4 loại số liệu thuộc tính:

- Đặc tính của đối tượng: liên kết chặt chẽ với các thông tin không gian có thể thực hiện SQL (Structure Query Language) và phân tích

- Số liệu hiện tượng, tham khảo địa lý: miêu tả những thông tin, các hoạt động thuộc vị trí xác định.

- Chỉ số địa lý: tên, địa chỉ, khối, phương hướng định vị, …liên quan đến các đối tượng địa lý.

- Quan hệ giữa các đối tượng trong không gian, có thể đơn giản hoặc phức tạp (sự liên kết, khoảng tương thích, mối quan hệ đồ hình giữa các đối tượng).

Để mô tả một cách đầy đủ các đối tượng địa lý, trong bản đồ số chỉ dùng thêm các loại đối tượng khác: điểm điều khiển, toạ độ giới hạn và các thông tin mang tính chất mô tả.

31

Các thông tin mô tả có các đặc điểm:

• Có thể nằm tại một vị trí xác định trên bản đồ

• Có thể có các kích thước, màu sắc, các kiểu chữ khác nhau

• Nhiều mức của thông tin mô tả có thể được tạo ra với ứng dụng khác nhau.

• Có thể tạo thông tin cơ sở dữ liệu lưu trữ thuộc tính

• Có thể tạo độc lập với các đối tượng địa lý có trong bản đồ

• Không có liên kết với các đối tượng điểm, đường, vùng và dữ liệu thuộc tính của chúng

Bản chất một số thông tin dữ liệu thuộc tính như sau:

• Số liệu tham khảo địa lý: mô tả các sự kiện hoặc hiện tượng xảy ra tại một vị trí xác định. Không giống các thông tin thuộc tính khác, chúng không mô tả về bản thân các hình ảnh bản đồ. Thay vào đó chúng mô tả các danh mục hoặc các hoạt động như cho phép xây dựng, báo cáo tai nạn, nghiên cứu y tế, … liên quan đến các vị trí địa lý xác định. Các thông tin tham khảo địa lý đặc trưng được lưu trữ và quản lý trong các file độc lập và hệ thống không thể trực tiếp tổng hợp chúng với các hình ảnh bản đồ trong cơ sở dữ liệu của hệ thống. Tuy nhiên các bản ghi này chứa các yếu tố xác định vị trí của sự kiện hay hiện tượng.

• Chỉ số địa lý: được lưu trong hệ thống thông tin địa lý để chọn, liên kết và tra cứu số liệu trên cơ sở vị trí địa lý mà chúng đã được mô tả bằng các chỉ số địa lý xác định. Một chỉ số có thể bao gồm nhiều bộ xác định cho các thực thể địa lý sử dụng từ các cơ quan khác nhau như là lập danh sách các mã địa lý mà chúng xác định mối quan hệ không gian giữa các vị trí hoặc giữa các hình ảnh hay thực thể địa lý. Ví dụ: chỉ số địa lý về đường phố và địa chỉ địa lý liên quan đến phố đó.

• Mối quan hệ không gian: của các thực thể tại vị trí địa lý cụ thể rất quan trọng cho các chức năng xử lý của hệ thống thông tin địa lý. Các mối quan hệ không gian có thể là mối quan hệ đơn giản hay lôgic, ví dụ tiếp theo số nhà 101 phải là số nhà 103 nếu là số nhà bên lẻ hoặc nếu là bên chẵn thì cả hai đều phải là các số chẵn kề nhau. Quan hệ Topology cũng là một quan hệ không gian. Các quan hệ không gian có thể được mã hoá như các thông tin thuộc tính hoặc ứng dụng thông qua giá trị toạ độ của các thực thể.

32

• Mối quan hệ giữa dữ liệu không gian và phi không gian: thể hiện phương pháp chung để liên kết hai loại dữ liệu đó thông qua bộ xác định, lưu trữ đồng thời trong các thành phần không gian và phi không gian. Các bộ xác định có thể đơn giản là một số duy nhất liên tục, ngẫu nhiên hoặc các chỉ báo địa lý hay số liệu xác định vị trí lưu trữ chung. Bộ xác định cho một thực thể có thể chứa toạ độ phân bố của nó, số hiệu mảnh bản đồ, mô tả khu vực hoặc con trỏ đến vị trí lưu trữ của số liệu liên quan. Bộ xác định được lưu trữ cùng với các bản ghi toạ độ hoặc mô tả số khác của các hình ảnh không gian và cùng với các bản ghi số liệu thuộc tính liên quan.

33

CHƯƠNG 2: CÁC GIẢI PHÁP BẢN ĐỒ TRỰC TUYẾN

2.1 Một số giải pháp bản đồ trực tuyến

2.1.1 MapBender

Mapbender là kết quả của dự án thành lập tổ chức mã nguồn mở về không gian địa lý. Mapbender là một phần mềm để quản lý dữ liệu địa lý, phần mền cung cấp công nghệ web để quản lý dữ liệu địa lý được thực thi với ngôn ngữ PHP, JavaScript và cơ sở dữ liệu XML, nó cung cấp mẫu dữ liệu và giao diện để hiển thị, xa hơn nữa Mapbender cung cấp dịch vụ xác định thẩm quyền và quyền hạn, quản lý giao diện người, nhóm người sử dụng, và quản trị dịch vụ trong một dữ án về bản đồ trực tuyến.

Đặc trưng

• Phần mềm vào dịch vụ quản trị cho bản đồ của OGC kiến trúc web

• Thực thi những công nghệ web mới nhất sử dụng, PHP, JavaScritp và XML

• Cung cấp một dữ liệu mẫu và dạng hiển thị, tìm vị trí và truy vấn

• Thẩm quyền vào quyền hạn dịch vụ

• Chức năng bảo mật proxy.

• Quản lý giao diện người dùng, nhóm người hay dịch vụ quản trị.

2.1.2 MapGuide Open Source

Cũng như Mapbender, phần mềm mã nguồn mở MapGuide là một nền tảng dựa trên cơ sở web, chúng được sử dụng để phát triển và triển khai những ứng dụng trên trang web về bản đồ và những dịch vụ web về địa lý một cách nhanh chóng.

MapGuide bao gồm một cơ sở dữ liệu XML để quản lý nội dung và nó hỗ trợ phần lớn các dịnh dạng file địa lý, cơ sở dữ liệu về địa lý thông dụng.

MapGuide có thể được triển khai trên hệ điều hành Window hoặc Linux, hỗ trợ Web server Apache và IIS, có thể được nhúng vào các ngôn ngữ PHP,.NET, Java, và JavaScript API để phát triển các ứng dụng.

Đặc trưng

• Triển khai trên hệ điều hành Window và Linux, dùng máy chủ Apache và ISS, sử dụng trên các trình duyệt web khác nhau.

• Hiển thị bản đồ chất lượng.

34

• Xây dựng cơ sở dữ liệu được lưu trữ trên XML.

• Mềm dẻo để phát triển các ứng dụng với PHP,.NET, Java

• Mở rộng và bảo mật cho phía server

2.1.3 OpenLayers

OpenLayers là một thư viện JavaScript thuần túy cho việc thể hiện dữ liệu bản đồ trong phần lớn các trình duyệt web hiện đại, không phụ thuộc vào phía server, OpenLayers thực thi một JavaScript API để xây dựng một ứng dụng địa lý trên nền web một cách hiệu quả, tương tự với Google Maps. OpenLayers được phát triển bởi cộng đồng phần mềm mã nguồn mở, được viết bởi MetaCarta và sau đó được phát triển như một thư viện mã nguồn mở.

Và xa hơn nữa, OpenLayers thực thi các chuẩn công nghiệp về những phương thức để truy xuất dữ liệu địa lý. OpenLayers được viết trên ngôn ngữ JavaScript hướng đối tượng, sử dụng những thành phần từ file Prototype.js, những mã OpenLayers đã trải qua hàng trăm lần test đơn vị.

Như một FrameWork được dự đoán sẽ chia những công cụ bản đồ từ dữ liệu

bản đồ, vì tất cả những công cụ có thể điều kiển trên tất cả các nguồn dữ liệu

Đặc trưng

• Hỗ trợ cho hàng loạt các nguồn dữ liệu

• Hỗ trợ cho việc hiện thị những đặc tính địa lý, đánh dấu và hiện bản đồ.

• Dễ dàng xây dựng và cấu hình, được thiết kế để giúp đỡ xây dựng OpenLayers nhúng vào các ứng dụng khác.

2.2 Phần mềm mã nguồn mở MapServer

2.2.1 Giới thiệu về Mapserver

Hiện nay ở Việt Nam, MapServer được sử dụng khá phổ biến, MapServer có tính năng hỗ trợ nhiều ngôn ngữ lập trình như.Net, PHP, và có thể thao tác với nhiều loại cơ sở dữ liệu khác nhau, Nhiều công ty phần mềm ở Việt Nam đã lựa chọn MapServer làm công cụ phát triển. So với các giải pháp khác, giải pháp sử dụng phần mềm mã nguồn mở MapServer được sử dụng rỗng rãi hơn, và đặc biệt, có rất nhiều tài liệu nghiên cứu về giải pháp này, chính vì thế trong luận văn này tôi đi sâu vào nghiên cứu về giải pháp sử dụng phần mềm mã nguồn mở Mapserver.

35

MapServer là phần mềm mã nguồn mở cho phép tạo các bản đồ động và trình bày dữ liệu không gian trên Web. Đây là sản phẩm của trường đại học Minnesota (University of Minnesota - UMN) trong dự án kết hợp giữa NASA và bộ tài nguyên Minnesota.[12].

MapServer có thể hoạt động ở hai chế độ CGI và API. Ở chế độ CGI, các chức năng của MapServer trong môi trường WebServer là CGI MapScript. Đây là cách thức dễ dàng để khởi tạo và phát triển một ứng dụng. Ở chế độ API, có thể truy cập MapServer bằng PHP, Perl hoặc Python, chế độ này cho phép xây dựng các ứng dụng uyển chuyển, giàu các chức năng và có khả năng truy cập các cơ sở dữ liệu mở rộng khác.

MapServer hoạt động dựa vào các mẫu là chính. Trước khi thực thi yêu cầu của web, MapServer đọc tệp tin cấu hình (mapfile) mô tả các lớp và các thành phần khác của bản đồ. Nó sẽ vẽ và lưu lại bản đồ. Tiếp theo, nó sẽ đọc một hoặc nhiều tệp tin mẫu HTML mà nó nhận diện trong tệp tin cấu hình. Mỗi tệp tin mẫu sẽ chứa đựng các thẻ (tags) HTML và các chuỗi MapServer đặc biệt. Các chuỗi này sẽ được sử dụng, ví dụ chuỗi chỉ đường dẫn để lưu ảnh bản đồ do Mapserver tạo ra, hoặc chuỗi dùng để nhận diện các lớp nào sẽ được sắp xếp…MapServer thay thế các giá trị hiện tại vào các các chuỗi này và gửi luồng dữ liệu về cho WebServer để WebServer tiếp tục chuyển về cho trình duyệt. Khi có một yêu cầu mới phát sinh, MapServer sẽ nhận yêu cầu từ WebServer với các giá trị mới và chu trình cứ thế tiếp diễn.

36

Sơ đồ hoạt động của Mapserver

Hình 10: Sơ đồ hoạt động của Mapserver

2.2.2 Thành phần và mô hình xử lý của Mapserver a. Các thành phần của Mapserver Ứng dụng Mapserver sử dụng chuẩn giao tiếp CGI để giao tiếp với các thành

phần và với HTTP Server, nên đôi khi ta gọi ứng dùng Mapserver là ứng dụng Mapserver CGI. Do có mã nguồn mở nên cũng có những ứng dụng được biên dịch thể có thể dùng mapscript truy xuất trực tiếp các hàm API của MapServer.

Ứng dụng Mapserver CGI sử dụng các tài nguyên như sau:

- Một HTTP Server như Apache hoặc IIS-Internet Information Server(Có vài trò Web server).

- Phần mềm Mapserver(Vai trò WebGIS Application).

- File khởi tạo(initialization file) dùng để cấu hình và tùy biến các thông số của ứng dùng Mapserver.

- Một file text được gọi là mapfile, điều khiển các tương tác với dữ liệu. Như lấy dữ liệu gì, ở đâu, sắp xếp theo thứ tự như thế nào?..

- Một template file được dùng để định dạng kết quả được trình bày trên cửa sổ trình duyệt.

37

- Tập dữ liệu GIS.

i. Initialization file(file khởi tạo).

Mapserver “không có trạng thái ” nghĩa là mỗi khi http server nhận yêu cầu từ client thông qua URL thì http server sẽ gọi Mapserver và thực thi. Bằng cách sử dụng file khởi tạo ta định nghĩa các tham số cơ bản cần thiết để mapserver có thể được thực thi.

Thông qua chuỗi URL nhận được, sử dụng file khởi tạo này Mapserver biết được các tham số cơ bản này. Các tham số này còn được Mapserver gửi trả kèm trong kết quả cho phía client.

ii. Mapfile.

Mapfile định nghĩa dữ liệu sẽ được dùng như thế nào trong ứng dụng, cách hiển thị và các tham số cho truy vấn. Mapfile có thể xem như là một file cấu hình cho ứng dụng. Mapfile có thể bao gồm cả thông tin về vẽ bản đồ như thế nào, ghi chú trên bản đồ ra sao và vẽ kết quả của câu truy vấn. Mapfile có phần mở rộng là.map.

iii. Template file.

Template file điều kiển các hình bản đồ và các ghi chú trả về bởi Mapserver sẽ xuất hiện trên trang html. Cách làm của Mapserver như sau. Trước hết Mapserver đọc từ file template này và nếu gặp các từ khóa hoặc các từ mẫu thì nó sẽ nó sẽ thay thế các giá trị tương ứng lấy từ chuỗi kết quả trả về, cuối cùng file html này được gửi về cho trình duyệt. Bởi vì template file sẽ được dùng để tạo ra một trang html nên thông thường template file sẽ được lưu dưới dạng một trang html với phần mở rộng là.html.

iv. GIS Dataset.

Về dữ liệu Vector. Mapserver sử dụng shapefile làm định dạng dữ liệu mặc định. Bên cạnh đó hầu hết các định dạng dữ liệu GIS phổ biến trên thê giới hiện nay. Mapserver đều có thể hiểu và tương tác được. Như PostGIS, ArcGIS, MapInfo…và nhiều định dạng khác.

38

b. Quy trình xử lý

Hình 11: Quy trình xử lý của Mapserver

Sai

Đúng

Tạo đối tượng bản đồ

Tính phạm vi bản đồ

Ccu: Thu nhỏ

Ccu: Phóng to

Ccu: Dịch chuyển

Ccu: Xác định

Ccu: Vẽ lại

Ccu: Truy vấn

Mặc định: Truy vấn

Tạo mới đối tượng điểm từ điểm click

chuột Công cụ=Xác

đinh

Lấy chỉ số đối tượng

hình

Chọn công cụ

Tính phạm vi bản dồ mới

Vẽ bản đồ

Truy vấn CSDL

Đếm số bản ghi

=0

=1

Hiển thị bản ghi >1

Chọn 1 bản ghi

Hiển thị bản ghi

39

2.2.3 Tìm hiểu Mapfile

Mapfile được xem như file cấu hình cho ứng dụng dùng MapServer. Trong phần này ta sẽ tìm hiểu về những đối tượng trong Mapfile, thiết lập các giá trị cho chúng.

Trong Mapfile có nhiều đối tượng như MAP, PROJECTION, LAYER, CLASS…mỗi đối tượng định nghĩa cách thức tạo nên ảnh bản đồ hoặc đối tượng để MapServer truy xuất dữ liệu cho các câu truy vấn.

Ví dụ:

Hình 12: Mô hình đối tượng trong Mapfile

Trong hình vẽ minh họa trên, ảnh bản đồ (đối tượng MAP) là sự chồng xếp do bốn layer tạo thành, trong đó có một layer sử dụng Raster (ảnh đồ họa) còn lại ba layer được vẽ từ dữ liệu vectơ: polygon, line, Diễn giải…

Hình 13: Chồng xếp các Layer

Mỗi layer được vẽ, cần được chỉ ra nguồn dữ liệu (vectơ hay raster), hệ quy chiếu cho mỗi layer...loại đối tượng được vẽ (line, label, polygon…). Tất cả được định nghĩa trong từng đối tượng của mapfile.

40

a. Map Object(Đối tượng bản đồ)

Trong file MapFile thì MAP chính là đối tượng gốc,chứa trong nó các đối tượng khác.

• CONFIG [key] [value]

Tham số này được dùng để định nghĩa vị trí đặt file EPSG dùng cho thư viện PROJ.4 [X]). Giá trị [key] là PROJ_LIB và [value] là đường dẫn đến EPSG file. Tham số ONFIG được thiết lập để tránh việc phải thiết lập biến môi trường PROJ_LIB đòi hỏi quyền Admin.

Ví dụ:

CONFIG PROJ_LIB /tmp/proj/

• DEBUG [on|off]

Cho phép thực hiện debug trên các đối tượng map. Ngoài kết quả, MapServer sẽ ghi các kết quả debug vào logfile nếu như logfile được chỉ ra trong tham số LOG của đối tượng.

WEB.

• EXTENT [minx] [miny] [maxx] [maxy]

Không gian phạm vi của ảnh bản đồ được tạo ra. Nếu giá trị EXTENT không được gán thì MapServer cũng có thể nội suy ra một giá trị từ dữ liệu và vị trí trung tâm của ảnh bản đồ.

• FONTSET [filename]

Tập tin liệt kê danh sách các font được dùng. Định dạng rất đơn giản. Mỗi dòng chứa hai thành phần: một bí danh và một là đường dẫn đến font được phân cách bằng khoảng trắng. Alias đơn giản là tên mà ta dùng để chỉ font này trong mapfile. Các font sử dụng được với MapServer là các True Font Type.

Ví dụ:

Hình 14: Danh sách font sử dụng

41

• IMAGECOLOR [r] [g] [b]

Màu được dùng làm background cho ảnh bản đồ. Khi mà thuộc tính Transparency (trong suốt ) được chọn. thì màu này sẽ được đánh dấu như là màu trong suốt trong bảng màu. Khi đó thành phần nào của ảnh bản đồ sử dụng màu này để vẽ cũng trong suốt. Vì thế trong khi tạo ảnh bản đồ nếu chọn ảnh bản đồ trong suốt thì nên chọn màu Imagecolor là màu không được dùng để vẽ các thành phần khác trên bản đồ.

• IMAGETYPE [gif|png|jpeg|wbmp|gtiff|swf|userdefined]

Định dạng ảnh bản đồ được tạo ra.

• LAYER

Bắt đầu cho đối tượng LAYER.

• LEGEND

Bắt đầu cho đối tượng LEGEND.

• NAME [name]

Xác định tiền tố cho tên ảnh bản đồ, ảnh kích thước tỉ lệ, ghi chú được tạo ra từ Mapfile này.

Ví dụ:

NAME VN_

Các ảnh bản đồ tạo ra sẽ có tiền tố là VN_ như VN_11197048662768.png,

VN_11197048992800.png, VN_1119719302224.png…

• PROJECTION

Bắt đầu cho đối tượng PROJECTION.

• QUERYMAP

Bắt đầu khai báo đối tựong QUERYMAP.

• REFERENCE

Bắt đầu đối tượng REFERENCE.

• RESOLUTION [int]

42

Định độ phân giải cho ảnh kết quả, độ phân giải sẽ ảnh hưởng đến việc tính toán tỉ lệ. Mặc định là 72.

• SCALE [double]

Tính toán tỉ lệ của bản đồ.

• SHAPEPATH [filename]

Đường dẫn đến dữ liệu dạng vectơ.

• SIZE [x][y]

Kích thước theo đơn vị pixel của ảnh bản đồ.

• STATUS [on|off]

Trong mapfile ta có thể định nghĩa: ảnh bản đồ, thước tỉ lệ, ảnh tham chiếu (dạng ảnh nhỏ toàn cục). STATUS cho phép ta lựa chọn có kích hoạt ảnh bản đồ không? Nếu không được kích hoạt MapServer sẽ không tạo ra ảnh bản đồ khi sử dụng mapfile này.

• SYMBOLSET [filename]

File name chứa tập hợp các biểu tượng được dùng trên bản đồ. Trên bản đồ, các biểu tượng(symbol) được dùng để đánh dấu các đối tượng nhằm làm nổi bật và tăng thêm ngữ nghĩa.

• SYMBOL

Dấu hiệu bắt đầu của đối tượng SYMBOL.

• TEMPLATEPATTERN [regular expression] và DATAPATTERN [regular expression] Trong yêu cầu(request) được gởi lên từ trình duyệt gồm có 2 dạng tham số là DATA và TEMPLATE. Như đã biết các tham số đều là các từ khóa được MapServer quy định trước và thường khó nhớ. Tuy nhiên bằng cách sử dụng TEMPLATEPATTERN và DATAPATTERN ta có thể định nghĩa một tên khác cho các từ khóa này.

Ví dụ:

http://terrasip.gis.umn.edu/cgibin/

mapserv40?map=/data/projects/tutorial/example1-1.map&mode=map

Bằng cách sử dụng TEMPLATEPATTERN và DATAPATTERN với định nghĩa

43

anh_ban_do=map.

che_do_ban_do=mode

Ta có chuỗi URL dễ nhớ hơn

http://terrasip.gis.umn.edu/cgibin/

mapserv40?anh_ban_do=/data/projects/tutorial/example1-

1.map&che_do_ban_do=map

• TRANSPARENT [on|off] Thiết lập nền trong suốt cho ảnh bản đồ hay không?Mặc định là off.

• UNITS [feet|inches|kilometers|meters|miles|dd] Đơn vị của hệ tọa độ ảnh bản đồ. Được sử dụng cho thước tỉ lệ và các tính toán.

• WEB Dấu hiệu bắt đầu đối tượng WEB.

b. Layer Object(Đối tượng lớp) Đây chính là đối tượng được sử dụng nhiều nhất trong một MapFile, mỗi đối

tượng layer mô tả một layer được dùng để tạo ra ảnh bản đồ. Các layer được vẽ theo thứ tự xuất hiện trong MapFile (layer đầu tiên ở dưới cùng,layer cuối dùng ở trên).

Hình 15: Thứ tự được vẽ các Layer

Các layer được vẽ ra còn được tính thêm thứ tự ưu tiên. Raster độ ưu tiên thấp sẽ được vẽ trước và đặt ở phía dưới, tiếp đến là Vùng (Polygon), Đường (Line), Điểm (Point) và Chú thích (Label). Thứ tự này đảm bảo các layer khi xếp chồng thì không che khuất nhau.

• CLASS

44

Bắt đầu đối tượng CLASS. Trong các định dạng vectơ, mỗi Layer được vẽ lấy dữ liệu từ một bảng dữ liệu. Mỗi bảng dữ liệu có nhiều trường thuộc tính, mỗi thuộc tính được xem như một CLASS.

• CLASSITEM [attribute] Ứng với tên của trường thuộc tính trong bảng dữ liệu, được định nghĩa trong

MapFile. • CONNECTIONTYPE [local|sde|ogr|postgis|oraclespatial|wms]

Kiểu kết nối, mặc định là local. Kiểu kết nối OGR được dùng cho các loại dữ liệu khác ngoài dữ liệu mặc định là shapfile của ESRI. Thực chất OGR là một thư viện được viết bằng C++, hỗ trợ các kết nối nhiều loại dữ liệu như: MapInfo,Microstation DGN, ArcInfo…

• CONNECTION [string] Câu kết nối CSDL để nhận về dữ liệu đối với dữ liệu nằm trên các server hoặc

các hệ DBMS. Ví dụ:

Câu kết nối đến SDE bao gồm hostname, instance name, database name, username và password được phân cách bằng dấu phẩy.

Câu kết nối đến PostGIS có dạng “user=nobody password=***** dbname=dbname host=localhost port=5432”. Còn câu kết nối đến Oracle: user/pass[@db].

• DATA [filename]|[sde parameters][postgis table/column][oracle table/column]

Tên file đầy đủ của dữ liệu để xử lý. Đối với dữ liệu là shapefiles không cần chỉ rõ phần mở rộng. Đường dẫn có thể là tuyệt đối hoặc tương đối so với giá trị được chỉ ra bởi tham số SHAPEPATH của đối tượng MAP.

Nếu đây là một SDE layer, thì [sde parameters] cần bao gồm cả tên layer cũng như cột dữ liệu địa lý ví dụ: "mylayer,shape". Nếu đây là một PostGIS layer,thì tham số ở dạng “<columname> from <tablename>". Với "columnname" là tên của trường chứa đối tượng địa lý cần thể hiện và "tablename" là tên của bảng dữ liệu cần đọc. Đối với Oracle, sử dụng “shape FROM table” hoặc là "shape FROM (SELEC statement)" hoặc thậm chí có thể sử dụng các câu truy vấn phức tạp.

• DUMP [true|false]

Cho phép Mapserver trả dữ liệu về dưới định dạng GML.

• FILTER [string]

45

Tham số này cho phép định nghĩa điều kiện lọc dữ liệu. Đối với dữ liệu shapfiles hoặc các loại dữ liệu được kết nối thông qua OGR, điều kiện lọc dữ liệu đơn giản là một chuỗi điều kiện. Còn đối với các loại dữ liệu được trích xuất từ cơ sở dữ liệu thông qua chuỗi kết nối thì điều kiện lọc chính là chuỗi mệnh đề SQL WHERE. Ví dụ: FILTE "type='road' and size <2".

• FILTERITEM [attribute]

Trường dữ liệu dùng cho câu chuỗi lọc dữ liệu FILTER, chỉ dùng cho OGR và shapefiles.

• MAXSCALE [double] Tỉ lệ lớn nhất mà layer được vẽ

• METADATA

Được dùng với OGC WMS để định nghĩa nhiều thứ chẳng hạn như tiêu đề của layer, hoặc được dùng để tạo ra các template linh động hơn. Những dữ liệu được đặt trong Metadata sẽ được truy xuất thông qua các thẻ(tag) của tập tin template.

Ví dụ: METADATA title "Lớp địa hình " author "Trung tâm bản đồ Việt Nam" create date “1/2/1996” END • MINSCALE [double] Tỉ lệ nhỏ nhất mà layer được vẽ. • NAME [string]

Tên ngắn cho layer. Giới hạn trong khoảng 20 kí tự. Tên layer được dùng để liên kết giữa giao diện web và mapfile. Ảnh bản đồ là kết quả của nhiều layer chồng lắp lên nhau. Từ giao diện web có thể cho phép người dùng chọn lựa layer hiển thị. Khi đó tên layer được chọn (trong source code) và tên layer được định nghĩa trong mapfile phải là một để có thể hiển thị được. Tên layer nên là duy nhất, trừ khi có một layer khác cùng tên nhưng khác tỉ lệ. Có thể sử dụng GROUP để nhóm các layer lại với nhau.

• PROJECTION

Bắt đầu đối tượng PROJECTION

• STATUS [on|off|default]

46

Đặt trạng thái của layer. Nếu giá trị là default, layer luôn được vẽ ra. Thông thường layer phụ có trạng thái là off, và để vẽ layer này ra ta có thể thêm vào chuỗi URL tên layer này.

Ví dụ:

Chuỗi URL: …& layername=”dia hinh”& …

• TOLERANCEUNIT [double] và TOLERANCE [double]

Đối với trường hợp cần lấy thông tin đối tượng trên bản đồ, ta cần chỉ ra đối tượng được chọn (thường là bằng cách click chuột). Tuy nhiên không phải khi nào cũng có thể click chính xác vị trí của đối tượng trên bản đồ. TOLERANCE được dùng để quy định phạm vi đối tượng thuộc về với tâm là vị trí click chuột.TOLERANCEUNIT chỉ ra đơn vị của

TOLERANCE, mặc định TOLERANCEUNIT có giá trị là 3 pixel.

Ví dụ:

TOLERANCE 3

TOLERANCE 6

Khi người dùng click chuột lên bản đồ. MapServer xác định được vị trí click chuôt là (X,Y), sau đó tìm kiếm trong cơ sở dữ liệu xác định có đối tượng nào trong có vị trí trong hình tròn tâm (X,Y), bán kính là 6*3. Lưu ý là các giá trị đều được qui chuyển về cùng một hệ toạ độ.

• TRANSPARENCY [integer|alpha]

Đặt mức độ trong suốt của layer. Giá trị có thể là số nguyên (0 - 100) hoặc là giá trị hằng “ALPHA”. Mặc dù tham số này tên là mang nghĩa là trong suốt, nhưng giá trị nguyên mới thật sự là giá trị độ mờ (sáng). Giá trị 0 là trong suốt hoàn toàn. Giá trị hằng “ALPHA” được dùng khi ảnh bản đồ xuất ra dưới dạng RGB.

• TRANSFORM [true|false]

Báo cho MapServer chuyển từ hệ toạ độ địa lý sang hệ toạ độ đồ hoạ (ảnh đồ hoạ ). Mặc định là True. Đối với hệ toạ độ đồ họa, gốc toạ độ luôn là điểm góc trái trên của ảnh khác với các hệ toạ độ địa lý(mô tả thể giới thực).

• TYPE [point|line|polygon|circle|Diễn giải|raster|query]

47

Quy định các dữ liệu được vẽ ra. Không cần phải cùng loại với dữ liệu. Ví dụ: các đối tượng polygon có thể được vẽ như là một tập các điểm, ngược lại một điểm không thể vẽ như là tập các polygon.Việc chỉ ra TYPE là cần thiết bởi vì đôi khi một file dữ liệu vectơ (shapefile ) không chỉ chứa đơn thuần một loại đối tượng, mà có thể nhiều đối tượng. Giả sử có đối tượng Point và Polygon, chọn kiểu TYPE là polygon thì các đối tượng kiểu Point sẽ không được vẽ. Query chỉ ra rằng layer được truy vấn thông tin, không cần phải vẽ lại. Nếu giá trị là đường tròn(Circle) thì 2 điểm (thường là một line) sẽ xác định hình chữ nhật chứa đường tròn.

c. Query Map Object (Đối tượng truy vấn bản đồ) Định nghĩa cơ chế thực hiện câu lệnh truy vấn từ bản đồ.

• COLOR [r] [g] [b]

Khi xác định được đối tượng trên bản đồ, được chọn để truy vấn, MapServer sẽ vẽ lại đối tượng này với màu là Color.

• SIZE [x][y]

Phạm vi thực hiện truy vấn, ngoài phạm vi này các đối tượng sẽ không được chọn để truy vấn dữ liệu. Mặc định là kích thước của cả bản đồ, được quy định trong đối tượng Map.

• STATUS [on|off]

Giá trị off thì sau khi thực hiện truy vấn, ảnh bản đồ sẽ không được vẽ lại.

• STYLE [normal|hilite|selected]

Qui định cách thức vẽ lại các đối tượng được chọn cho truy vấn, các đối tượng khác vẫn được vẽ lại như bình thường. Normal: vẽ lại các đối tượng này bình thường theo các giá trị thiết lập cho layer. Hilite: vẽ lại các đối tượng được chọn theo màu COLOR. Selected: chỉ vẽ lại các đối tượng được chọn, các đối tượng khác không được vẽ.

d. Projection Object(Phép chiếu) Để thiết lập phép chiếu cần xác định một phép chiếu chung cho đối tượng Map,

và mỗi layer cũng cần chỉ ra một phép chiếu để vẽ các đối tượng trong layer đó. Đối tượng phép chiếu bao gồm tập các từ khoá của PROJ.4 (thư viện các phép chiếu được dùng hiện nay trên thế giới).

Ví dụ:

48

Phép chiếu UTM khu vực 15, NAD83:

PROJECTION

"proj=utm"

"ellps=GRS80"

"zone=15"

"north"

"no_defs"

END

Và phép chiếu địa lý

PROJECTION

"proj=latlong"

END

2.2.4 Xử lý kết nối các loại dữ liệu

Ảnh bản đồ được tạo từ nhiều layer, mỗi layer có thể được vẽ từ các loại dữ liệu khác nhau lấy từ nhiều nguồn khác nhau. MapServer sử dụng các thư viện riêng cho mỗi loại kết nối, hơn nữa với mã nguồn mở MapServer cho phép biên dịch thêm vào các thư viện xử lý dữ liệu.

Ở đây ta chỉ tìm hiểu vể kết nối dữ liệu Raster.

a Kết nối dữ liệu Raster

• Biên dịch thư viện GDAL trên môi trường Window

GDAL có thể được biên dịch trên môi trường Windows sử dụng MS V++6.x và MS Visual Studio.NET (C++) dưới dạng command line theo các bước sau đây:

i. Chạy file VCVAR32.BAT từ dòng lệnh command line.VCVAR32.BAT là tập tin khởi tạo môi trường Microsoft Studio, đi kèm với trình biên dịch.

ii. Khi môi trường cài đặt đã được thiết lập, chuyển đến thư mục chứa thư viện GDAL,và thực hiện dòng lệnh sau:

C:\GDAL> nmake /f makefile.vc

iii. Khi quá trình xây dựng hoàn thành,sử dụng makefile cào đặt các files cần thiết để cho thư viện GDAL. Cần thiết lập lại đường dẫn cho BINDIR,DATADIR

49

trong nmake.opt. Với BINDIR là thư mục chứa các file exe, dll tạo ra khi biên dịch với dòng lệnh dưới đây,DATADIR thư mục chứa các file cần thiết cho GDAL.

C:\GDAL> nmake /f makefile.vc install

• Khai báo layer dùng dữ liệu Raster

Để sử dụng ảnh raster như một layer, cần phải khai báo một đối tượng layer trong Mapfile và xác định các tham số kèm theo. Đơn giản nhất chỉ cần khai báo ví dụ như sau:

LAYER

NAME "Dia_hinh"

DATA "DiahinhVN.tif"

TYPE RASTER

STATUS ON

END

Trong đó DATA chỉ ra đường dẫn file ảnh raster,có thể là đường dẫn tuyêt đối hoặc là tương đối theo SHAPEPATH khai báo trong đối tượng Map. Ngoài các tham số như trên một đối tượng layer dạng raster còn có thể có thêm thông tin PROJECTION, METADATA, PROCESSING, MINSCALE, và MAXSCALE.

• Chọn lọc dữ liệu Raster

Dữ liệu Raster dưới dạng các pixel (điểm ảnh) do đó để lọc dữ liệu cần dựa vào giá trị của các pixel, hoặc dựa theo bảng màu giá trị của pixel theo bộ ba giá trị ([“red”], [“green”],[“blue”]). Khai báo chọn lọc dữ liệu raster như ví dụ sau:

Ví dụ:

LAYER

NAME "Quan huyen"

STATUS ON

DATA "Districts.shp"

TYPE POLYGON

CLASSITEM "DISTRICTNA"

LABELITEM "DISTRICTNA"

MAXSCALE 2000000

50

#MINSCALE 49000

TRANSPARENCY 30

CLASS

EXPRESSION /Ba Dinh/

STYLE

COLOR 200 255 255

OUTLINECOLOR 110 110 110

END

LABEL

ANGLE AUTO

COLOR 115 0 0

FONT "vntimei"

TYPE truetype

SIZE 12

POSITION Cc

PARTIALS false

BUFFER 30

END

END

CLASS

EXPRESSION /Hoan Kiem/

STYLE

COLOR 252 210 241

OUTLINECOLOR 110 110 110

END

LABEL

ANGLE AUTO

COLOR 115 0 0

FONT "vntimei"

#OUTLINECOLOR 255 255 255

51

TYPE truetype

SIZE 12

POSITION Cc

PARTIALS false

BUFFER 30

END

END

Việc chọn lọc dữ liệu thường được tiến hành như sau: đọc và phân loại trước các giá trị pixel vào một bảng gọi là bảng tìm kiếm, khi đó các pixel có giá trị lân cận được xếp gần nhau. Cuối cùng là khi vẽ sẽ đọc được từng nhóm pixel từ bảng tìm kiếm dựa vào các chọn lọc dữ liệu trong định nghĩa các class của đối tượng layer. Cách làm việc như thế này nhanh hơn so với việc đọc và so sánh giá trị từng pixel một của ảnh raster thường lên đến hàng triệu pixel.

Tuy nhiên việc lọc dữ liệu pixel chỉ có thể tiến hành tốt trên các loại raster dạng 8bit (giá trị pixel thuộc 0-255) còn đối với các ảnh raster dạng khác như 16 bit (0- 65535) cần định nghĩa thêm giá trị cho tham số PROCESSING để quy định phạm vi chọn lọc các pixel.

52

CHƯƠNG 3: XÂY DỰNG WEBSITE BẢN ĐỒ TRỰC TUYẾN VỀ CÁC ĐỊA ĐIỂM DU LỊCH TRÊN

THÀNH PHỐ HÀ NỘI

3.1 Phân tích

3.1.1 Hiện trạng và nhu cầu của thông tin

Qua quá trình khảo sát các trang web cung cấp thông tin về du lịch, đa số các thông tin về du lịch mà người đi du lịch cần biết là các thông tin về vị trí địa lý của các địa điểm du lịch, các danh lam thắng cảnh, làng quê, làng nghề, điều kiện tự nhiên xã hội, lịch sử văn hóa, các lễ hội, các địa điểm mua sắm, vui chơi, giải trí, nhà hàng, khách sạn, bệnh viện, bến xe, bảo tàng, thư viện, các công ty lữ hành, các dịch vụ du lịch do các công ty lữ hành cung cấp. Ngoài ra, còn có các thông tin về thời tiết, tỷ giá hối đoái, chương trình truyền hình địa phương …

Việc tìm kiếm thông tin về một đối tượng thường dựa vào tiêu chí tên đối tượng là chính, ngoài ra còn dựa vào địa chỉ, số điện thoại...

Ở nước ta, thành phố Hà Nội là một thành phố phát triển, là thủ đô trung tâm của cả nước, Hà nội cũng là một thành phố có truyền thống lịch sử văn hóa lâu đời, ở đây có rất nhiều các địa điểm du lịch như bảo tàng, di tích văn hóa, ẩm thực, hàng năm Hà Nội đón hàng triệu lượt khách du lịch đến thăm quan, vì thế nhu cầu thông tin về các địa điểm du lịch ở Hà Nội luôn được khách du lịch quan tâm. Từ ý tưởng đó trong đề tài này, tôi quyết định xây dựng ứng dụng bản đồ trực tuyến nhằm phục phụ nhu cầu du lịch thành phố Hà Nội.

3.1.2 Phân tích hệ thống và định hướng công nghệ

Từ nhiều năm nay, dữ liệu GIS đã được các cơ quan thu thập, lưu trữ và xây dựng thành các hệ thống GIS. Trong tương lai, dữ liệu sẽ được chia sẻ để dùng chung dưới dạng các dịch vụ cung cấp bản đồ và dữ liệu. Người dùng có thể kết nối đến các máy chủ cung cấp các dịch vụ bản đồ và dữ liệu này để tích hợp thành bản đồ mong muốn. Vì thế, việc xây dựng ứng dụng công nghệ GIS trên nền Web phục vụ du lịch sẽ nhắm vào việc tích hợp các nguồn dữ liệu này. Hệ thống trong phạm vi đề tài sẽ tiến hành giả lập các máy chủ cung cấp dữ liệu dưới định dạng thống nhất, đồng thời xây dựng ứng dụng truy cập, tích hợp dữ liệu từ các máy chủ này để tạo bản đồ du lịch

53

cung cấp cho người dùng. Đồng thời, ngôn ngữ ASP.NET được sử dụng để phát triển các công cụ và với cơ sở dữ liệu Microsoft SQL 2000 được dùng để lưu dữ liệu thuộc tính, Shape file dùng để lưu trữ các thuộc tính không gian của đối tượng.

3.2 Thiết kế

3.2.1 Thiết kế kiến trúc

Hệ thống được thiết kế với 3 tầng khác nhau như sau:

Hình 16: Mô hình 3 tầng trong thiết kế kiến trúc

Công nghệ GIS trên nền web phục vụ du lịch nhắm đến người sử dụng là những người truy cập web bình thường, không đòi hỏi có kiến thức nhiều về lĩnh vực GIS. Vì thế, hệ thống được xây dựng dựa trên kiến trúc Client – Server.

Tầng client: được xây dựng bằng Javascirpt, HTML và DHTML, thực hiện nhiệm vụ xử l ý các thao tác, lưu trữ thông tin ứng với từng người sử dụng, đảm nhận vai trò trung gian, truyền nhận dữ liệu, giữa người sử dụng với web server.

Tầng ứng dụng: chia làm 2 thành phần: WebForm và MapServer. Cả 2 đều được phát triển dựa trên công nghệ.NET (ASP.NET và VB.NET)

- WebForm: đảm nhận trách nhiệm phát sinh giao diện và các đoạn script để tương tác với client, đóng vai trò trung gian giữa client và MapServer, nó sẽ gởi yêu cầu của client tới MapServer và nhận dữ liệu trả về để gởi ngược cho client.

54

- MapServer: xử lý các thao tác về phát sinh bản đồ, phóng to, thu nhỏ,dịch chuyển, tra cứu thông tin trên bản đồ. Nó là thành phần trung gian giữa WebForm và tầng cơ sở dữ liệu, tiếp nhận yêu cầu từ WebForm rồi gọi xuống tầng cơ sở dữ liệu để rút trích thông tin sau đó tiến hành xử lý rồi trả kết quả về cho WebForm.

Tầng cơ sở dữ liệu: đóng vai trò trung gian giữa tầng ứng dụng với cơ sở dữ liệu.

3.2.2 Thiết kế cơ sở dữ liệu a. Phân tích Trong một cơ sở dữ liệu GIS thường bao gồm các lớp dữ liệu. Trong mỗi lớp

dữ liệu bao gồm dữ liệu không gian và thuộc tính. Cơ sở dữ liệu phục vụ du lịch sẽ có các lớp không gian và thuần thuộc tính sau:

Các thực thể và các thuộc tính liên quan cần lưu trữ

(1) Quận/ huyện: Lưu trữ các thuộc tính tên quận/ huyện, dạng hình học của quận/ huyện.

(2) Phường/ xã: Lưu trữ các thuộc tính tên phường/ xã, dạng hình học của phường/xã.

(3) Đường giao thông: Lưu trữ các thuộc tính tên đường giao thông.

(4) Danh lam thắng cảnh: Lưu trữ các thuộc tính tên danh lam thắng cảnh, địa chỉ, điện thoại, fax, email, website, mô tả vắn tắt, mô tả chi tiết, vị trí, hình ảnh, trích từ nguồn.

(5) Di tích: Lưu trữ các thuộc tính tên di tích, địa chỉ, điện thoại, fax, email, website, mô tả vắn tắt, mô tả chi tiết, hình ảnh, trích từ nguồn.

(6) Nhà hàng: Lưu trữ các thuộc tính tên nhà hàng, địa chỉ, điện thoại, fax, email, website, mô tả vắn tắt, mô tả chi tiết, vị trí, hình ảnh, ngày cập nhật, trích từ nguồn.

(7) Khách sạn: Lưu trữ các thuộc tính tên khách sạn, địa chỉ, điện thoại, fax, email, website, mô tả vắn tắt, mô tả chi tiết, vị trí, hình ảnh, ngày cập nhật, trích từ nguồn.

(8) Bảo tàng: Lưu trữ các thuộc tính tên bảo tàng, địa chỉ, điện thoại, fax, email, website, mô tả vắn tắt, mô tả chi tiết, loại, hình ảnh, ngày cập nhật, trích từ nguồn.

(9) Công ty lữ hành: Lưu trữ các thuộc tính tên công ty lữ hành, địa chỉ, điện thoại, fax, email, website, mô tả vắn tắt, mô tả chi tiết, hình ảnh, trích từ nguồn.

55

Quan hệ giữa các thực thể

Hình 17: Quan hệ giữa thực thể Phường/Xã và Quận/Huyện

Mô tả: Một quận/ huyện có nhiều phường/xã, một phường/xã thuộc một quận/huyện. Dạng hình học của phường/xã được biểu diễn dạng vùng (polygon). Dạng hình học của quận/huyện được biểu diễn dạng vùng (polygon). Mối quan hệ giữa lớp phường/xã và lớp quận/huyện là mối quan hệ 1- * (một - nhiều).

Hình 18: Quan hệ giữa thực thể Đường giao thông và Bảo tàng

Mô tả: Một đường giao thông có nhiều bảo tàng, một bảo tàng nằm trên một đường giao thông. Dạng hình học của đường giao thông được biểu diễn dạng đường(pointline). Dạng hình học của bảo tàng được biểu diễn dạng điểm (point). Mối quan hệ giữa lớp bảo tàng và lớp đường giao thông là mối quan hệ 1- * ( một-nhiều).

Hình 19: Quan hệ giữa thực thể Đường giao thông và Khách sạn

Mô tả: Một đường giao thông có nhiều khách sạn, một khách sạn nằm trên một đường giao thông. Mối quan hệ giữa lớp khách sạn và lớp đường giao thông là mối quan hệ 1- * ( một-nhiều).

Hình 20: Quan hệ giữa thực thể Đường giao thông và Nhà hàng

Mô tả: Một đường giao thông có nhiều nhà hàng, một nhà hàng nằm trên một đường giao thông. Mối quan hệ giữa lớp nhà hàng và lớp đường giao thông là mối quan hệ 1- * ( một-nhiều).

PHUONGXA QUANHUYEN 1*

DUONGGIAOTHONG

BAOTANG 1*

DUONGGIAOTHONG

KHACHSAN 1*

DUONGGIAOTHONG

NHAHANG 1*

56

Hình 21: Quan hệ giữa thực thể Đường giao thông và Di tích danh lam

Mô tả: Một đường giao thông có nhiều di tích danh lam, một di tích danh lam nằm trên một đường giao thông. Mối quan hệ giữa lớp di tích danh lam và lớp đường giao thông là mối quan hệ 1- * ( một-nhiều).

Hình 22: Quan hệ giữa thực thể Đường giao thông và Công ty lữ hành Mô tả: Một đường giao thông có nhiều công ty lữ hành, một công ty lữ hành

nằm trên một đường giao thông. Mối quan hệ giữa lớp công ty lữ hành và lớp đường giao thông là mối quan hệ 1- * ( một-nhiều).

Hình 23: Quan hệ giữa thực thể Quận/Huyện và Bảo tàng

Mô tả: Một quận/huyện có nhiều bảo tàng, một bảo tàng nằm trên một quận/huyện. Mối quan hệ giữa lớp bảo tàng và lớp quận/huyện là mối quan hệ 1- * ( một-nhiều).

Hình 24: Quan hệ giữa thực thể Quận/Huyện và Khách sạn

Mô tả: Một quận/huyện có nhiều khách sạn, một khách sạn nằm trên một quận/huyện. Mối quan hệ giữa lớp khách sạn và lớp quận/huyện là mối quan hệ 1- * ( một-nhiều).

Hình 25: Quan hệ giữa thực thể Quận/Huyện và Nhà hàng

DUONGGIAOTHONG

DITICHDANHLAM 1*

QUANHUYEN BAOTANG 1*

QUANHUYEN NHAHANG 1*

QUANHUYEN KHACHSAN 1*

DUONGGIAOTHONG

CONGTYLUHANH 1*

57

Mô tả: Một quận/huyện có nhiều nhà hàng, một nhà hàng nằm trên một quận/huyện. Mối quan hệ giữa lớp nhà hàng và lớp quận/huyện là mối quan hệ 1- * ( một-nhiều).

Hình 26: Quan hệ giữa thực thể Quận/Huyện và Công ty lữ hành

Mô tả: Một quận/huyện có nhiều công ty lữ hành, một công ty lữ hành nằm trên một quận/huyện. Mối quan hệ giữa lớp công ty lữ hành và lớp quận/huyện là mối quan hệ 1- * ( một-nhiều).

.

Hình 27: Quan hệ giữa thực thể Phường/Xã và Bảo tàng

Mô tả: Một phường/xã có nhiều bảo tàng, một bảo tàng trên một phường/xã. Mối quan hệ giữa lớp bảo tàng và lớp phường/xã là mối quan hệ 1- * ( một-nhiều).

.

Hình 28: Quan hệ giữa thực thể Phường/Xã và Khách sạn

Mô tả: Một phường/xã có nhiều khách sạn, một khách sạn trên một phường/xã. Mối quan hệ giữa lớp khách sạn và lớp phường/xã là mối quan hệ 1- * ( một-nhiều).

.

Hình 29: Quan hệ giữa thực thể Phường/Xã và Nhà hàng

Mô tả: Một phường/xã có nhiều nhà hàng, một nhà hàng trên một phường/xã. Mối quan hệ giữa lớp nhà hàng và lớp phường/xã là mối quan hệ 1- * ( một-nhiều).

.

Hình 30: Quan hệ giữa thực thể Phường/Xã và Di tích danh lam

PHUONGXA DITICHDANHLAM 1*

QUANHUYEN CONGTYLUHANH 1*

PHUONGXA KHACHSAN 1*

PHUONGXA NHAHANG 1*

PHUONGXA BAOTANG 1*

58

Mô tả: Một phường/xã có nhiều dic tích danh lam, một di tích danh lam trên một phường/xã. Mối quan hệ giữa lớp di tích danh lam và lớp phường/xã là mối quan hệ 1- * ( một-nhiều).

Hình 31: Quan hệ giữa thực thể Phường/Xã và Công ty lữ hành

Mô tả: Một phường/xã có nhiều công ty lữ hành, một công ty lữ hành trên một phường/xã. Mối quan hệ giữa lớp công ty lữ hành và lớp phường/xã là mối quan hệ 1- * ( một-nhiều).

b. Thiết kế Cơ sở dữ liệu được thiết kế theo kiến trúc đối ngẫu: phần không gian được cài

đặt trong các lớp dữ liệu ở định dạng Shapefile, phần thuộc tính được cài đặt trong cơ sở dữ liệu SQL 2000. Các thực thể trong hai phần quan hệ với nhau thông qua mã nhận dạng (ID).

Đặc điểm không gian của các lớp:

(1) QUAN (Quận): Polygon.

(2) PHUONG (Phường): Polygon.

(3) DUONGGIAOTHONG (Đường giao thông): PolyLine.

(4) BAOTANG (Bảo tàng): Point.

(5) CONGTYLUHANH (Công ty lữ hành): Point.

(6) DANHLAM (Danh lam thắng cảnh): Point.

(8) DITICH (Di tích): Point.

(9) KHACHSAN (Khách sạn): Point.

(10) NHAHANG (Nhà hàng): Point.

Lớp dữ liệu không gian.

Phần không gian được cài đặt trong các lớp dữ liệu dưới dạng Shape file. File cấu hình HaNoi.map là file chứa các thông tin quy định về cách hiển thị các đối tượng trên bản đồ như mầu sắc, đường nét, hình thể...

Lớp dữ liệu không gian chứa các thực thể là điểm du lịch bao gồm: Shape (lưu dạng hình học của thực thể dạng Point ), ID (lưu mã nhận dạng thực thể), Loai(Loại

PHUONGXA CONGTYLUHANH 1*

59

thực thể tương ứng như bảo tàng, khác sạn…) TEN (lưu trữ tên đối tượng), tọa độ X, tọa độ Y.

Bảng 2: Bảng lớp dữ liệu không gian Tên

thuộc tính

Diễn giải Loại giá trị

Kiểu giá trị

Miền giá trị

Chiều dài Ghi chú

Shape Point B Blog

Định dạng

riêng của

ShapeFile

ID Mã nhận

dạng B

Numbe

r >0 4

Loại Mã loại B Numbe

r >0 4

TEN Tên thực

thể B Text 100

X Tọa độ X K Numbe

r >0 20

Y Tọa độ Y K Numbe

r >0 20

… … … … … … …

Lớp dữ liệu phi không gian.

Ghi chú: B: Bắt buộc ; K: Không bắt buộc.

(1) QUANTRI (Quản trị).

Bảng 3: Chi tiết bảng Quản trị

Tên thuộc tính Diễn giải Loại giá trị Kiểu giá trị

Miền giá trị

Chiều dài

Quantri_id* Mã quản trị B Int >0 4 Tendangnhap Tên đăng nhập B Text 20 Matkhau Mật khẩu K Text 20

60

(2) BAOTANG(Bảo tàng).

Bảng 4: Chi tiết bảng bảo tàng Tên thuộc

tính Diễn giải Loại giá trị Kiểu giá trị Miền giá

trị Chiều

dài Baotang_id* Mã nhận dạng B Int >0 4 Ten Tên bảo tàng B Text 100 Sonha Số nhà K Text 30 DuongGiaoThong_id Mã đường K Text 10

Phuong_id Mã phường K Text 7 Quan_id Mã quận K Text 5 Dienthoai Điện thoại K Text 14 Fax K Text 14 Email K Text 50 Soluoc Mô tả vắn tắt K Text 300 ChiTiet Mô tả chi tiết K Text Hinhanh Dẫn hình ảnh K Text 100 Trichtunguon Trích từ nguồn K Text 100

(3)CONGTYLUHANH (Công ty lữ hành).

Bảng 5: Chi tiết bảng Công ty lữ hành Tên thuộc tính Diễn giải Loại giá

trị Kiểu giá

trị Miền giá

trị Chiều

dài Congtyluhanh_id* Mã nhận dạng B Int >0 4 Ten Tên công ty B Text 100 Sonha Số nhà K Text 30 DuongGiaoThong_id Mã đường K Text 10 Phuong_id Mã phường K Text 7 Quan_id Mã quận K Text 5 Dienthoai Điện thoại K Text 14 Fax Fax K Text 14 Email Email K Text 50 Soluoc Mô tả vắn tắt K Text 300 ChiTiet Mô tả chi tiết K Text Hinhanh Đường dẫn

hình ảnh K Text 100

Trichtunguon Trích từ nguồn K Text 100

61

(4)DANHLAM (Danh lam).

Bảng 6: Chi tiết bảng Danh lam

Tên thuộc tính Diễn giải Loại giá trị Kiểu giá trị Miền giá

trị Chiều

dài Danhlam_id* Mã nhận dạng B Int >0 4 Ten Tên danh lam B Text 100 Sonha Số nhà K Text 30 Duong GiaoThong_id Mã đường K Text 10

Phuong_id Mã phường K Text 7 Quan_id Mã quận K Text 5 Dienthoai Điện thoại K Text 14 Fax K Text 14 Email K Text 50 Soluoc Mô tả vắn tắt K Text 300 ChiTiet Mô tả chi tiết K Text

Hinhanh Đường dẫn hình ảnh K Text 100

Trichtunguon Trích từ nguồn K Text 100 (5)KHACHSAN (Khách sạn).

Bảng 7: Chi tiết bảng khách sạn

Tên thuộc tính Diễn giải Loại giá trị Kiểu giá trị Miền giá

trị Chiều

dài Khachsan_id* Mã nhận dạng B Int >0 4 Ten Tên khách sạn B Text 100 Sonha Số nhà K Text 30 DuongGiaoThong_id Mã đường K Text 10 Phuong_id Mã phường K Text 7 Quan_id Mã quận K Text 5 Dienthoai Điện thoại K Text 14 Fax K Text 14 Email K Text 50 Soluoc Mô tả vắn tắt K Text 300 ChiTiet Mô tả chi tiết K Text

Hinhanh Đường dẫn hình ảnh K Text 100

Trichtunguon Trích từ nguồn K Text 100

62

(6)NHAHANG (Nhà hàng).

Bảng 8: Chi tiết bảng Nhà hàng

Tên thuộc tính Diễn giải Loại giá trị

Kiểu giá trị

Miền giá trị

Chiều dài

Nhahang_id* Mã nhận dạng B Int >0 4 Ten Tên nhà hàng B Text 100 Sonha Số nhà K Text 30 DuongGiaoThong_id Mã đường K Text 10 Phuong_id Mã phường K Text 7 Quan_id Mã quận K Text 5 Dienthoai Điện thoại K Text 14 Fax K Text 14 Email K Text 50 Soluoc Mô tả vắn tắt K Text 300 ChiTiet Mô tả chi tiết K Text

Hinhanh Đường dẫn hình ảnh K Text 100

Trichtunguon Trích từ nguồn K Text 100

(7)QUAN (Quận).

Bảng 9: Chi tiết bảng Quận

Tên thuộc tính Diễn giải Loại giá trị

Kiểu giá trị

Miền giá trị

Chiều dài

Quan_id* Mã nhận dạng B Text 5 Ten Tên quận B Text 50 Dientich Diện tích K Float 10.2

(8)PHUONG (Phường).

Bảng 10: Chi tiết bảng Phường

Tên thuộc tính Diễn giải Loại giá trị Kiểu giá trị Miền giá

trị Chiều

dài Phuong_id* Mã nhận dạng B Text 7 Quan_id Mã quận B Text 5 Ten Tên phường B Text 100 Dientich Diện tích K Float 10.2

63

(9)DUONGGIAOTHONG (Đường giao thông).

Bảng 11: Chi tiết bảng Đường giao thông

Tên thuộc tính Diễn giải Loại giá trị Kiểu giá trị Miền giá

trị Chiều

dài

Duonggiaothong_id* Mã nhận dạng B Int >0 10

Ten Tên đường B Text 100 Chieudai Chiều dài K Float 10.2 Chieurong Chiều rộng K Float 10.2

Hình 32: Lược đồ mô tả các thực thể và mối quan hệ giữa các thực thể

Lược đồ trên mô tả các thực thể và các quan hệ giữa các thực thể đã được phân

tích ở phần trên.

64

3.2.3 Thiết kế chức năng a. Sơ đồ các chức năng chính

Hình 33: Sơ đồ các chức năng b. Mô tả chức năng

Quản trị

(1.1) Đăng nhập: Chức năng này dùng để đăng nhập vào hệ thống. Chỉ có người quản trị được cấp quyền mới được cho đăng nhập và xử lý dữ liệu. Để đăng nhập, người đăng nhập cần phải nhập tên đăng nhập và mật khẩu.

(1.2) Quản lý và cập nhật dữ liệu: Sau khi đăng nhập, người quản trị sẽ sử dụng chức năng này để cập nhật dữ liệu của website. Chức năng này cho phép xem danh sách các đối tượng trong một lớp, cho phép thêm, xóa, sửa và cập nhật các đối tượng.

Người dùng

(2.1) Các công cụ tương tác với bản đồ:

(2.1.1) Phóng to: Phóng to bản đồ theo phạm vi hình chữ nhật do người dùng vẽ trên bản đồ.

(1) Quản trị

(1.1) Đăng nhập

(1.2) Quản lý và cập nhật dữ

liệu

(2) Người dùng

(2.1) Tương tác

bản dồ (2.1.1) Phóng to

(2.1.2) Thu nhỏ

(2.1.3) Xem toàn phần

(2.1.4) Dịch chuyển theo hướng

(2.1.5) Xem thông tin

(2.2.1) Tìm kiếm theo tiêu chí

nhập vào

(2.2.2) Hiển thị kết quả

tìm kiếm

(2.2) Tìm kiếm

65

(2.1.2) Thu nhỏ: Thu nhỏ bản đồ theo phạm vi hình chữ nhật do người dùng vẽ trên bản đồ.

(2.1.3) Xem toàn phần: Vẽ mới bản đồ có phạm vi bao phủ các lớp.

(2.1.4) Dịch chuyển theo hướng: Dịch chuyển bản đồ theo các hướng (đông, tây, nam, bắc, đông bắc, tây bắc, đông nam, tây nam).

(2.1.5) Xem thông tin: Xem thông tin chi tiết của một thực thể do người dùng chọn trên bản đồ. Để xem thông tin, người dùng cần phải chọn lớp và chọn đối tượng cần xem.

(2.2) Thao tác hiển thị thông tin các thực thể

(2.2.1) Xem thông tin: Xem thông tin mô tả của mỗi loại thưc thể, người dùng chọn mỗi lớp thực thể bên danh sách bên trái, danh sách về các đối tượng thuộc một loại thực thể sẽ được hiện lên với những thông tin cơ bản về mỗi đối tường đó.

(2.2.2) Xem thông tin chi tiết: Với mỗi thông tin chung đó người dùng chọn để xem chi tiết thông tin về đối tượng đó.

(2.2) Tìm kiếm:

(2.2.1) Tìm kiếm theo tiêu chí nhập vào: Cho phép người dùng chọn lớp thực thể và nhập các tiêu chí cần tìm để tìm các đối tượng. Kết quả tìm sẽ trả về danh sách được mô tả sơ lược. Đồng thời cho phép người dùng chọn xem chi tiết từng đối tượng trong danh sách kết quả.

66

3.2.4 Thiết kế giao diện a. Sơ đồ quản trị

Hình 34: Sơ đồ quản trị

Sơ đồ web dành cho người quản trị bao gồm các trang: đăng nhập, quản trị các chuyên đề (thêm, xóa, sửa từng chuyên đề).

Thêm Dữ liệu

Thêm dữ liệu căn cứ vào tọa độ (X, Y) mà người quản trị click trên bản đồ, tương ứng với tọa độ (X,Y) đó người dùng sẽ bổ xung thông tin chi tiết cho đối tượng đó.

Xóa dữ liệu, Cập nhật dữ liệu

Trên bản đồ có chứa các điểm đó là các đối tượng người dùng có thể xóa hoặc cập nhật thông tin cho đối tượng này bằng các click chuột vào đối tường đó. Thông tin của đối tượng đó được hiện lên cho quản trị viên thao tác, có thể xóa đối tượng đó đi hay cập nhật thông tin thuộc tính cho đối tượng đó.

67

b. Sơ đồ giao diện người dùng Sơ đồ Web dành cho người dùng

Hình 35: Sơ đồ web dành cho người dùng

Trang chủ

Trang chủ Bản đồ Giới thiệu Hướng dẫn

Bảo tàng Khách sạn Di tích

Chi tiết Bảo tàng

Chi tiết Khách san

Chi tiết di tích

Danh lam

Chi tiết danh lam

Nhà hàng

Chi tiết nhà hàng

Công ty lữ hành

68

(1) Trang chủ:

HEADER(LOGO)

Giới thiệu | Sơ đồ | Hướng dẫn

Trang chủ

Bản đồ

Bảo tàng

Khách sạn

………

Giới thiệu

Liên kết web

Bottom

Tìm kiếm

Hình 36: Giao diện trang chủ

(2) Bảo tàng

HEADER(LOGO)

Trang chủ | Sơ đồ | Hướng dẫn

Bảng tàng

Tìm kiếm

Tiêu đề Chuyên đề

Hình ảnh Nội dung sơ lược ---Tên---

Chi tiết

Tiêu đề

Giới thiệu

Bản đồ

Bảo tang

Khách sạn

………

Hình ảnh Nội dung sơ lược

Liên kết web Chi tiết

Trang 1 2 3

Tìm

Bottom

Hình 37: Giao diện Danh sách bảo tàng

69

(3) Chi tiết bảo tàng

HEADER(LOGO)

Trang chủ | Sơ đồ | Hướng dẫn

Bảng tang

Tìm kiếm

Tiêu đề Chuyên đề

Hình ảnh Nội dung chi tiết ---Tên---

Chi tiết

Giới thiệu

Bản đồ

Bảo tang

Khách sạn

………

Liên kết web

Tìm

Bottom

Hình 38: Giao diện chi tiết bảng tàng (4) Bản đồ

HEADER(LOGO)

Giới thiệu

Bản đồ

Bảo tang

Khách sạn

………

Liên kết web

Bản đồ

Chú giải

Bottom

Hình 39: Giao diện bản đồ

Các tin khác

Tin 1 Tin 2 Tin 3

Công cụ

70

Các giao diện cho các chuyên đề khác như khách sạn, nhà hàng… cũng tương tự như giao diện về chuyên đề bảo tàng.

3.3 Xây dựng

3.3.1 Xây dựng máy chủ cung cấp dữ liệu

Hệ thống giả lập một máy chủ cung cấp dữ liệu, hệ quản trị cơ sở dữ liệu được dùng là Hệ quản trị cơ sở dữ liệu Microsoft SQL 2000, server sẽ cung cấp dữ liệu về quận, huyện, đường giao thông, bảo tàng, khách sạn....

Vị trí cụ thể của đối tượng sẽ được lưu vào một Mapfile với các thuộc tính, loại đối tượng, các thông tin về đối tượng, tọa độ hiển thị trên bản đồ, một Mapfile chứa các Layer là các Polygon và PointLine tương ứng với Quận(Huyện), Phường(Xã), Đường giao thông của Hà Nội.

3.4 Cài đặt và thử nghiệm

Chương trình được cài đặt trên 2 máy trong mạng LAN. Hai máy được cài đặt các trang ASP.NET để đảm nhiệm chức năng tích hơp dữ liệu và phân tích xử lý yêu cầu(Application Server). Máy chủ Server được cài Hệ quản trị CSDL Microsoft SQL 2000, Mapfile chứa các thông tin về các lớp được lưu trữ trên máy chủ.

71

Kết quả thử nghiệm như sau:

Bảng 12: Kết quả kiểm thử

STT Tính năng Đánh giá

1 Hiển thị trang web bản đồ. Hiển thị chậm trong lần đầu tiên,

các lần sau tương đối nhanh.

2 Các thao tác phóng to, thu nhỏ,

xem toàn phần.

Thực hiện nhanh.

3 Các thao tác dịch chuyển theo

các hướng.

Thực hiện nhanh. Tuy nhiên, màn

hình hơi bị giật khi hiển thị.

4 Tìm kiếm thông tin thuộc tính. Thực hiện nhanh.

5 Xem đối tượng trên bản đồ. Thực hiện tốt. Tuy nhiên, cần phóng

to đến vị trí đối tượng khi người

dùng kích chuột để chọn.

72

KẾT LUẬN

1. Kết quả đạt được

Đề tài đã thực hiện được các nội dung sau:

- Nghiên cứu về công nghệ GIS trên nền web: cách thức hoạt động, phân loại và các chiến lược phát triển.

- Tìm hiểu và ứng dụng các phần mềm mã nguồn mở vào việc xây dựng GIS trên nền web: WebServer, MapServer, hệ quản trị cơ sở dữ liệu.

- Thiết kế và xây dựng bản đồ trực tuyến phục vụ nhu cầu du lịch Xây dựng máy chủ cung cấp dịch vụ web. Website hiển thị trực quan, cung cấp thông tin và bản đồ động cùng với các công cụ khai thác bản đồ tiện.

- Cài đặt và vận hành thử nghiệm thành công website trên mạng Intranet.

2. Hướng phát triển đề tài

Mặc dù đã thực hiện các nội dung cơ bản và xây dựng bản đồ trực tuyến vận hành trên mạng Intranet. Tuy nhiên, để có thể hoàn thiện tốt hơn, đề tài cần nghiên cứu bổ sung thêm các nội dung sau:

- Nghiên cứu ứng dụng công nghệ cải thiện tốc độ vào website như AJAX (Asynchronous JavaScript and XML).

- Nghiên cứu các chế độ bảo mật khi đưa website lên Internet, giảm thiểu khả năng bị hacker phá hoại.

- Phát triển thêm các chức năng hỗ trợ người dùng như tìm đường đi ngắn nhất giữa hai điểm trên bản đồ …

73

PHỤ LỤC

Phụ lục 1: Một số giao diện người dùng người dùng 1 Giao diện trang chủ

74

2 Giao diện Bản đồ

3 Giao diện bản đồ phóng to

75

4. Giao diện bản đồ thu nhỏ

76

5 Giao diện Bảo tàng

77

6 Giao diện chi tiết Bảo tàng

78

7 Giao diện Công ty lữ hành

79

Phụ lục 2: Giao diện quản trị

1 Giao diện Đăng nhập hệ thống

2 Giao diện chính

80

3 Giao diện thêm một đối tượng

4 Giao diện Cập nhật, Xóa một đối tượng

81

TÀI LIỆU THAM KHẢO

Tài liệu tiếng Việt

[1] Đặng văn Đức, Hệ thống thông tin địa lý. NXB Khoa học và Kỹ Thuật. Hà Nội, 2001.

[2] Lê Huỳnh, Lê Ngọc Nam. Bản đồ học chuyên đề. NXB Giáo dục. Hà Nội. 2001.

[3] Bùi Hữu Mạnh, Hướng dẫn sử dụng MapInfo Professional Version 7.0: xuất bản tháng 1 năm 2006

[4] Nguyễn Trường Sinh, Hướng dẫn thiết kế trang web tương tác bằng JavaScript, NXB Giáo Dục, 2001.

[5] Trương Công Thành, Trần Văn Tán. Nghiên cứu công nghệ WebGIS và xây dựng trang Web dự báo thời tiết khu vực nam bộ. Luân văn tốt nghiệp đại học Khoa học tự nhiên năm 2005.

[6] Ngọc Anh Thư, ASP.NET kỹ thuật và ứng dụng, 2001

[7] Trần Quốc Vương. Nghiên cứu WebGIS phục vụ du lịch. Luận văn thạc sĩ Đại học Bách khoa Hồ Chí Minh 2006.

[8] Trung tâm công nghệ thông tin. Tập bài giảng “Một số khái niệm cơ bản về GIS”. Trường Đại học mỏ và địa chất. Hà nội. 1996.

[9]Tài liệu GIS, giáo trình giảng dạy ArcGIS do Trung tâm công nghệ thông tin địa lý biên soạn và cung cấp.

Tài liệu tiếng Anh

[10] Christian Wenz, JavaScript™ Phrasebook: Essential Code and Commands, August 2006.

[11] Fritz Onion, Essential ASP.NET with Examples in C#, 2003.

Website

[12] http://www.osgeo.org/

[13] http://www.vidagis.com

[14] http://gdal.org/ogr/

[15] http://gdal.org/

82

[16] http://esri.com

[17] http://www.opengeospatial.org

[18] http://www.cartography.com

[19] MapInfo homepage, http://mapinfo.com

[20] MapServer homepage, http://mapserver.gis.umn.edu.

[21] MapServer Projects , http://terraship.gis.umn.edu.

[22] http://www.codeproject.com

[23] http://www.w3schools.com