Khóa luận Tìm hiểu và xây dựng hệ thống thông tin địa lý - Webgis

Tài liệu Khóa luận Tìm hiểu và xây dựng hệ thống thông tin địa lý - Webgis: ` ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trần Văn Hưởng TÌM HIỂU VÀ XÂY DỰNG HỆ THỐNG THÔNG TIN ĐỊA LÝ - WEBGIS KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin ` ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trần Văn Hưởng TÌM HIỂU VÀ XÂY DỰNG HỆ THỐNG THÔNG TIN ĐỊA LÝ - WEBGIS 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: PGS.TS Hoàng Xuân Huấn ` LỜI CẢM ƠN Em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội đã tạo điều kiện thuận lợi cho em học tập và thực hiện đề tài tốt nghiệp này. Em xin bày tỏ lòng biết ơn sâu sắc đến thầy Hoàng Xuân Huấn đã tận tình hướng dẫn và chỉ bảo em trong quá trìn thực hiện đề tài Em xin chân thành cảm ơn quý thầy cô trong khoa công nghệ thông tin đã tận tình giảng dạy, trang bị cho em những kiến thức quý báu trong những năm học vừa qua Sau hết, xin gửi lời cảm ơn đến gia đình bạ...

pdf71 trang | Chia sẻ: haohao | Lượt xem: 1164 | Lượt tải: 1download
Bạn đang xem trước 20 trang mẫu tài liệu Khóa luận Tìm hiểu và xây dựng hệ thống thông tin địa lý - Webgis, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
` ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trần Văn Hưởng TÌM HIỂU VÀ XÂY DỰNG HỆ THỐNG THÔNG TIN ĐỊA LÝ - WEBGIS KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin ` ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trần Văn Hưởng TÌM HIỂU VÀ XÂY DỰNG HỆ THỐNG THÔNG TIN ĐỊA LÝ - WEBGIS 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: PGS.TS Hoàng Xuân Huấn ` LỜI CẢM ƠN Em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội đã tạo điều kiện thuận lợi cho em học tập và thực hiện đề tài tốt nghiệp này. Em xin bày tỏ lòng biết ơn sâu sắc đến thầy Hoàng Xuân Huấn đã tận tình hướng dẫn và chỉ bảo em trong quá trìn thực hiện đề tài Em xin chân thành cảm ơn quý thầy cô trong khoa công nghệ thông tin đã tận tình giảng dạy, trang bị cho em những kiến thức quý báu trong những năm học vừa qua Sau hết, xin gửi lời cảm ơn đến gia đình bạn bè, người thân đã ủng hộ động viên tinh thần để luận văn được hoàn thành. Mặc dù đã cố gắng hoàn thiện luận văn với tất cả sự nỗ lực của bản thân, nhưng chắc chắn không thể tránh khỏi những thiếu sót. Kính mong quý Thầy Cô tận tình chỉ bảo. Một lần nữa, em xin chân thành cảm ơn và luôn mong nhận được sự đóng góp quý báu của tất cả mọi người. Xin chân thành cảm ơn tất cả ! Hà Nội, tháng 5/2010 Người thực hiện Trần Văn Hưởng ` TÓM TẮT KHÓA LUẬN Trong khóa luận này tôi xin những tìm hiểu về hệ thống thông tin địa lý và cụ thể là hệ thống thông tin địa lý trên nền Web – WebGIS. Trong phần đầu của khóa luận trình bày những tìm hiểu về hệ thống thông tin địa lý nói chung bao gồm: các khái niệm về hệ thống tin địa lý, nguộn gốc ra đời, các thành phần cấu thành hệ thống thông tin địa lý và một số lĩnh vực ứng dụng của hệ thống thông tin địa lý. Trong phần tiếp theo sẽ là phần tìm hiểu về ứng dụng thông tin địa lý trên web từ đặc điểm, kiến trúc triển khai hệ thông và cách tổ chức lưu trữ dữ liệu địa lý. Trong phần ba của khóa luận trình bày tìm hiểu về các chuẩn trao đổi dữ liệu địa lý trên web và một số công nghệ mã nguồn mở giúp xây dựng hệ thống thông tin địa lý trên Web. Trong phần cuối của khóa luận trình bày về hệ thống thông tin địa lý do tôi tự xây dựng dựa trên công nghệ mã nguồn mở. ` MỤC LỤC MỞ ĐẦU .........................................................................................................................7  Chương 1.  Hệ thống thông tin địa lý .........................................................................3  1.1.  Hệ thống thông tin địa lý là gì ...........................................................................3  1.2.  Các thành phần của hệ thống thông tin địa lý....................................................4  1.3.  Một số ứng dụng của hệ thống thông tin địa lý .................................................7  Chương 2.  Hệ thống thông tin địa lý trên Web .......................................................11  2.1.  Hệ thống thông tin địa lý trên Web và các thách thức.....................................11  2.2.  Kiến trúc hệ thống thông tin địa lý trên Web ..................................................12  2.2.1.  Kiến trúc chung .........................................................................................12  2.2.2.  Các hình thức triển khai ............................................................................15  2.2.2.1.  Kiến trúc hướng phục vụ ....................................................................16  2.2.2.2.  Kiến trúc hướng người dùng ..............................................................18  2.2.2.3.  Kiến trúc kết hợp ................................................................................20  2.3.  Dạng dữ liệu của hệ thống thông tin địa lý......................................................20  2.3.1.  Dữ liệu không gian .......................................................................................21  2.3.1.1.  Dữ liệu vector .....................................................................................21  2.3.1.2.  Dữ liệu raster ......................................................................................28  2.3.1.3.  Chuyển đổi qua lại giữa dữ liệu vector và dữ liệu rastor ...................32  2.3.1.4.  So sánh dữ liệu vector và dữ liệu rastor .............................................33  2.3.2.  Dữ liệu phi không gian .................................................................................34  Chương 3.  Một số công nghệ WebGIS nguồn mở ..................................................37  3.1.  Chuẩn trao đổi dữ liệu địa lý trên Web theo OGC ..........................................37  3.1.1.  Cơ chế hoạt động.......................................................................................37  3.2.  Web Map Service và Web Feature Service .....................................................38  3.2.1.  Web Map Service (WMS).........................................................................39  3.2.1.1.  Phương thức GetMap .........................................................................39  3.2.1.2.  Phương thức GetCapbilities ...............................................................40  3.2.1.3.  Phương thức GetFeatureInfo..............................................................41  ` 3.2.2.  Web Feature Service (WFS) .....................................................................42  3.2.2.1.  Phương thức GetCapbilities ...............................................................43  3.2.2.2.  Phương thức DescribeFeatureType....................................................44  3.2.2.3.  Phương thức GetFeature.....................................................................45  3.3.  Một số công nghệ mã nguồn mở......................................................................48  3.3.1.  Mapbuider .................................................................................................48  3.3.2.  GeoServer..................................................................................................50  3.3.2.1.  Lịch sử phát triển................................................................................51  3.3.2.2.  Đặc điểm.............................................................................................52  Chương 4.  Xây dựng ứng dụng WebGIS ................................................................53  4.1.  Mô tả bài toán ..................................................................................................53  4.2.  Yêu cầu hệ thống .............................................................................................54  4.3.  Thiết kế hệ thống .............................................................................................54  4.3.1.  Kiến trúc hệ thống.....................................................................................54  4.3.2.  Xây dựng mô hình Use-case .....................................................................56  4.3.2.1.  Xác định Actor và use case ................................................................56  4.3.2.2.  Đặc tả use case ...................................................................................57  4.3.3.  Thiết kế một số màn hình..........................................................................61  KẾT LUẬN ...................................................................................................................64  ` MỞ ĐẦU Hệ thống thông tin địa lý (GIS) 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ệ ứng dụng Internet, các phát triển công nghệ GIS 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 hay còn gọi là WebGIS. 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 đang đượ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 WebGIS 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. Hơn một thập kỷ trước đây, các thông tin không gian - bản đồ ở Việt Nam chủ yếu được thành lập và phát hành trên giấy. Trong những năm gần đây, các quy trình thành lập bản đồ, lưu trữ và phát hành đã dần dần chuyển đổi sang công nghệ số. Các bản đồ giấy trước kia đã được số hoá và đang nằm trong các ổ cứng máy tính tại các cơ quan, trường học, cá nhân,... Theo xu thế chung, các thông tin không gian này được chuyển sang lưu trữ trong các hệ thống cơ sở dữ liệu thông tin không gian được sử dụng bởi các đơn vị khác nhau. Việc chuyển đổi từ công nghệ số sang công nghệ bản đồ giấy đã là một bước tiến vượt bậc của ngành trắc địa. Tuy nhiên, các hệ cơ sở dữ liệu không gian được lưu trữ và sử dụng trong một hệ thống riêng biệt đã hạn chế rất nhiều tiềm năng khai thác thông tin không gian của các hệ thống này. Công nghệ Web-GIS cho phép phát hành, tiếp cận, truy vấn thông tin không gian trong một môi trường mở như Internet đã cho phép phát huy các tiềm năng chưa được đánh thức của các hệ thống thông tin địa lý, không gian và đưa công tác trắc địa bản đồ lên một tầm cao mới. Ngay khi vừa ra đời từ cuối những năm 90 của thế kỷ trước, công nghệ Web-GIS đã được đón nhận rât hồ hởi và có nhiều bước phát triển song còn nhiều hạn chế chưa theo kịp với các nước trên thế giới. Với sự phát triển và phổ cập của Internet tại Việt Nam như ngày nay, công nghệ Web-GIS đang được chú trọng phát triển bới cả cơ quan nhà nước và cộng động doanh nghiệp và được kỳ vọng sẽ đem đến một hướng phát triển mới đầy tiềm năng. Nội dung chính của đề tài là tìm hiểu về WebGIS, khả năng xây dựng ứng dụng WebGIS trên cơ sở mã nguồn mở, trên cơ sở đó ứng dụng xây dựng WebGIS phục vụ phân tích số liệu bản đồ. 1 2 Khóa luận này trình bày các tìm hiểu lý thuyết về WebGIS bao gồm phân loại các chiến lược phát triển WebGIS, tìm hiểu phần mềm xây dựng WebGIS trên cơ sở mã nguồn mở là Mapbuilder và GeoServer và giới thiệu ứng dụng WebGIS phục vụ phân tích số liệu bản đồ do tôi xây dựng thử nghiệm. Ngoài phần kết luận khóa luận được chia thành 4 phần lớn như sau: Chương 1: Hệ thống thông tin địa lý. Trong chương này sẽ cung cấp khái niệm cơ bản nhất về hệ thống thông tin địa lý, nguồn gốc ra đời, các thành phần chính cấu thành mộ hệ thống thông tin địa lý. Phần cuối chương sẽ trình bày về các lĩnh vực đã ứng dụng hệ thống thông tin địa lý. Chương 2: Hệ thống thông tin đía lý trên Web (WebGIS). Chương này sẽ đi sâu tìm hiểu về hệ thống thông tin địa lý trên nền Web. Phần đầu của chương sẽ giới thiệu đặc điểm riêng của hệ thống thông tin địa lý trên nền web. Phần tiếp theo của chương sẽ trình bày về kiến trúc hệ thông thông tin địa lý trên web và ưu nhược điểm của cái kiến trúc đó khi triển khai trên thực tế. Phần cuối của chương sẽ trình bày các phương pháp mô hình hóa dữ liệu bản đồ thành dữ liệu số và ưu nhược điểm của các phương pháp này. Chương 3: Một số ứng dụng WebGIS mã nguồn mở. Chương này sẽ trình bày về cách thức truyền thông của các ứng dựng GIS trên nền Web và một số công nghệ mã nguồn mở phục vụ cho việc xây dựng hệ thống thông tin đía lý trên web. Chương 4: Xây dựng ứng dụng WebGiS. Dựa vào kiến thức tìm hiểu ở các phần trên trong chương này sẽ giới thiệu hệ thống thông tin địa lý trên Web do tôi tự xây dựng. 3 Chương 1. Hệ thống thông tin địa lý 1.1. Hệ thống thông tin địa lý là gì Thông tin địa lý được thể hiện chủ yếu dưới dạng bản đồ đã ra đời từ xa xưa.Các bản đồ trước tiên được phác thảo để mô tả vị trí, cảnh quan, địa hình…Bản đồ chủ yếu gồm những điểm và đường. Tuy nhiên bản đồ dạng này thích hợp cho quân đội và các cuộc thám hiểm hơn là được sử dụng như một công cụ khai thác tiềm năng của địa lý. Bản đồ vẫn tiếp tục được in trên giấy ngay cả khi máy tính đã ra đời một thời gian dài trước đó. Bản đồ in trên giấy bộc lộ những hạn chế như: thời gian xây dựng, đo đạc, tạo lập rất lâu và tốn kém. Lượng thông tin mang trên bản đồ giấy là hạn chế vì nếu mang hết các thông tin lên bản đồ sẽ gây khó đọc. Bên cạnh đó bản đồ giấy không thể cập nhật theo thời gian được vv… Ý tưởng mô hình hóa không gian lưu trữ vào máy tính, tạo nên bản đồ máy tính. Đó là bản đồ đơn giản có thể mã hóa, lưu trữ trong máy tính, sữa chữa khi cần thiết, có thể hiển thị trên màn hình và in ra giấy. Tuy nhiên các nhà nghiên cứu nhận thấy nhiều vấn đề địa lý cần phải thu thập một lượng lớn thông tin không phải là bản đồ. Lúc này khái niệm Hệ thống thông tin địa lý (Geographic Information System - GIS) ra đời thay thế cho thuật ngữ bản đồ máy tính. GIS được hình thành từ các ngành khoa học: Địa lý, Bản đồ, Tin học và Toán học. Chỉ đến những năm 80 thì GIS mới có thể phát huy hết khả năng của mình do sự phát triển mạnh mẽ của công nghệ phần cứng. Bắt đầu từ thập niên 80, GIS đã trở nên phổ biến trong các lãnh vực thương mại, khoa học và quản lý. Chúng ta có thể gặp nhiều cách định nghĩa về GIS - Là một tập hợp của các phần cứng, phần mềm máy tính cùng với các thông tin địa lý mô tả không gian. Tập hợp này được thiết kế để có thể thu thập, lưu trữ, cập nhật, thao tác, phân tích, thể hiện tất cả các hình thức thông tin mang tính không gian. - GIS là một hệ thống máy tính có khả năng lưu trữ và sử dụng dữ liệu mô tả các vị trí trên bề mặt trái đất 4 - Một hệ thống được gọi là GIS nếu nó có các công cụ hỗ trợ cho việc thao tác với dữ liệu không gian - Cơ sở dữ liệu GIS là sự tổng hợp có cấu trúc các dữ liệu số hóa không gian và phi không gian về các đối tượng bản đồ, mối liên hệ giữa các đối tượng không gian và các tính chất của một vùng của đối tượng Tóm lại, hệ thống thông tin địa lý là một hệ thống phần mềm máy tính được sử dụng trong việc vẽ bản đồ, phân tích các vật thể, hiện tượng tồn tại trên trái đất. Công nghệ GIS tổng hợp các chức năng chung về quản lý dữ liệu như hỏi đáp và phân tích thống kê với sự thể hiện trực quan và phân tích các vật thể hiện tượng không gian trong bản đồ. Sự khác biệt giữa GIS và các hệ thống thông tin thông thường là tính ứng dụng của nó rất rộng trong việc giải thích hiện tượng, dự báo và qui hoạch chiến lược. 1.2. Các thành phần của hệ thống thông tin địa lý GIS được kết hợp bởi năm thành phần chính: phần cứng, phần mềm, dữ liệu, con người và chính sách được mô tả trong hình 1.1 Hình 1.1 Mô hình các thành phần GIS a. Phần cứng 5 Phần cứng là hệ thống máy tính trên đó một hệ GIS hoạt động. Ngày nay, phần mềm GIS có khả năng chạy trên rất nhiều dạng phần cứng, từ máy chủ trung tâm đến các máy trạm hoạt động độc lập hoặc liên kết mạng. b. Con người Công nghệ GIS sẽ bị hạn chế nếu không có con người tham gia quản lý hệ thống và phát triển những ứng dụng GIS trong thực tế. Người sử dụng GIS có thể là những chuyên gia kỹ thuật, người thiết kế và duy trì hệ thống, hoặc những người dùng GIS để giải quyết các vấn đề trong công việc. c. Phần mềm Là tập hợp các câu lệnh, chỉ thị nhằm điều khiển phần cứng của máy tính thực hiện một nhiệm vụ xác định, phần mềm hệ thống thông tin địa lý có thể là một hoặc tổ hợp các phần mềm máy tính. Phần mềm được sử dụng trong kỹ thuật GIS phải bao gồm các tính năng cơ bản sau: - Nhập và kiểm tra dữ liệu: Bao gồm tất cả các khía cạnh về biến đổi dữ liệu đã ở dạng bản đồ, trong lĩnh vực quan sát vào một dạng số tương thích. Ðây là giai đoạn rất quan trọng cho việc xây dựng cơ sở dữ liệu địa lý. - Lưu trữ và quản lý cơ sở dữ liệu: Lưu trữ và quản lý cơ sở dữ liệu đề cập đến phương pháp kết nối thông tin vị trí và thông tin thuộc tính của các đối tượng địa lý (điểm, đường đại diện cho các đối tượng trên bề mặt trái đất). Hai thông tin này được tổ chức và liên hệ qua các thao tác trên máy tính và sao cho chúng có thể lĩnh hội được bởi người sử dụng hệ thống. - Xuất dữ liệu: Dữ liệu đưa ra là các báo cáo kết quả quá trình phân tích tới người sử dụng, có thể bao gồm các dạng: bản đồ, bảng biểu, biểu đồ, lưu đồ được thể hiện trên máy tính, máy in, máy vẽ... - Biến đổi dữ liệu: Biến đổi dữ liệu gồm hai lớp điều hành nhằm mục đích khắc phục lỗi từ dữ liệu và cập nhật chúng. Biến đổi dữ liệu có thể được thực hiện trên dữ liệu không gian và thông tin thuộc tính một cách tách biệt hoặc tổng hợp cả hai. - Tương tác với người dùng: Giao tiếp với người dùng là yếu tố quan trọng nhất của bất kỳ hệ thống thông tin nào. Các giao diện người dùng ở một hệ thống tin được thiết kế phụ thuộc vào mục đích của ứng dụng đó. 6 Các phần mềm tiêu chuẩn và sử dụng phổ biến hiện nay trong khu vực Châu Á là ARC/INFO, MAPINFO, ILWIS, WINGIS, SPANS, IDRISIW,... Hiện nay có rất nhiều phần mềm máy tính chuyên biệt cho GIS, bao gồm các phần mềm như sau: - Phần mềm dùng cho lưu trữ, xử lý số liệu thông tin địa lý: ACR/INFO, SPAN,ERDAS-Imagine, ILWIS, MGE/MICROSTATION, IDRISIW, IDRISI, WINGIS, - Phần mềm dùng cho lưu trữ, xử lý và quản lý các thông tin địa lý: ER- MAPPER, ATLASGIS, ARCVIEW, MAPINFO,.. Tuỳ theo yêu cầu và khả năng ứng dụng trong công việc cũng như khả năng kinh phí của đơn vị, việc lưu chọn một phần mềm máy tính sẽ khác nhau. d. Dữ liệu Có thể coi thành phần quan trọng nhất trong một hệ GIS là dữ liệu. Các dữ liệu địa lý và dữ liệu thuộc tính liên quan có thể được người sử dụng tự tập hợp hoặc được mua từ nhà cung cấp dữ liệu thương mại. Hệ GIS sẽ kết hợp dữ liệu không gian với các nguồn dữ liệu khác, thậm chí có thể sử dụng DBMS để tổ chức lưu giữ và quản lý dữ liệu. Số liệu được sử dụng trong GIS không chỉ là số liệu địa lý riêng lẽ mà còn phải được thiết kế trong một cơ sở dữ liệu. Những thông tin địa lý có nghĩa là sẽ bao gồm các dữ kiện về (1) vị trí địa lý, (2) thuộc tính của thông tin, (3) mối liên hệ không gian của các thông tin, và (4) thời gian. Có 2 dạng số liệu được sử dụng trong kỹ thuật GIS là: - Cơ sở dữ liệu bản đồ: là những mô tả hình ảnh bản đồ được số hoá theo một khuôn dạng nhất định mà máy tính hiểu được. Hệ thống thông tin địa lý dùng cơ sở dữ liệu này để xuất ra các bản đồ trên màn hình hoặc ra các thiết bị ngoại vi khác như máy in, máy vẽ. - Số liệu thuộc tính: được trình bày dưới dạng các ký tự hoặc số, hoặc ký hiệu để mô tả các thuộc tính của các thông tin thuộc về địa lý. Trong các dạng số liệu trên, số liệu Vector là dạng thường sử dụng nhất. Tuy nhiên, số liệu Raster rất hữu ích để mô tả các dãy số liệu có tính liên tục như: nhiệt độ, cao độ...và thực hiện các phân tích không gian của số liệu. Còn số liệu thuộc tính được dùng để mô tả cơ sở dữ liệu. 7 Có nhiều cách để nhập số liệu, nhưng cách thông thường nhất hiện nay là số hoá bằng bàn số hoá, hoặc thông qua việc sử dụng máy quét ảnh e. Chính sách Ðây là hợp phần rất quan trọng để đảm bảo khả năng hoạt động của hệ thống, là yếu tố quyết định sự thành công của việc phát triển công nghệ GIS. Hệ thống GIS cần được điều hành bởi một bộ phận quản lý, bộ phận này phải được bổ nhiệm để tổ chức hoạt động hệ thống GIS một cách có hiệu quả để phục vụ người sử dụng thông tin. Để hoạt động thành công, hệ thống GIS phải được đặt trong 1 khung tổ chức phù hợp và có những hướng dẫn cần thiết để quản lý, thu thập, lưu trữ và phân tích số liệu, đồng thời có khả năng phát triển được hệ thống GIS theo nhu cầu. Trong quá trình hoạt động, mục đích chỉ có thể đạt được và tính hiệu quả của kỹ thuật GIS chỉ được minh chứng khi công cụ này có thể hỗ trợ những người sử dụng thông tin để giúp họ thực hiện được những mục tiêu công việc. Ngoài ra việc phối hợp giữa các cơ quan chức năng có liên quan cũng phải được đặt ra, nhằm gia tăng hiệu quả sử dụng của GIS cũng như các nguồn số liệu hiện có. Như vậy, trong 5 hợp phần của GIS, hợp phần chính sách và quản lý đóng vai trò rất quan trọng để đảm bảo khả năng hoạt động của hệ thống, đây là yếu tố quyết định sự thành công của việc phát triển công nghệ GIS. Trong phối hợp và vận hành các hợp phần của hệ thống GIS nhằm đưa vào hoạt động có hiệu quả kỹ thuật GIS, 2 yếu tố huấn luyện và chính sách - quản lý là cơ sở của thành công. Việc huấn luyện các phương pháp sử dụng hệ thống GIS sẽ cho phép kết hợp các hợp phần: (1) Thiết bị (2) Phần mềm (3) con người và (4) Số liệu với nhau để đưa vào vận hành. Tuy nhiên, yếu tố chính sách và quản lý sẽ có tác động đến toàn bộ các hợp phần nói trên, đồng thời quyết định đến sự thành công của hoạt động GIS 1.3. Một số ứng dụng của hệ thống thông tin địa lý Nhờ những khả năng phân tích và xử lý đa dạng, kỹ thuật GIS hiện nay được ứng dụng phổ biến trong nhiều lĩnh vực, được xem là công cụ hỗ trợ quyết định (decision - making support tool). Sau đây là một số lĩnh vực điển hình được ứng dụng kỹ thuật GIS Nghiên cứu quản lý tài nguyên thiên nhiên và môi trường * Quản trị rừng (theo dõi sự thay đổi, phân loại...), 8 * Quản trị đường di cư và đời sống động vật hoang dã, * Quản lý và quy hoạch đồng bằng ngập lũ, lưu vực sông, * Bảo tồn đất ướt, * Phân tích các biến động khí hậu, thuỷ văn. * Phân tích các tác động môi trường (EIA), * Nghiên cứu tình trạng xói mòn đất, * Quản trị sở hữu ruộng đất, * Quản lý chất lượng nước, * Quản lý, đánh giá và theo dõi dịch bệnh, * Xây dựng bản đổ và thống kê chất lượng thổ nhường. * Quy hoạch và đánh giá sử dụng đất đai. Nghiên cứu điều kiện kinh tế - xã hội * Quản lý dân số, * Quản trị mạng lưới giao thông (thuỷ - bộ), * Quản lý mạng lưới y tế, giáo dục, * Điều tra và quản lý hệ thống cơ sở hạ tầng. Nghiên cứu hỗ trợ các chương trình quy hoạch phát triển * Đánh giá khả năng thích nghi cây trồng, vật nuôi và động vật hoang dã, * Định hướng và xác định các vùng phát triển tối ưu trong sản xuất nông nghiệp, * Hỗ trợ quy hoạch và quản lý các vùng bảo tồn thiên nhiên, * Đánh giá khả năng và định hướng quy hoạch các vùng đô thị, công nghiệp lớn, * Hỗ trợ bố trí mạng lưới y tế, giáo dục. Trong nghiên cứu sản xuất nông nghiệp và phát triển nông thôn, các lĩnh vực ứng dụng của kỹ thuật GIS rất rộng rãi. Do vậy, GIS trở thành công cụ đắc dụng cho việc quản lý và tổ chức sản xuất nông nghiệp - nông thôn trên các vùng lãnh thổ. 9 Các lĩnh vực ứng dụng của GIS trong sản xuất nông nghiệp và phát triển nông thôn Thổ nhường * Xây dựng các bản đồ đất và đơn tính đất. * Đặc trưng hoá các lớp phủ thổ nhường Trồng trọt * Khả năng thích nghi các loại cây trồng * Sự thay đổi của việc sử dụng đất * Xây dựng các đề xuất về sử dụng đất * Khả năng bền vững của sản xuất nông nghiệp Nông - Lâm kết hợp * Theo dõi mạng lưới khuyến nông * Khảo sát nghiên cứu dịch - bệnh cây trồng (côn trùng và cỏ dại) * Suy đoán hay nội suy các ứng dụng kỹ thuật Quy hoạch thuỷ văn và tưới tiêu * Xác định hệ thống tưới tiêu * Lập thời biểu tưới nước * Tính toán sự xói mòn/ bồi lắng trong hồ chứa nước * Nghiên cứu đánh giá ngập lũ Kinh tế nông nghiệp * Điều tra dân số / nông hộ * Thống kê * Khảo sát kỹ thuật canh tác * Xu thế thị trường của cây trồng * Nguồn nông sản hàng hoá Phân tích khí hậu * Hạn hán * Các yếu tố thời tiết 10 * Thống kê Mô hình hoá nông nghiệp * Ước lượng / tiên đoán năng suất cây trồng Chăn nuôi gia súc / gia cầm * Thống kê * Phân bố 11 Chương 2. Hệ thống thông tin địa lý trên Web GIS đã được ứng dụng từ vài thập niên trước đây, nhưng dường như GIS vẫn chưa đến được với mọi người. Lý do là, trước nay các ứng dụng GIS hầu hết chạy trên máy tính đơn.Với những máy tính này cần thiết phải cài đặt các module xử lý GIS (dưới dạng các dll, hay các Active X)…điều này cản trở khả năng ứng dụng GIS rộng rãi. Ví dụ: Khi một người cần biết tuyến xe buýt để di chuyển thì ngoại trừ khi anh ta trang bị một máy tính bỏ tui cài ứng dụng Tìm đường xe buýt còn không anh phải trở về nhà hay đến cơ quan tìm đến đúng máy tính được cài ứng dụng này để tìm kiếm thông tin. Từ ví dụ này cho thấy với các ứng dụng GIS mang tính cộng đồng hoặc khi cần có thể sử dụng bất kể nơi đâu, thì mô hình ứng dụng chạy trên máy đơn là không đáp ứng được. Như đã biết Internet ra đời và đã thu ngắn khoảng cách giữa mọi người, và cho phép tìm kiếm thông tin mọi lúc mọi nơi. Mô hình ứng dụng GIS chạy trên nền Internet cho phép mọi người dùng bất kì công cụ nào có thể truy cập Internet tìm kiếm được thông tin mình cần. 2.1. Hệ thống thông tin địa lý trên Web và các thách thức Hệ thống thông tin địa lý trên web (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 World Wide Web. Trong cách thực hiện nhiệm vụ phân tích GIS, dịch vụ này gần giống như là kiến trúc client-Server của Web. Xử lý thông tin địa lý được chia ra 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 trả tiền cho phần mềm GIS. Một trình khách tiêu biểu là trình duyệt web và máy chủ bao gồm một Web server có cung cấp một chương trình phần mềm WebGIS. Client thường yêu cầu một ảnh bản đồ hay vài xử lý thông tin địa lý qua Web đến máy chủ ở xa. Máy chủ chuyển đổi 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 tới phần mềm WebGIS. Phần mềm này trả về kết quả, sau đó kết quả này đượ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ừ các plug-in 12 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 việc phát triển các chức năng GIS trên Internet. WebGIS có tiềm năng lớn trong 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 dùng trên toàn thế giới. Thách thức lớn của WebGIS là việc tạo ra một hệ thống phần mềm không phụ thuộc vào nền tảng phần cứng và chạy trên chuẩn giao thức mạng TCP/IP, có nghĩa là khả năng WebGIS được 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 hải được thiết kế lại để trở thành ứng dụng WebGIS theo các kỹ thuật mạng Internet. 2.2. Kiến trúc hệ thống thông tin địa lý trên Web 2.2.1. Kiến trúc chung Dịch vụ web thông tin địa lý hay còn được gọi là WebGIS được xây dựng để cung cấp các dịch vụ về thông tin địa lý theo công nghệ web service. Chính vì thế nên bất cứ WebGIS nào cũng phải thỏa mãn kiến trúc ba tầng thông dụng của một ứng dụng web. Sau đó tùy thuộc vào từng loại công nghệ và các cách thức phát triển, mở rộng khác nhau mà WebGIS sẽ trở thành n tầng khác nhau. Kiến chung 3 tầng của WebGIS được mô tả hình dưới bao gồm tầng trình bày, tầng giao dịch và tầng dữ liệu được trình bày trong hình 2.1 Hình 2.1 Mô hình 3 lớp trong kiến trúc WebGIS Tầng trình bày: Thông thường chỉ là các trình duyệt Internet Explorer, Mozilla Firefox ... để mở các trang web theo URL được định sẵn. Các ứng dụng client có thể là một website, Applet, Flash,… được viết bằng các công nghệ theo chuẩn của W3C. Các Client đôi khi cũng là một ứng dụng desktop tương tự như phần mềm MapInfo, ArcMap,… Tầng giao dịch: thường được tích hợp trong một webserver nào đó, ví dụ như Tomcat, Apache, Internet Information Server. Đó là một ứng dụng phía server nhiệm vụ chính của nó thường là tiếp nhận các yêu cầu từ client , lấy dữ liệu từ cơ sở dữ liệu theo yêu cầu client , trình bày dữ liệu theo cấu hình định sẵn hoặc theo yêu cầu của 13 client và trả kết quả về theo yêu cầu. Tùy theo yêu cầu của client mà kết quả về khác nhau : có thể là một hình ảnh dạng bimap (jpeg, gif, png) hay dạng vector được mã hóa như SVG, KML, GML,…Một khi dạng vector được trả về thì việc trình bày hình ảnh bản đồ được đảm nhiệm bởi Client, thậm trí client có thể xử lý một số bài tóan về không gian. Thông thường các response và request đều theo chuẩn HTTP POST hoặc GET. Tầng dữ liệu: là nơi lưu trữ các dữ liệu địa lý bao gồm cả các dữ liệu không gian và phi không gian. Các dữ liệu này được quản trị bởi các hệ quản trị cơ sở dữ liệu như ORACLE, MS SQL SERVER, ESRI SDE, POSGRESQL,… hoặc là các file dữ liệu dạng flat như shapefile, tab, XML,… Các dữ liệu này được thiết kế, cài đặt và xây dựng theo từng quy trình, từng quy mô bài toán ... mà lựa chọn hệ quản trị cơ sở dữ liệu phù hợp. Cơ sở dữ liệu không gian sẽ được dùng để quản lý và truy xuất dữ liệu không gian, được đặt trên data server. Nhà kho hay nơi lưu trữ được dùng để lưu trữ và duy trì những siêu dữ liệu về dữ liệu không gian tại những data server khác nhau. Dựa trên những thành phần quản lý dữ liệu, ứng dụng server và mô hình server được dùng cho ứng dụng hệ thống để tính toán thông tin không gian thông qua các hàm cụ thể. Tất cả kết quả tính toán của ứng dụng server sẽ được gửi đến web server để thêm vào các gói HTML, gửi cho phía client và hiển thị nơi trình duyệt web. Xem hình minh họa dưới đây. Lưu ý là tất cả các thành phần đều được kết nối nhau thông qua mạng Internet. 14 Hình 2.2: Các bước xử lý thông tin của WebGIS Các bước xử lý 1) Client gửi yêu cầu của người sử dụng thông qua giao thức HTTP đến webserver. 2) Web server nhận yêu cầu của người dùng gửi đến từ phía client, xử lý và chuyển tiếp yêu cầu đến ứng dụng trên server có liên quan. 3) Application server (chính là các ứng dụng GIS) nhận các yêu cầu cụ thể đối với ứng dụng và gọi các hàm có liên quan để tính toán xử lý. Nếu có yêu cầu dữ liệu nó sẽ gửi yêu cầu dữ liệu đến data exchange server(server trao đổi dữ liệu).. 4) Data exchange server nhận yêu cầu dữ liệu và tìm kiếm vị trí của những dữ liệu này sau đó gửi yêu cầu dữ liệu đến server chứa dữ liệu (data server ) tương ứng cần tìm. 5) Data server dữ liệu tiến hành truy vấn lấy ra dữ liệu cần thiết và trả dữ liệu này về cho data exchange server 15 6) Data exchange server nhận dữ liệu từ nhiều nguồn data server khác nhau nằm rải rác trên mạng. Sắp xếp dữ liệu lại theo logic của yêu cầu dữ liệu,sau đó gửi trả dữ liệu về cho application server. 7) Application server nhận dữ liệu trả về từ các data exchange server và đưa chúng đến các hàm cần sử dụng, xử lý chúng tại đây và kết quả được trả về cho web server. 8) Web server nhận về kết quả xử lý, thêm vào các ngữ cảnh web (HTML, PHP..) để có thể hiển thị được trên trình duyệt và cuối cùng gửi trả kết quả về cho trình duyệt dưới dạng các trang web. Hỉnh 2.3: Quá trình xử lý thông tin của WebGIS 2.2.2. Các hình thức triển khai Trong mô hình hoạt động của WebGIS được chia ra 2 phần : các hoạt động ở phía máy khách (client side) và các hoạt động xử lý ở phía máy chủ ( server side). ¾ Client side Client side được dùng để hiển thị kết quả đến cho người dùng, nhận các điều khiển trực tiếp từ người dùng và tương tác với web server thông qua trình duyệt web. Các trình duyệt web sử dụng chủ yếu HTML để định dạng trang web. Thêm vào đó 16 một vài plug-in, ActiveX và các mã Applet được nhúng vào trình duyệt để tăng tính tương tác với người dùng. ¾ Server side Gồm có: Web server,Application server, Data server và Clearinghouse.. Server side có nhiệm vụ lưu trữ dữ liệu không gian, xử lý tính toán và trả về kết quả (dưới dạng hiển thị được) cho client side. - Web server: Web server được dùng để phục vụ cho các ứng dụng web, web server sử dụng nghi thức HTTP để giao tiếp với trình duyệt web ở phía client. Tất cả các yêu cầu từ phía client đối với ứng dụng web đều được web server nhận và thông dịch và sau đó gọi các chức năng của ứng dụng thông qua các giao tiếp mạng như MAPI, Winsock, namped pipe… - Application server: Đây là phần chương trình gọi các hàm xử lý GIS, gửi yêu cầu lấy dữ liệu đến clearinghouse - Data server: Data server là phần cơ bản của hầu hết các hệ thống thông tin với nhiệm vụ quản lý và điều khiển truy cập dữ liệu. Ban đầu, đa số GIS sử dụng File System để quản lý dữ liệu không gian và DBMS (Database Management System) để quản lý dữ liệu thuộc tính. Ngày nay có nhiều sản phẩm và giải pháp phần mềm thay thế để quản lý dữ liệu không gian và thuộc tính một cách chung nhất Ví dụ: SDE của ESRI (1998), SpatialWare của MapInfo (1998)… Nhìn chung các cơ sở dữ liệu sử dụng đều là các cơ sở dữ liệu quan hệ, và trong tương lai sẽ thay thế bằng cơ sở dữ liệu hướng đối tượng như Clearinghouse. Clearinghouse được sử dụng để chứa dữ liệu về dữ liệu không gian được quản lý bởi các data server. Clearinghouse đóng vai trò như một cuốn catalog, clearinghouse tìm kiếm trong catalog này để tìm dữ liệu cần. Có 2 chiến thuật lựa chọn, tương ứng với 2 kiểu triển khai, kiểu thứ nhất tập trung công việc chủ yếu cho phía server, kiểu kia ngược lại tập trung công việc cho phía client. 2.2.2.1. Kiến trúc hướng phục vụ Những chiến thuật này tập trung vào việc cung cấp dữ liệu GIS và phân tích “theo yêu cầu” bởi một server đủ mạnh, server này sẽ truy cập dữ liệu và phần mềm cần thiết để xử lý dữ liệu. 17 Chiến thuật server- side có thể so sánh với mô hình sử dụng máy mainframe để chạy GIS trong một mạng cục bộ. Trong đó, máy client cấu hình không đòi hỏi cao,chỉ cần chạy chương trình để gửi các yêu cầu và hiển thị được các trả lời từ server. Các bước xử lý: Hình 2.4: Kiến trúc hướng phục vụ Trong WebGIS đôi khi thuật ngữ “map server” được dùng để chỉ ra rằng chiến thuật áp dụng là server- side. Mà trong đó khi người dùng gửi yêu cầu cần “map”để hiển thị, thì sẽ được “phục vụ” bởi server. Chiến thuật server-side dựa trên khả năng trình duyêt web của người dùng có thể gửi các yêu cầu đến các phần mềm GIS trên server thông qua Internet Các chương trình được dùng để nhận và xử lý yêu cầu người dùng có thể được viết bằng các ngôn ngữ như : Perl, Visual Basic, C++…Các chương trình này cũng có thể mua từ các nhà sản xuất để tạo khả năng kết nối tốt hơn đến các hệ xử lý GIS đã tồn tại. Để có thể giao tiếp với các ứng dụng WebGIS đặt trên server, web server có thể sử dụng các chuẩn giao tiếp phổ biến như CGI (Common Gateway Interface), Java, ISAPI (Internet Server Application Programming Interface), and NSAPI (Netscape Server Application Programming Interface)… Các thuận lợi và khó khăn của kiến trúc này o Thuận lợi - Với server có cấu hình mạnh được sử dụng, người dùng có thể truy xuất trên tập dữ liệu lớn hơn và phức tạp lớn. Thay vì phải xử lý trên máy client, hầu hết không được cấu hình mạnh và việc truyền dữ liệu lớn qua mạng Internet sẽ gây nhiều khó khăn. - Cũng với server mạnh, việc phân tích, xử lý các chức năng GIS sẽ được tiến hành nhanh và không đòi hỏi quá nhiều ở người dùng sự am hiểu. 18 - Kiểm soát được các thao tác của người dùng (chủ yếu là đơn giản) trên dữ liệu và luôn đảm bảo người dùng nhận kết quả đúng từ dữ liệu (do phía client không phải xử lý nhiều). o Khó khăn - Với chiến thuật này thì dù yêu cầu là nhỏ (client hoàn toàn xử lý được) hay lớn, tất cả đều gửi về phía server, và server xử lý xong lại gửi trả về cho client thông qua đường truyền trên mạng. - Hiệu năng của hệ thống WebGIS sẽ bị ảnh hưởng bởi băng thông và đường truyền mạng Internet giữa server và client. Nhất là khi mà kết quả trả về phải mang chuyển những file lớn. - Hệ thống WebGIS sử dụng chiến thuật này không tận dụng được khả năng xử lý trên máy client. Chủ yếu client chỉ xử lý gửi yêu cầu và hiển thị kết quả đáp ứng. Nhìn chung, chiến thuật này áp dụng tốt nhất cho các ứng dụng WebGIS thương mại hay cộng đồng với số lượng lớn người dùng mà không quan tâm đến khả năng xử lý GIS trên các máy người dùng. 2.2.2.2. Kiến trúc hướng người dùng Thay vì để server làm quá nhiều việc, một số chức năng xử lý GIS sẽ được đưa về phía máy người dùng, và tại đây sẽ có một phần dữ liệu được xử lý. Hình 2.5: Kiến trúc hướng người dùng Có 2 dạng triển khai chiến thuật client side như sau: a. GIS Applet được phân phối đến Client khi có yêu cầu Trong cách triển khai chiến thuật này các xử lý GIS sẽ được server cung cấp cho phía client dưới dạng các chương trình thực thi nhỏ hoặc là các applet để có thể chạy được ở phía client. Những applet như vậy được phân phối đến client khi client cần nó để xử lý. - Người dùng tạo ra một yêu cầu từ trình duyệt - Yêu cầu được chuyển qua Internet đến server (1). 19 - Server xử lý các yêu cầu - Kết quả phản hồi trả về bao gồm dữ liệu và các applet cần thiết để người dùng có thể làm việc trên dữ liệu này. Các applet có thể được viết bằng Java, JavaScript hoặc ở dạng các ActiveX.Như vậy trình duyệt cần được tích hợp các compiler để xử lý các applet này. b. GIS Applet và Plug-in cố định ở Client Các triển khai trên cần thêm các chức năng xử lý GIS vào trình duyệt. Tuy nhiên việc chuyển dữ liệu và các applet cần thiết qua mạng Internet mất nhiều thời gian nhất là khi mà ứng dụng ít được dùng đến. Giải pháp cho vấn đề này là cách triển khai sau đây: - Chuyển các GIS applet đến máy tính client một cách cố định, và không phải chuyển đến mỗi khi cần nữa - Download và cài đặt cố dịnh các plug-in vào trình duyệt web của client - Xây dựng một trình duyệt web có tích hợp sẵn phần mềm xử lý GIS để chạy trên client. - Tích hợp các link đến nguồn tài nguyên dữ liệu khác trên mạng trong mỗi gói dữ liệu tải về. - Server chỉ được gọi khi client khi cần dữ liệu mới,hoặc dữ liệu cho một ứng dụng mới - Người dùng được toàn quyền thao tác trên dữ liệu họ dùng và phân tích chúng. Các thuận lợi và khó khăn của chiến thuật này o Thuận lợi - Tận dụng sức mạnh xử lý trên máy người dùng - Người dùng được quyền điều khiển trong quá trình phân tích dữ liệu - Khi server gửi dữ liệu cần thiết về, người dùng có thể làm việc với dữ liệu này mà không phải gửi đi hay nhận về cái gì khác từ mạng. o Khó khăn - Các hồi đáp từ server có thể bao gồm lượng lớn dữ liệu cũng như các applet (cho lần đầu tiên khi trình duyệt tại máy sử dụng chạy ứng dụng WebGIS) có thể dẫn đến sự trì hoãn. - Dữ liệu GIS thường lớn và phức tạp dẫn đến sẽ khó xử lý nếu client không được cấu hình mạnh. 20 - Người dùng có thể chưa được huấn luyện đầy đủ để thực hiện các chức năng phân tích dữ liệu một cách đúng đắn - Không dành cho người dùng bình thường. 2.2.2.3. Kiến trúc kết hợp Áp dụng thuần túy 2 chiến dịch trên đều có những hạn chế nhất định. Đối với chiến thuật Server-side chất lượng đường truyền sẽ ảnh hưởng đến tốc độ và thời gian truyền giữa yêu cầu và hồi đáp. Trong khi đó với client-side lại phụ thuộc vào cấu hình máy client. Một vài thao tác có thể chậm do đòi hỏi bộ xử lý mạnh không được đáp ứng. Kết hợp 2 chiến thuật cho ta một giải pháp “lai”, tận dụng được ưu điểm của 2 chiến thuật trên. Những công việc đòi hỏi dữ liệu lớn, tính toán phức tạp giao cho server xử lý. Những công việc đòi hỏi người dùng có quyền điều khiển cao (thao tác bản đồ, v.v..) được giao cho client. Như vậy đòi hỏi thông tin về cấu hình của server và client cần được chia sẻ cho nhau. Giải pháp này tỏ ra hiệu quả khi mà client thỉnh thoảng mới cần liên lạc với server để lấy dữ liệu. 2.3. Dạng dữ liệu của hệ thống thông tin địa lý Dữ liệu của webgis cũng giống như 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, phi không gian hay còn là dữ liệu thuộc tính và dữ liệu thời 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. Dữ liệu thời gian là thông tin không gian (có vị trí tọa độ) và thông tin thuộc tính có thể biến đổi không phụ thuộc vào nhau tương đối theo thời gian. 21 2.3.1. Dữ liệu 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 CSDL 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. Dữ liệu đồ họa này mô tả thế giới thực và được chia làm 2 loại : dữ liệu raster và dữ liệu vectơ. 2.3.1.1. Dữ liệu vector 2.3.1.1.1. Các kiểu đối tượng trong dữ liệu vector a. Đối tượng điểm Điểm được xác định bởi cặp giá trị điểm. 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 2.6: Số liệu vector được biểu thị dưới dạng điểm (Point). 22 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. b. Đố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 arc bắt đầu và kết thúc bởi node - Các cung nối với nhau và cắt nhau tại điểm - Hình dạng của cung được định nghĩa bởi các điểm điểm - Độ dài chính xác bằng các cặp toạ độ Hình 2.7: Số liệu vector được biểu thị dưới dạng Arc c. Đố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 arc đị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. 23 Hình 2.8 Số liệu vector được biểu thị dưới dạng vùng (Polygon) Hình 2.9: Một số khái niệm trong cấu trúc cơ sở dữ liệu bản đồ. 2.3.1.1.2. Khái niệm dữ liệu Vector Các đối tượng không gian khi biểu diễn ở cấu trúc dữ liệu vector được tổ chức dưới dạng điểm, đường và vùng, và được biểu diễn trên một hệ thống tọa độ nào đó. Đối với các đối tượng biểu diễn trên mặt phẳng, mỗi đối tượng điểm được biểu diễn bởi một cặp tọa độ (x, y); đối tượng đường được xác định bởi một chuỗi liên tiếp các 24 điểm, đoạn thẳng được nối giữa các điểm hay còn gọi là cạnh, điểm bắt đầu và điểm kết thúc của một đường gọi là các nút; đối tượng vùng được xác định bởi các đường khép kín. Hình 2.10: Minh họa đối tượng đường gồm có các nút, điểm, cạnh 2.3.1.1.3. Các loại cấu trúc trong dữ liệu vector Hai loại cấu trúc được biết đến trong cấu trúc dữ liệu vector là cấu trúc Spaghetti và cấu trúc Topology. Cấu trúc Spaghetti ra đời trước và được sử dụng cho đến ngày nay ở một số các phần mềm GIS như: phần mềm Arcview GIS, ArcGIS, MapInfo,… Cấu trúc Topology ra đời trên nền tảng của mô hình dữ liệu cung – nút (Arc - Node). a. Cấu trúc Spaghetti Trong cấu trúc dữ liệu Spaghetti, đơn vị cơ sở là các cặp tọa độ trên một không gian địa lý xác định. Do đó, mỗi đối tượng điểm được xác định bằng một cặp tọa độ (x, y); mỗi đối tượng đường được biểu diễn bằng một chuỗi những cặp tọa độ (xi, yi); mỗi đối tượng vùng được biểu diễn bằng một chuỗi những cặp toạ độ (xj, yj) với điểm đầu và điểm cuối trùng nhau. Thí dụ: Hình 2.11: Minh họa dữ liệu Spaghetti Bảng 2.1: Bảng mô tả đặc trưng của cấu trúc Spaghetti Đặc trưng Vị trí 25 Điểm A (xA, yA) Điểm B (xB, yB) Cung AB (xA, yA), (xB, yB) Vùng a (xA, yA), (xa1, ya1), …, (xa5, ya5) , (xB, yB), (xA, yA) Vùng b (xA, yA), (xb1, yb1), (xb2, yb2), (xb3, yb3) , (xB, yB), (xA, yA) Đặc điểm: Cấu trúc Spaghetti không ghi nhận đặc trưng kề nhau của hai vùng kề nhau, nghĩa là tại hai vùng kề nhau sẽ có hai cạnh chung kề nhau, cạnh chung của hai vùng kề nhau là hai cạnh độc lập nhau. Ở thí dụ trên vùng a và vùng b có chung cạnh AB. b. Cấu trúc Topology Cấu trúc Topology còn được gọi là cấu trúc cung – nút (arc - node). Cấu trúc này được xây dựng trên mô hình cung – nút, trong đó cung là phần tử cơ sở. Việc xác định các phần tử không gian dựa trên các định nghĩa sau: - Mỗi cung được xác định bởi 2 nút, các phần tử ở giữa 2 nút là các điểm điều khiển, các điểm này xác định hình dạng của cung. - Các cung giao nhau tại các nút, kết thúc một cung là nút. - Vùng là tập hợp các cung khép kín, trong trường hợp vùng trong vùng thì phải có sự phân biệt giữa cung bên trong và cung bên ngoài. Trong cấu trúc Topology, các đối tượng không gian được mô tả trong bốn bảng dữ liệu: bảng tọa độ cung, bảng topology cung, bảng topology nút và bảng topology vùng. Giữa các bảng này có quan hệ với nhau thông qua cung. Từ đây, ta có thể phân tích các quan hệ của các đối tượng không gian trên cùng một hệ tọa độ. Thí dụ: 26 Hình 2.12: Minh họa dữ liệu Topology Bảng 2.2: Bảng topology vùng Topology Vùng Vùng Cung A AB, AaB B AB, AbB Vùng ngoài vùng a và b Vùng ngoài Bảng 2.3: Bảng topology cung Topology Cung Cung Nút đầu Nút cuối Vùng trái Vùng phải AB A B a b AaB A B Vùng ngoài a AbB A B b Vùng ngoài Bảng 2.4: Bảng topology nút Topology nút 27 Nút Cung A AB, AaB B AB, AbB Bảng 2.5: Bảng dữ liệu tọa độ cung Dữ liệu tọa độ cung Cung Nút đầu (x,y) Đỉnh vertex (x,y) Nút cuối (x,y) AB A B AaB A a1, a2, a3, a4, a5 B AbB A b1, b2, b3 B 2.3.1.1.4. Ưu nhước điểm của cấu trúc Vector a. Ưu điểm - Việc lưu trữ được đòi hỏi ít hơn hệ thống cơ sở dữ liệu raster - Bản đồ gốc có thể được hiện diện ở sự phân giải gốc của nó. - Đặc tính phương pháp như là các kiểu từng, đường sá, sông suối, đất đai có thể được khôi phục lại và tiến triển 1 cách đặc biệt. - Điều này dễ hơn để kết hợp trạng thái khác nhau của phương pháp mô tả dữ liệu với một đặc tính phương pháp đơn. - Hệ số hoá các bản đồ không cần được khôi phục lại từ hình thức raster. b. Nhược điểm - Vị trí của điểm đỉnh cần được lưu trữ 1 cách rõ ràng - Mối quan hệ của những điểm này phải được định dạng trong 1 cấu trúc thuộc về địa hình học, mà nó có lẽ khó để hiểu và điều khiển. - Thuật toán cho việc hoàn thành chức năng thì hoàn toàn tương đương trong hệ thống cơ sở dữ liệu raster là quá phức tạp và việc hoàn thành có lẽ là không xác thực. 28 - Sự thay đổi một cách liên tiếp dữ liệu thuộc về không gian không thể được hiện diện như raster. Một sự khôi phục để raster được yêu cầu tiến hành dữ liệu kiểu này. 2.3.1.2. Dữ liệu raster 2.3.1.2.1. Khái niệm dữ liệu raster Mô hình raster biểu diễn không gian như là một ma trận số nguyên, mỗi giá trị số nguyên đại diện cho một thuộc tính, vị trí của số nguyên chính là vị trí của đối tượng Thí dụ: Hình 2. 13: Mô hình dữ liệu raster và vector 29 Hình 2.14: Mô hình dữ liệu raster và vector Liên hệ với thế giới thực: mỗi pixel sẽ tương ứng với một ô nào đó trong thế giới thực. Trong cấu trúc raster: - Đường được biểu diễn bằng những pixel có cùng giá trị f(x,y) liên tiếp nhau. - Vùng được xác định thành một mạng gồm nhiều pixel có cùng giá trị thuộc tính f(x,y). Hình 2.15: Cấu trúc dữ liệu raster 2.3.1.2.2. Đặc điểm 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). 30 - 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. Hình 2.16: Sự biểu thị kết quả bản đồ dưới dạng Raster 2.3.1.2.3. Các loại cấu trúc Raster Có hai cấu trúc lưu trữ raster cơ bản: - Cấu trúc lưu mã chi tiết (exhaustive enumeration) 31 - Cấu trúc lưu mã chạy dài (run-length encoding). Đối với cấu trúc lưu mã chi tiết, mỗi một điểm lưới được gắn với giá trị duy nhất, vì vậy dữ liệu không được nén gọn. Hình 2.17: Minh họa cấu trúc mã chi tiết Cấu trúc lưu mã chạy dài có ý nghĩa như là một kỹ thuật nén dữ liệu nếu raster chứa các nhóm điểm lưới có cùng một giá trị. Khi đó thay vì phải lưu trữ riêng cho từng điểm lưới, cấu trúc này lưu trữ theo từng thành phần có một giá trị duy nhất và số lượng điểm lưới chứa đựng giá trị đó. Hình 2.18: Minh họa cấu trúc mã run length 2.3.1.2.4. Ưu nhước điểm của cấu trúc raster a. Ưu điểm - Vị trí địa lý của mỗi ô được xác định bởi vị trí của nó trong ô biểu tượng, hình ảnh có thể được lưu trữ trong một mảng tương xứng trong máy vi tính cung cấp đủ dữ liệu bất kỳ lúc nào. Vì vậy mỗi ô có thể nhanh chóng và dễ dàng được định địa chỉ trong máy theo vị trí địa lý của nó. 32 - Những vị trí kế cận được hiện diện bởi các ô kế cận, vì vậy mối liên hệ giữa các ô có thể được phân tích một cách thuận tiện - Quá trình tính toán đơn giản hơn và dễ dàng hơn cơ sở hệ thống dữ liệu vector. - Đơn vị bản đồ ranh giới thửa được trình bày một cách tự nhiên bởi giá trị ô khác nhau, khi giá trị thay đổi, việc chỉ định ranh giới thay đổi. b. Nhược điểm - Khả năng lưu trữ đòi hỏi lớn hơn nhiều so với hệ thống cơ sở dữ liệu vector. - Kích thước ô định rõ sự quyết định ở phương pháp đại diện ở phương pháp đại diện. Điều này đặc biệt khó dễ cân xứng với sự hiện diện đặc tính thuộc về đường thẳng. Thường hầu như hình ảnh gần thì nối tiếp nhau, điều này có nghĩa là nó phải tiến hành một bản đồ hoàn chỉnh chính xác để thay đổi 1 ô đơn. Quá trình tiến hành của dữ liệu về kết hợp thì choáng nhiều chỗ hơn với 1 hệ thống cơ sở vector. Dữ liệu được đưa vào hầu như được số hoá trong hình thức vector, vì thế nó phải chính xác 1 vector đến sự thay đổi hoạt động raster để đổi dữ liệu hệ số hoá vào trong hình thức lưu trữ thích hợp. Điều này thì khó hơn việc xây dựng vào trong bản đồ từ dữ liệu raster. 2.3.1.3. Chuyển đổi qua lại giữa dữ liệu vector và dữ liệu rastor 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, thí 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 33 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. Hình 2.19: Sự chuyển đổi dữ liệu giữa raster và vector 2.3.1.4. So sánh dữ liệu vector và dữ liệu rastor STT RASTER VECTOR 1 Cấu trúc dữ liệu đơn giản Cấu trúc dữ liêu phức tạp hơn raster 2 Các thao tác chập bản đồ thực hiện dễ dàng và đơn giản Các phép chập bản đồ khó thực hiện được 3 Bài toán mô hình thực hiện dễ dàng Bài toán mô hình khó thực hiện 4 Dữ liệu cồng kềnh Dữ liệu gọn (chiếm ít bộ nhớ) hơn mô hình raster 5 Mối quan hệ topo khó có thể thể hiện được. Bài toán mạng khó thực hiện Cho phép mã hóa topo hiệu quả hơn và vì vậy cho phép thực hiện các phép liên quan đến các thông tin topo (như trong phân tích mạng) 34 6 Thích hợp với việc sử dụng dữ liệu viễn thám Thích hợp với dữ liệu đo đạc trực tiếp 2.3.2. Dữ liệu 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ả (annotation). Annotation: 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ể chạy dọc theo cung - 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ý 35 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ể. 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. Sự liên kết giữa hai loại thông tin cơ bản trong cơ sở dữ liệu GIS thể hiện theo sơ đồ sau: Bảng 2.6: Mối quan hệ giữa thông tin bản đồ và thông tin thuộc tính ID (mã) Tính chất 1 Tính chất 2 Tính chất 3 1 x x x 2 x x x 3 x x x 36 … … … … 37 Chương 3. Một số công nghệ WebGIS nguồn mở 3.1. Chuẩn trao đổi dữ liệu địa lý trên Web theo OGC Chuẩn mở của OpenGIS là một Web Map Server, tên gọi của nó đã thể hiện nó là một ứng dụng server cung cấp bản đồ trên Web. Sau đây là hình minh họa: Hình 3.1: Mô hình webGIS theo chuẩn OpenGIS 3.1.1. Cơ chế hoạt động a. Web Map Server Về cơ bản một Web Map Server có thể làm 3 việc: - Tạo ra một bản đồ (dưới dạng ảnh, dưới dạng đồ hoạ, hay được đóng gói bằng một tập dữ liệu địa lý). - Trả lời các truy vấn cơ bản về nội dung bản đồ. - Cung cấp cho các chương trình khác mà Server có thể tạo ra được. 38 b. Web Map Client Một Web Map Client (ví dụ một trình duyệt Web hoặc một chương trình ứng dụng) có thể yêu cầu một Web Map Server bằng các chuyển các yêu cầu (request) trong định dạng URL. Nội dung của mỗi URL phụ thuộc vào một trong ba loại dịch vụ mà Web Map Server cung cấp. Cụ thể: - Yêu cầu để tạo ra một bản đồ, các tham số URL phải chỉ ra phạm vi địa lý (không gian) cần tạo bản đồ, hệ toạ độ được sử dụng, các kiểu thông tin được thể hiện, định dạng lưu trữ bản đồ và kích thước kết quả. - Yêu cầu để truy vấn nội dung bản đồ, các tham số URL phải chỉ ra lớp thông tin (layer) bản đồ cần truy vấn, vị trí cần truy vấn. - Yêu cầu cung cấp các thông tin về khả năng phục vụ của Web Map Server. c. Cơ chế hoạt động Từ các thông tin về Web Map Client và Web Map Server ta có thể hiệu được cơ chế hoạt động chung của WebGIS gồm: - Cơ chế truyền thông (communication) giữa các máy tính: ở tầng dưới cùng của mô hình truyền thông, thông tin được truyền nhận bởi các tín hiệu điện tương ứng với cơ chế mã hoá nhị phân (0/1). Ở tầng tiếp theo là TCP/IP, ở tầng ứng dụng là giao thức HTTP, ở tầng này thông tin được mã hoá bởi ngôn ngữ HTTP. - Các yêu cầu (requests): một trình duyệt “hỏi” một trang web bằng việc sử dụng một GET request. Yêu cầu này được định dạng bằng một URL; - Đáp ứng (response) : web server sẽ kiểm tra sự tồn tại của trang web được yêu cầu, nếu tồn tại và người dùng có quyền truy cập nó sẽ trả về trang web cho người dùng, nếu không nó sẽ trả bè một thông điệp lỗi. Các trang web được mã hoá bằng HTML, ngôn ngữ này bao gồm các thẻ mô tả các thành phần của một trang. - Hiển thị (display): trình duyệt hiển thị trang. Một khi trình duyệt chuyển đổi được HTML thành các đối tượng đồ hoạ nó có thể vẽ trên màn hình và chờ đợi người dùng tương tác lên trang. 3.2. Web Map Service và Web Feature Service 39 Cả Web Map Service (WMS) và Web Feature Client (WFS) đều nằm trên Web Map Server, chúng chính là hai chuẩn công nghệ chính hình thành nên Web Map Server. 3.2.1. Web Map Service (WMS) Một Web Map Service cung cấp dữ liệu các đối tượng địa lý cho client theo dạng hình ảnh hoặc một đoạn mã GML (không bao gồm tọa độ không gian). Web Map Service cung cấp các chuẩn nhận request như sau: - GetMap (bắt buộc): Yêu cầu GetMap trả về một bản đồ dưới dạng ảnh (ảnh bản đồ) trong một phạm vi địa lý và theo các tham số được định nghĩa cụ thể. GetMap được triệu gọi bởi một client để nhận về một tập hợp các pixels. Các pixels này chứa một ảnh của một bản đồ trong một vùng địa lý (không gian) hoặc một tập các đối tượng đồ hoạ nằm trong vùng địa lý cụ thể. Yêu cầu GetMap cho phép các Web Map Client chỉ ra một lớp thông tin cụ thể, hệ quy chiếu không gian (SRS), khu vực địa lý, và các tham số khác quy định định dạng dữ liệu trả về. Trên cơ sở các yêu cầu GetMap từ Web Map Client mà một Web Map Server sẽ trả về các kết quả hoặc ném một biệt lệ (exception) theo các chỉ dẫn biệt lệ trong yêu cầu GetMap - GetCapabilities (bắt buộc): Yêu cầu GetCapabilities trả về các siêu dữ liệu mô tả Web Map Server. Các mô tả bao gồm nội dung thông tin mà WMS server có thể phục vụ, các tham số mà Web Map Server có thể nhận. - GetFeatureInfo (tuỳ chọn): Yêu cầu GetFeatureInfo trả về thông tin về đối tượng địa lý cụ thể được hiển thị trên bản đồ. Nếu một Web Map Server hỗ trợ dịch vụ này thì bản đồ mà nó trả về được gọi là bản đồ có khả năng truy vấn thông tin và một Web map Client có thể yêu cầu thông tin về đối tượng trên một bản đồ bằng cách thêm vào URL các tham số chỉ ra một vị trí (X,Y) và số đối tượng có thể trả về thông tin. 3.2.1.1. Phương thức GetMap a. Yêu cầu Một trình duyệt web tạo ra một yêu cầu GET để hỏi một server về một trang web. Phẩn lớn các yêu cầu này được trả lời bằng HTML cấu thành lên một trang web. Tuy nhiên, một kết quả có thể là một ảnh, ví dụ là một đoạn HTML sau 40 Đoạn HTML trên đơn là là yêu cầu một ảnh được lưu trữ trên web server. Một yêu cầu web map giống như URL này ở điểm cũng yêu cầu một ảnh của bản đồ, cho dù trông nó có vẻ phức tạp hơn. Ví dụ: version=1.1.1&request=getmap&layers=topp:states&styles=population &SRS=EPSG:4326&bbox=-125,24,-67,50 &width=400&height=200&format=image/png Kết quả như sau trên trình duyệt: Hình 3.2: Kết quả trả về của phương thức GetMap - WMS b. Phản hồi Nếu quá trình xử lý yêu cầu từ Client không gặp lỗi bản đồ kết quả sẽ được trả về theo định dạng mà Client yêu cầu. Nhưng nếu có một lỗi xảy ra, Server sẽ gửi trả về một thông điệp lỗi được mã hoá bởi XML về Client. Ví dụ, trong yêu cầu dưới đây, yêu cầu đã bị sai trong tham số format (thiếu chữ g) một lỗi sau sẽ được trả về: There is no support for creating maps in image/pn format 3.2.1.2. Phương thức GetCapbilities 41 Yêu cầu này được gửi khi client muốn biết các thông tin về server như các lớp thông tin mà server phục vụ, các định dạng dữ liệu mà server hỗ trợ. Dưới đây là một ví dụ về một request GetCapabilities: ies Kết quả của yêu cầu GetCapabilities server sẽ trả về một XML chứa các thông tin sau: - Các dịch vụ được hỗ trợ - Các định dạng được hỗ trợ - Các hệ tham chiếu không gian - Danh sách các lớp thông tin bản đồ - SLD/Styles - Mã nhà cung cấp dịch vụ 3.2.1.3. Phương thức GetFeatureInfo Một client có thể sử dụng yêu cầu này để tìm một đối tượng bản đồ tại một điểm trên bản đồ đang được hiển thị. Yêu cầu này giống như yêu cầu GetMap nhưng có thêm vị trí X, Y theo toạ độ pixel tính từ phía trên bên trái của ảnh bản đồ và một tên lớp thông tin cần truy vấn. Dưới đây là một ví dụ về yêu cầu GetFeatureInfo getfeatureinfo&layers=topp:states&styles=population&SRS=EPSG:4326&bbox=-125,24,- 67,50&width=400&height=200&format=text/html&X=100&y=100&query_layers=topp:state s Yêu cầu trên giống một yêu cầu GetMap, điểm khác biệt ở phần format chỉ ra định dạng kết quả trả về hoặc là text/html. Kết quả trả về của yêu cầu trên sẽ là: Results for FeatureType 'states': -------------------------------------------- the_geom = [GEOMETRY (MultiPolygon) with 153 points] STATE_NAME = Arizona STATE_FIPS = 04 42 SUB_REGION = Mtn STATE_ABBR = AZ LAND_KM = 294333.462 WATER_KM = 942.772 PERSONS = 3665228.0 FAMILIES = 940106.0 HOUSHOLD = 1368843.0 MALE = 1810691.0 FEMALE = 1854537.0 WORKERS = 1358263.0 DRVALONE = 1178320.0 CARPOOL = 239083.0 PUBTRANS = 32856.0 EMPLOYED = 1603896.0 UNEMPLOY = 123902.0 SERVICE = 455896.0 MANUAL = 185109.0 P_MALE = 0.494 P_FEMALE = 0.506 SAMP_POP = 468178.0 -------------------------------------------- 3.2.2. Web Feature Service (WFS) Một Web Feature Server (WFS) cung cấp các đối tượng địa lý cho client. Nó cũng có thể cho phép các client thay đổi và thêm các đối tượng vào cơ sở dữ liệu. Khi WMS cung cấp một hình ảnh của dữ liệu thì WFS cung cấp dữ liệu thực được mã trong GML. Một WFS có thể: - Lấy thông tin hoặc truy vấn đến một lớp thông tin dựa theo vị trí không gian của một đối tượng được chọn. - Update 1 đối tượng – Cho phép người dùng thay đổi một số thuộc tính trên một đối tượng lựa chọn. 43 - Xóa 1 đối tượng - nếu thông tin giá trị đối tượng đó không quá dài hoặc không có yêu cầu sử dụng thì có thể được xóa khỏi bộ dữ liệu. - Tạo mới một đối tượng – Cho phép người dùng thêm mới một đối tượng lên bản đồ. Một WFS cung cấp 3 request: - GetCapabilities (bắt buộc) – Đây là request cơ bản cho phép client nhận ra các dịch vụ và kiểu dữ liệu do WFS hỗ trợ. - DescribeFetuareType (bắt buộc) – Cho phép mô tả kiểu đối tượng. Khi bản đồ muốn thêm một đối tượng mới thì nó phải biết cấu trúc của đối tượng đó. - GetFeartue (bắt buộc) – Đây là dữ liệu thật được trả về client sau request đã được nhận. 3.2.2.1. Phương thức GetCapbilities a. Yêu cầu - Format: đây là tham số không bắt buộc, là tham số hỗ trợ cho yêu cầu GetCapabilities trên WMS server. Mọi server hỗ trợ định dạng mặc định text/xml. Nếu request mô tả định dạng không hỗ trợ bởi server, server sẽ trả về định dạng mặc định text/xml. - Version: là tham số không bắt buộc, chỉ ra phiên bản WMS cung cấp. - Service: Tham số này bắt buộc, nó chỉ ra các kiểu dịch vụ cho phép khi yêu cấu đến server - Request: Tham số phải có, dùng để triệu gọi thao tác GetCapabilities. Giá trị “GetCapabilities” sẽ sử dụng. - UpdateSequence: Tham số không bắt buộc. b. Phản hồi 44 Khi triệu gọi Web map service, trả về yêu cầu của GetCapabilities là một tài liệu XML chứa dịch vụ metadata định dạng mã hoá theo lược đồ XML. Lược đồ này đặc tả những nội dung thiết yếu hay không cần thiết của dịch vụ metadata và mô tả định dạng của nó. Tài liệu này có chứa một Root element với tên là WMS_Capabilities trong không gian. 3.2.2.2. Phương thức DescribeFeatureType a. Yêu cầu Hàm của DescribeFeatureType thao tác đến một lược đồ mô tả các kiểu dịch vụ feature được WFS cung cấp. Ví dụ một request: <DescribeFeatureType version="1.0.0" service="WFS" xmlns="" xmlns:topp="" xmlns:xsi="" xsi:schemaLocation=" "> topp:bc_roads Request được xây dựng theo quy cách và như là một tại liệu XML và được gửi đến server bằng HTTP POST request. Mới nhìn qua thì ta thấy rất phức tạp nhưng thực ra chỉ có đoạn in đậm mới là key line. Ở đây chỉ rõ kiểu đối tượng mà ta đưa vào là: topp:bc_roads. b. Phản hồi Kết quả trả về từ ví dụ trên là: <xs:schema targetNamespace="" elementFormDefault="qualified" attributeFormDefault= "unqualified" version="1.0"> <xs:import namespace="" schemaLocation=" 45 capabilities/ gml/2.1.2/feature.xsd"/> <xs:element name="the_geom" minOccurs="0" nillable="true" type="gml:MultiLineStringPropertyType"/> <xs:element name="LENGTH" minOccurs="0" nillable="true" type="xZs:double"/> <xs:element name="BTRN_BC_ID" minOccurs="0" nillable="true" type="xs:int"/> <xs:element name="bc_roads" type="topp:bc_roads_Type" substitutionGroup="gml:_Feature"/> 3.2.2.3. Phương thức GetFeature a. Yêu cầu Cũng giống như WMS getMap, nhưng getFeature của WFS mô tả về dữ liệu thực. Đối với WMS thì dữ liệu sau khi được trả về là một định dạng ảnh hoặc text nhưng có thể convert một cách đơn giản trở thành ảnh còn đối với WFS thì dữ liệu được trả về là dữ liệu thực và được được mô tả như 1 tài liệu XML. Một số tham biến đáng chú ý: - version (required) – tùy theo phiên bản là 1.0.0 hay là 1.1.0 - service (required and always WFS) - 46 - outputformat (optional) – là định dạng dữ liệu được trả về trong capabilities, mặc định là GML - maxfeatures (optional) – số lượng lớn nhất các feature được trả về, mặc định là unlimited. - typename (required) – kiểu feature muốn được trả về - featureVersion (optional) – cung cấp để hỗ trợ cho việc lưu trữ feature, mặc định là newest - propertyName (optional) – đặc tính của từng feature muốn lấy về tùy theo từng feature - filter (optional) – lọc lụa chọn các feature trả về. Có thể lọc theo không gian hoặc cở sở nào đấy hoặc theo giá trị thuộc tính. Sau đây là ví dụ: <wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2" –="" we="" would="" like="" gml2="" as="" the="" return="" format="" xmlns:topp="" xmlns:wfs="" xmlns:ogc="" xmlns:xsi="" xsi:schemaLocation=" "> b. Phản hồi Phản hồi trả về từ server là một GML mã hóa tập hợp feature <wfs:FeatureCollection xsi:schemaLocation=" 47 ?typeName=topp:bc_roads .0.0/WFS-basic.xsd"> <gml:Box srsName=" g.xml#27354"> 494475.71056415,5433016.8189323 494982.7 0115662,5435041.95096618 <gml:MultiLineString –="" a="" multistring="" srsName=""> 494475.71056415,5433016.8189323 494982.70115662,5435041.95096618 2163.48 13166 48 3.3. Một số công nghệ mã nguồn mở 3.3.1. Mapbuider Mapbuilder là ứng dụng mã nguồn mở sử dụng để triển khai Web Map Client. Mapbuilder sửng dụng chuẩn Open GIS để kết nối với server và sử dụng javascript và XLS để hiển thị dữ liệu bản đồ trên trình duyệt web Mapbuilder bao gồm thành phần sau: - MapBuilder – Lib: là một thư viện nguồn mở của các widgets bản đồ trên trình duyệt (browser based mapping widgets) - OpenLayer: cung cấp một giao diện chung đến một số các lớp thông tin bản đồ khác nhau (như Google, Yahoo, MSN, WMS, vv). Nó được sử dụng bởi một số map rendering widgets. - Sarissa: là một thư viện ECMAScript library đóng gói (wrapper ) các hàm XML APIs nguyên thuỷ. Thư viện này bao gồm các lớp đóng gói XML document, tải tài liệu XML từ URL hoặc một xâu, chuyển đổi bằng XSLT, truy vấn dự trên Xpath - Overlib: Là một thư viện JavaScript cung cấp các popup nhỏ giống như tooltips. - Walter Zorn’s JS Graphics: Thư viện JavaScript VectorGraphics cung cấp khả năng đồ họa cho JavaScript. - Scalebar: Công cụ cung cấp thanh tỉ lệ (calebar tool) - Single file compression: Các hàm để nén toàn bộ thư viện thành một file MapbuilderCompressed.js để tăng tốc độ tải mã JavaScipts về trình duyệt và tăng tốc độ biên dịch JavaScipts của trình duyệt. a. Mục tiêu của Mapbuilder - Client là trình duyệt web - Giảm tải cho server - Dễ dàng tích hợp - Giảm băng thông - Sử dụng Javascript, XML và XLS - Thiết kế theo mô hình mobule - Mã nguồn mở - Thu hút cộng đồng phát triển b. Mô hình Mapbuilder 49 Mapbuider được thiết kế theo mô hình Model-View-Control (MVC). Không giống như các hệ quản trị nội dung khác, Mapbuilder lưu trữ tất cả các model của nó ở trình duyệt web bởi vậy sự tương tác với server được giảm bớt Hình 3.3: Mô hình MapBuilder Model được hình dung như là thông tin của ứng dụng, điển hình là một tài liệu XML được nhận về từ server trong một file có form không thay đổi từ 1 URL. Các Model cung cấp phương pháp “get” hoặc “set” cho việc update thông tin và trạng thái của model. View là phần hiển thị thông tin trong mỗi model. View có thể tự bản thân nó đăng ký với một model với dạng một thông báo. Đây chính là điển hình sử dụng “listener” làm phương pháp triệu gọi các kiểu sự kiện. View có thể cung cấp cho người sử dụng có thể gửi các yêu cầu đến người quản trị, còn trong MapBuilder thì view gọi đến các widgets. Controller tiến hành biên dịch các yêu cầu của view trong các action bởi model. Controller có thể sửa đổi và trạng thái của một model. Trong MapBuilder Controller gọi đến các tool. Cách thức ngăn cách của model và view cho phép các multile view được sử dụng cùng một model. Đây là cơ chế làm việc để cho việc mở rộng ứng dụng được dễ ràng hơn. MapBuilder có thể gọi ra và lưu trữ một vài model khác nhau trong cùng một ứng dụng web. Trong thứ tự cung cấp của một vài cấu trúc có các model khác nhau sẽ 50 thực hiện các công việc khác nhau, một model có thể chứa một mảng của các model khác trong các nút con. Trong MapBuilder thì thiết kế, các model, các widget và các tool đều thao tác với các đối tượng trong JavaScript. Danh sách của đối tượng có thể được tạo ra và liên hệ giữa chúng trên lý thuyết là sẽ được mô tả trong file cấu hình. 3.3.2. GeoServer GeoServer là một máy chủ mã nguồn mở với mục đích kết nối những thông tin địa lý có sẵn tới các Geoweb (trang Web địa lý) sử dụng chuẩn mở. Được bắt đầu bởi một tổ chức phi lợi nhuận có tên The Open Planning Project (TOPP), nhằm mục đích hỗ trợ việc xử lý thông tin không gian địa lý với chất lượng cao, đơn giản trong sử dụng, là phần mềm mã nguồn mở nhằm cung cấp và chia sẻ dữ liệu. Được kỳ vọng sẽ trở thành một phương thức đơn giản để kết nối những nguồn thông tin có sẵn từ Google Earth, NASA World Wind nhằm tạo ra các dịch vụ Webmap như Google Maps, Windows Live Local và Yahoo Maps. GeoServer được viết bằng ngôn ngữ Java, cho phép người sử dụng chia sẻ và chỉnh sử dữ liệu không gian địa lý (geospatial data). Là một dự án mang tính cộng đồng, GeoServer được phát triển, kiểm thử và hỗ trợ bởi nhiều nhóm đối tượng và tổ chức khác nhau trên toàn thế giới. GeoServer là sự phối hợp các chuẩn hoạt động của Open Geospatial Consortium (OGC), Dịch vụ bản đồ (WMS-Web Map Service), Web Feature Service (WFS). GeoServer là thành phần nền tảng của Geospatial Web. 51 Hình 3.4: Giao diện GeoServer 3.3.2.1. Lịch sử phát triển Dự án GeoServer được bắt đầu vào năm 2001 bởi The Open Planning Project (TOPP). Vào thời điểm đó, mọi Website bản đồ chỉ tập trung vào chức năng khởi tạo bản đồ, và không thẻ chia sẻ những dữ liệu đã được thực hiện trên bản đồ. TOPP nhận ra rằng những dữ liệu này tương đương với 'mã nguồn' của bản đồ, và nó vô cùng quan trọng trong việc tạo ra cấu trúc dữ liệu không gian mở, để người dùng có thể phân tích và mô hình hóa, việc không thể đối với dữ liệu ảnh. Ngay sau khi những đặc tính kỹ thuật của Web Feature Server (WFS) được đưa ra trong bản phác thảo của Open Geospatial Consortium (OGC), kế thừa giao thức chuẩn được phát triển bởi TOPP trong việc tạo ra những kiến trúc không gian thông tin mở, GeoServer trở thành phần mềm mã nguồn mở sớm nhất cung cấp các đặc điểm kỹ thuật trong việc tạo và chỉnh sửa dữ liệu không gian. Vào năm 2003, GeoServer được bổ xung WFS 1.0, và bổ xung WFS 1.1 vào năm 2006. Cộng đồng phát triển GeoServer đưa thêm WMS 1.1.1 và WCS 1.0. Đó là những thành phần đưa GeoServer trở thành chuẩn của máy chủ không gian địa lý nguồn mở. Những đóng góp khác bao gồm Giao diện quản trị Web và hỗ trợ nhiều định dạng dữ liệu xuất ra.Như một GeoWeb mở rộng, GeoServer luôn không ngừng phát 52 triển, từng bước hỗ trợ: Google Earth, NASA World Wind, Google Maps, Windows Live Local và Yahoo Maps trong các dịch vụ desktop truyền thống và trong nền tảng GIS. 3.3.2.2. Đặc điểm - GeoServer cho phép xuất dữ liệu linh hoạt dựa vào việc hỗ trợ các chuẩn KML, GML, Shapefile, GeoRSS, Portable Document Format, GeoJSON, JPEG, GIF, SVG, PNG ... - GeoServer có thể đọc được nhiều định dạng dữ liệu, bao gồm PostGIS, Oracle Spatial, ArcSDE, DB2, MySQL, Shapefiles, GeoTIFF, GTOPO30 và nhiều loại khác. Bên cạnh đó, GeoServer còn có thể chỉnh sửa dữ liệu nhờ những thành phần xử lý của Chuẩn Web Feature Server. - GeoServer được xây dựng trong bộ GeoTools, được viết bởi ngôn ngữ Java. - MapServer cũng được coi là một sản phẩm mã nguồn mở, có nhiều chức năng tương tự. Sự khác biệt giữa hai sản phẩm là Mapserver được phát triển trong môi trường cũ, được viết bởi ngôn ngữ C và hoạt động nhờ CGI, còn GeoServer được viết bằng ngôn ngữ Java. GeoServer phân biệt với MapServer bởi nó có giao diện đồ họa, giúp đơn giản hơn trong việc cấu hình, và thực thi chức năng sửa đổi dựa vào Web Feature Server, cho phép chỉnh sửa thông tin không gian cả trên Web cũng như trên máy trạm Desktop. Ưu điểm lớn nhất của MapServer là tốc độ thực thi nhanh hơn GeoServer, nhưng từ phiên bản 1.6 trở đi của GeoServer thì tốc độ của hai sản phẩm đã tương đương. - GeoServer hỗ trợ việc chia sẻ dữ liệu không gian địa lý lên Google Earth thông qua đặc tính 'network link' sử dụng KML. 53 Chương 4. Xây dựng ứng dụng WebGIS 4.1. Mô tả bài toán Trong khóa luận này do không tìm được nguồn dữ liệu địa lý phù hợp với bài toán cụ thể vì vậy tôi sử dụng một tập dữ liệu nhỏ để xây dựng mô phỏng các tính năng của một hệ thống WebGIS a. Dữ liệu địa lý sử dụng Dữ liệu địa lý sử dụng là dữ liệu tỉ lệ 1/2000 có phạm vi địa lý năm trong 3 xã và một thị trấn của huyện Hương Sơn – Hà Tĩnh: xã Sơn Tây, Sơn Kim 1 và Sơn Kim 2; thị trấn Tây Sơn. Với tổng diện tích tự nhiên khoảng trên 50000 ha Vị trí địa lý năm trong khoảng: - Từ 18o15’00” đến 18o 33’45” vĩ độ Bắc. - Từ 105o05’37.5” đến 105o24’22.5” kinh độ Đông. Dữ liệu địa lý được cung cấp bởi phòng đo đạc bản đồ thuộc Bộ Tài nguyên và Môi trường. Dữ liệu gồm 28 lớp các lớp thông tin sau: 1) Ao hồ 2) Bến đò phà 3) Bến lội 4) Bình độ cái 5) Bình độ cơ bản 6) Bờ cạp 7) Cầu 8) Cống giao thông 9) Đập 10) Địa danh 11) Địa giới huyện 12) Địa giới tỉnh 13) Địa giới xã 14) Địa vật dạng điểm 15) Địa vật dạng đường 16) Địa vật dạng vùng 17) Đường dây điện 54 18) Đường địa giới 19) Hướng dòng chảy 20) Mốc giới 21) Nhà dạng điểm 22) Nhà dạng vùng 23) Ranh giới quy hoạch khu kinh tế 24) Ranh giới sử dụng đất 25) Phủ bề mặt 26) Thuộc thủy hệ 27) Tim đường bộ 28) Tim dòng chảy b. Các công nghệ sử dụng - Mapbuilder - GeoServer - PostgreSQL - Apache Tomcat 4.2. Yêu cầu hệ thống Xây dựng hệ thống thông tin địa lý trên web đáp ứng các yêu cầu sau: a. Chức năng hiển thị • Hiển thị toàn bộ tất cả các lớp bản đồ. • Hiển thị các lớp bản đồ theo tùy chọn. • Thay đổi tỉ lệ hiển thị bản đồ(phóng to, thu nhỏ). • Di chuyển khu vực hiển thị. • Hiển thị thông tin về đối tượng cụ thể. • Đo khoảng cách bản đồ b. Chức năng phân tích • Thực hiện việc tìm kiếm các dữ liệu phù hợp với yêu cầu. • Chỉnh sửa đối tượng sẵn có thông tin về màu sắc thông qua 1 chuẩn bản đồ. • Tạo bản đồ chuyên đề. 4.3. Thiết kế hệ thống 4.3.1. Kiến trúc hệ thống Hệ thống thiết kế với 3 tầng khác nhau như sau: 55 ¾ Tầng trình bày : đượ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 : Mapbuilder và GeoServer. Cả 2 đều được phát triển dựa trên công nghệ Java o Mapbuilder : đả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à GeoServer, nó sẽ gửi yêu cầu của client tới GeoServer và nhận dữ liệu trả về để gửi ngược cho client. o GeoServer : 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 Mapbuilder và tầng cơ sở dữ liệu, tiếp nhận yêu cầu từ Mapbuilder 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 Mapbuilder. ¾ 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. 56 Hình 4.1 Kiến trúc hệ thống triển khai 4.3.2. Xây dựng mô hình Use-case 4.3.2.1. Xác định Actor và use case • Actor User: Tra cứu thông tin, duyệt bản đồ • Use case • Duyệt bản đồ o Phóng to, thu nhỏ bản đồ o Di chuyển bản đồ o Chọn lớp thông tin hiển thị • Tra cứu thông tin Client layer Application layer Data layer Máy tính cá nhân Webbrowser (Javascript & HTML) Web server Mapbuilder & GEOServer Database PostgresSQL 57 o Tìm kiếm thông tin các địa danh, địa vật trên bản đồ • Đo khoảng cách o Tính khoảng cách giữa hai điểm trên bản đồ 4.3.2.2. Đặc tả use case a. Mô hình use case Hình 4.2: Mô hình use case b. Đặc tả use case i. Di chuyển bản đồ • Tóm tắt Use-case này mô tả cách thức người dùng di chuyển bản đồ để xem vùng không gian khác trên bản đồ • Luồng các sự kiện o Luồng sự kiện chính Use-case này bắt đầu khi người dùng muốn dịch chuyển bản đồ để xem vùng không gian khác trên bản đồ Phóng to, thu nhỏ bản đồ Tính khoảng cách Truy vấn thông tin bản đồ Tùy chọn lớp thông hiển thị Di chuyển bản đồ 58 1. Người dùng kích chuột lên nút 2. Hệ thống ghi nhận tình trạng kích chuột,thay đổi trạng thái nút sang trạng thái đậm . Chuyển trạng thái các nút nào đang ở trạng thái đậm vì được kích chuột trước đó về trạng thái bình thường 3. Người dùng kích chuột lên bản đồ 4. Hệ thống xác định vị trí kích chuột trên bản đồ, dịch chuyển bản đồ theo chiều ngược lại (kích chuột càng ở mép ngoài bản đồ chừng nào thì dịch chuyển càng xa và ngược lại ) o Các luồng sự kiện khác Không có • Các yêu cầu đặt biệt Không có • Điều kiện tiên quyết • Không có • Post-conditions Nếu use case thực hiện thành công, hệ thống sẽ hiện thị vùng không gian bản đồ mới ra cho người dùng ngược lại trạng thái bản đồ không thay đổi • Điểm mở rộng Không có ii. Phóng to, thu nhỏ bản đồ • Tóm tắt Use-case này mô tả cách thức người dùng phóng to hay thu nhỏ bản đồ hiển thị. • Luồng các sự kiện o Luồng sự kiện chính Use case này bắt đầu khi có người dùng muốn phóng to hay thu nhỏ bản đồ hiển thị 1. Người dùng kích chuột lên nút ZoomIn hay nút ZoomOut 2. Hệ thống xác định loại nút đang chọn, tô đậm nút này để người dùng biết nút đã được chọn (ZoomIn , ZoomOut ). 3. Người dùng kích chuột lên trên bản đồ 4. Hệ thống xác định vị trí kích chuột, sau đó tuỳ theo nút được chọn là ZoomIn hay ZoomOut mà hệ thống sẽ phóng to hay thu nhỏ bản đồ tại vị trí được kích chuột 59 5. Người dùng tiếp tục kích chuột lên bản đồ để tiếp tục phóng to hay thu nhỏ bản đồ. o Các luồng sự kiện khác Không có • Các yêu cầu đặt biệt Không có • Điều kiện tiên quyết Không có • Post-conditions Nếu use case thực hiện thành công hệ thống sẽ hiển thị vùng khung gian bản đồ được phóng to hay thu nhỏ ra cho người dùng, ngược lại trạng thái bản đồ không thay đổi. • Điểm mở rộng Không có iii. Tính khoảng cách • Tóm tắt Use case này mô tả cách người dùng muốn tính khoảng cách trên bản đồ • Luồng các sự kiện o Luồng sự kiện chính Use case này bắt đầu khi người dùng muốn tính khoảng cách trên bản đồ 1. Người dùng kích chuột lên nút bấm 2. Hệ thống xác định loại nút đang chọn, tô đậm nút này để người dùng biết nút đã được chọn 3. Người dụng kích chuột lên bản đồ 4. Hệ thống xác định vị trí kích chuột để đánh dấu các điểm đầu cuối để tính khoảng cách trên bản đồ. Kết quả được hiện ra trên góc trên bên phải bản đồ 5. Người dùng tiếp tục kích chuột, chiều dài các đoạn thẳng mới sẽ được cộng thêm vào kết quả o Các luồng sự kiện khác Không có • Các yêu cầu đặt biệt 60 Không có • Điều kiện tiên quyết Không có • Post-conditions Nếu như use case thực hiện thành công kết quả sẽ được hiển thị • Điểm mở rộng Không có iv. Tùy chọn lớp thông tin hiển thị • Tóm tắt Use case này mô tả cách người dùng chọn lớp thông tin hiển thị trong bản đồ • Luồng các sự kiện o Luồng sự kiện chính Use case bắt đầu khi người sử dụng thay đổi các lớp thông tin hiển thị trên bản đồ 1. Người dùng chọn chọn lớp thông tin cần hiện thị trong danh sách lớp thông tin hệ thống cung cấp 2. Hệ thống hiện xuống danh sách lớp thông tin người sử dụng theo thứ tự từ sau tới trước 3. Người dùng kích chuột vào nút “Hiển thị bản đồ” 4. Hệ thống sẽ sinh lại bản đồ theo danh sách người dùng đã chọn. Tại đây người dùng có thể tiếp tục thực hiện các thao tác khác như phóng to, thu nhỏ … o Các luồng sự kiện khác Không có • Các yêu cầu đặt biệt Không có • Điều kiện tiên quyết Không có • Post-conditions Nếu use case thực hiện thành công hệ thống sẽ hiển thị bản đồ mới, ngược lại trạng thái bản đồ không thay đổi. • Điểm mở rộng Không có v. Truy vấn thông tin bản đồ 61 • Tóm tắt Use case này mô tả cách người dùng tìm kiếm thông tin trên bản đồ • Luồng các sự kiện o Luồng sự kiện chính 1. Người dùng nhập tên thuộc tính cần tìm kiếm vào ô tìm kiếm 2. Chọn lớp thông tin chứa nội dung tìm kiếm 3. Chọn thuộc tính tìm kiếm. Tùy vào lớp thông tin chọn ở trên mà thuộc tính cũng khác nhau 4. Người dùng kích vào nút “Tìm kiếm” 5. Hệ thống sẽ tìm và trả lại kết quả ở khung bên dưới nút tìm kiếm nếu tìm thấy hoặc không trả lại gì nếu không tìm thấy kết quả nào 6. Nếu kết quả tìm thấy, người dùng kích chuật vào kết quả 7. Kết quả tìm kiếm hiện lên bản đồ o Các luồng sự kiện khác Không có • Các yêu cầu đặt biệt Không có • Điều kiện tiên quyết Không có • Điểm mở rộng Không có 4.3.3. Thiết kế một số màn hình 62 Hình 4.1 Màn hình chính chương trình PTùy chọn lớp thông tin hiển thị CCác phím chức năng CBản đồ 63 Hình 4.2: Màn hình tìm kiếm Vùng tìm kiếm Kết quả tìm kiếm 64 KẾT LUẬN Trên đây tôi đã trình bày các tìm hiểu của tôi về WebGIS và ứng dụng xây dựng mô phỏng một hệ thống thông tin địa lý trên Web Những công việc đã làm được + Tìm hiểu được mô hình hệ thống thông tin địa lý, các thành phần của hệ thống thông tin địa lý và một số lĩnh vực ứng dụng rất thành công hệ thống thông tin địa lý mang lại nhiều giá trị cho con người + Tìm hiểu được đặc điểm của hệ thống thông tin địa lý trên Web, các kiến trúc triển khai một hệ thống thông tin địa lý trên web và ưu nhược điểm của nó với từng bài toán áp dụng. + Tìm hiểu được hai hình thức mô tả dữ liệu bản đồ là Vector và Raster. Ưu điểm và nhước điểm của hai cách thức, cách chuyển đổi giữa hai hình thức này. + Xây dựng thành công một hệ thống thông tin địa lý trên Web cho phép hiển thị các lớp thông tin bản đồ dựa trên hai công nghệ mã nguồn mở là Mapbuilder và GeoServer. Hướng phát triển của đề tài Do thời gian có hạn nên khóa luận chưa đi sâu tìm hiểu các vấn đề đưa ra. Nếu được phát triển tiếp tôi sẽ nghiên cứu thêm về các hệ thống thông tin địa lý trên nền Web và các công nghệ mới nhằm nâng cao hiệu năng hệ thống cung cấp tiện ích hơn nữa cho người sử dụng. Và đặc biệt là xây dựng được hệ thống thông tin địa lý có ý nghĩa thiết thực hơn nữa. 65 TÀI LIỆU THAM KHẢO [1] AA. Alesheikh, H. Helali, HA. Behroz. Web GIS: Technologies and Its Applications. ISPRS, 2004 [2] Aleksandar Milosavljević, Leonid Stoimenov, Slobodanka Djordjević-Kajan. An architecture for open and scalable WebGIS. CG&GIS Lab, Department of Computer Science. AGILE Conference 8th, 2005 [3] David J. Maguire, Michael F Goodchild, and David W Rhind (eds). Geographic information systems : Principles and application. Volume 1 : Principle. Longman sciencetific & technical.. John Wiley & Sons, 1991 [4] D.R. Green, D. Rix, and J. Cadoux Hudson (eds). Geographic Information. The source book for GIS. Association for geographic information AGI. Taylor & Francis, 1994 [5] Đặng văn Đức. Hệ thống thông tin địa lý. NXB Khoa học và Kỹ Thuật, 2001 [6] F. Rinaudo, E. Agosto, P. Ardissone. Gis and web-gis, commercial and open source platforms: general rules for cultural heritage documentation.CIPA, 2007 [7] Merri P. Skrdla. Introduction to GIS. MicroImages, 2005 [8] M. A Brovelli, D. Magni. An archaeological web gis application based on mapserver and postgis. ISPRS, 2005 [9] Scott Davis. GIS for Web Developers: Adding Where to Your Web Applications. Pragmatic Bookshelf, 2007 [10] William Lalonde. Styled Layer Descriptor Implementation Specification. Open Geospatial Consortium, 2009

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN- TÌM HIỂU VÀ XÂY DỰNG HỆ THỐNG THÔNG TIN ĐỊA LÝ - WEBGIS.pdf
Tài liệu liên quan