Khóa luận Xây dựng hệ thống quản lý bản đồ số dựa trên công nghệ MapServer

Mục lục

 

Mở đầu 1

Chương 1 Cơ sở địa lý học 3

1.1 Khái niện chung về bản đồ địa lý 3

1.1.1 Định nghĩa bản đồ 3

1.1.1.1. Bản đồ - mô hình toán học 3

1.1.1.2. Mô hình thực tiễn 4

1.1.1.3. Bản đồ - mô hình qui ước 5

1.1.2 Các tính chất của bản đồ 5

1.1.3 Cơ sở toán học của bản đồ địa lý 6

1.1.3.1. Tỉ lệ bản đồ (map scale) 6

1.1.3.2. Cơ sở trắc địa – thiên văn của bản đồ 6

1.1.3.3. Hệ toạ độ 8

1.2 Các hệ qui chiếu bản đồ (Map Projection) 8

1.2.1 Lưới chiếu bản đồ (lưới kinh vĩ tuyến) 8

1.2.1.1. Phép chiếu bản đồ 8

1.2.1.2. Các phép chiếu hình và lưới chiếu hình 9

1.2.2 Bố cục bản đồ 14

1.3. Các phương pháp biểu thị hiện tượng trên bản đồ 14

1.3.1. Phương pháp đường đẳng trị 14

1.3.2. Phương pháp chấm điểm 15

1.3.3. Phương pháp ký hiệu đường 15

1.3.4. Phương pháp ký hiệu đường chuyển động 15

1.3.5. Phương pháp biểu đồ định vị 16

1.3.6. Phương pháp ký hiệu 16

1.3.7. Phương pháp biểu đồ 16

Chương 2 GIS – Hệ thống thông tin địa lý 17

2.1. Khái niệm hệ thống thông tin địa lý 17

2.1.1 Định nghĩa GIS 17

2.1.2 Các thành phần của GIS 18

2.1.2.1. Thiết bị (Hardware) 18

2.1.2.2. Phần mềm 18

2.1.2.3. Chuyên viên 19

2.1.2.4. Dữ liệu địa lý (Geographic data) 19

2.1.2.5. Chính sách và quản lý 20

2.2 Dữ liệu trong GIS 20

2.2.1 Các dạng dữ liệu GIS 20

2.2.2 Mô hình thông tin không gian 20

2.2.2.1. Hệ thống vector 21

2.2.2.2. Hệ thống raster 25

2.2.2.3. Chuyển đổi cơ sở dữ liệu dạng vector và raster 29

2.2.2.4. So sánh vector và raster 30

2.2.3 Mô hình thông tin thuộc tính 31

2.3. WebGIS – Công nghệ GIS qua mạng 33

2.3.1. Giới thiệu WebGIS 34

2.3.2. Sơ đồ hoạt động của WebGIS 34

2.3.3. Tiềm năng của WebGIS 35

2.3.4. Các kiến trúc triển khai WebGIS 35

2.3.4.1. Server side 35

2.3.4.2. Client side 36

2.3.4.3. Kết hợp cả 2 chiến lược 37

2.3.5. Trao đổi dữ liệu của hệ thống WebGIS 38

2.3.5.1. Web Map Service / Server 38

2.3.5.2. Web Feature Service / Server 39

Chương 3 MapServer – WebGIS Application 40

3.1. Giới thiệu Mapserver 40

3.2. Các thành phần của Mapserver 41

3.2.1 File khởi tạo 41

3.2.2 Map file 41

3.2.3 Template file 42

3.2.4 Dữ liệu GIS 42

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

3.4. Cài đặt Mapserver 43

3.5. Tìm hiểu Mapfile 44

3.5.1. Map Object 44

3.5.2. Layer Object 46

3.5.3. Query Map Object 48

3.5.4. Projection Object 49

3.6. Kết nối các loại dữ liệu 51

3.6.1. Dữ liệu ESRI Shapefiles (SHP) 51

3.6.2. Kết nối dữ liệu Raster 53

3.6.3. Kết nối dùng thư viện OGR 56

3.6.4. Kết nối dữ liệu dùng WMS 60

3.6.5. Kết nối dữ liệu dùng WFS (Web Feature Server) 62

Chương 4: Xây dựng hệ thống quản lý bản đồ số dựa trên công nghệ

MapServer 64

4.1 Bài toán xây dựng hệ thống quản lý bản đồ số 64

4.2 Dữ liệu bản đồ 64

4.2.1 Shapefile 64

4.2.2 Xây dựng cơ sở dữ liệu 65

4.3 Xây dựng chương trình 66

4.3.1 Tạo Mapfile 66

4.3.2. Xây dựng các chức năng 67

4.3.2.1. Công cụ phóng to, thu nhỏ, pan 67

4.3.2.2. Công cụ hiển thị, tắt các lớp 67

4.3.2.3. Công cụ hiển thị thông tin của đối tượng 68

4.3.2.4. Công cụ tìm kiếm 68

4.3.3. Xây dựng các hàm xử lý 68

4.4. Cài đặt chương trình và thử nghiệm 71

4.4.1. Cài đặt 71

4.4.2. Một số giao diện chương trình 71

4.4.3. Thử nghiệm chương trình 74

Kết luận 75

 

doc83 trang | Chia sẻ: netpro | Lượt xem: 2246 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Khóa luận Xây dựng hệ thống quản lý bản đồ số dựa trên công nghệ MapServer, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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. 2.2.2 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 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. 2.2.2.1. Hệ thống 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 (point), đường (line) và vùng (polygon) 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 điểm (vertex), đoạn thẳng được nối giữa các điểm (vertex) hay còn gọi là cạnh (segment), điểm bắt đầu và điểm kết thúc của một đường gọi là các nút (node); đối tượng vùng được xác định bởi các đường khép kín. Hình 9: Đối tượng đường gồm các nút điểm cạnh 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). - Mô hình dữ liệu vector 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. : Hình 10: Biểu diễn điểm Hình 11: Biểu diễn đường Hình 12: Biểu diễn vùng Mô hình dữ liệu vector spaghetti không mô tả được mối quan hệ không gian giữa các đối tượng, vì thế các phép phân tích, tính toán không gian đều thực hiện khó khăn. Đối với dữ liệu dạng vùng, đường ranh giới giữa 2 vùng được ghi nhận 2 lần, mỗi lần cho một vùng. Mô hình này có ưu điểm là dễ trình bày, biên tập. Phần mềm điển hình là MapInfo. - Mô hình dữ liệu vector 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 (vertex), 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 độ. Hình 13: Dữ liệu topology vector Topology vùng Vùng Cung a AB,AaB B AB,AbB Vùng ngoài a và b Ngoài 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 Aba A B b Vùng ngoài Topology nút Nút Cung A AB,AaB B AB,AbB 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.2.2.2. 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 (pixel) 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 Hình 14: Mô hình dữ liệu raster và vector 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ỏ 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 ô 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 15: Dữ liệu vector Vị trí của mỗi pixel được xác định bởi số hàng và số cột. Giá trị được gán vào pixel tượng trưng cho một thuộc tính mà nó thể hiện. Hình ảnh thể hiện càng rõ khi kích thước của pixel hay ô lưới càng nhỏ. Thông số này được gọi là độ tương phản. Ảnh có độ tương phản càng cao thì kích thước càng tăng. Xây dựng cơ sở dữ liệu Raster Mỗi pixel là một đối tượng, có vị trí theo hàng, cột tương ứng trên ảnh, giá trị của pixel cho biết pixel đó thuộc đối tượng nào, tính chất của đối tượng đó được lưu trữ ở một cơ sở dữ liệu thuộc tính ương ứng. 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 16: Cấu trúc dữ liệu Raster Cấu trúc lưu trữ raster cơ bản: Cấu trúc lưu mã chi tiết (exhaustive enumeration) Cấu trúc lưu mã run length (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 17: 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 18: Cấu trúc mã chạy dài run-length encoding Cơ sở dữ liệu Raster có thể chứa hàng ngàn lớp. Kiểu giá trị của pixel trong mỗi layer tùy theo việc mã hóa của người sử dụng, có thể là số nguyên, số thực hay ký tự alphabet. Để thể hiện một bề mặt liên tục người ta sử dụng mô hình raster, các bề mặt liên tục này thường thể hiện bề mặt địa hình, mưa, áp suất không khí, nhiệt độ, mật độ dân số… 2.2.2.3. 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. Hình 19: Chuyển đổi vector sang raster 2.2.2.4. So sánh vector và raster Hệ thống cơ sở dữ liệu Raster Thuận lợi: 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ó. 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 đượ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. 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. Điều này đặc biệt khó cân xứng với sự hiện diện đặc tính thuộc về đường thẳng. Thể hiện bản đồ không rõ nét nếu độ tương phản thấp, độ tương phản cao thì tăng kích thước file ảnh Hệ thống cơ sở dữ liệu Vector Ưu điểm: Việc lưu trữ đò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ó Thể hiện liên hệ hình học do đó thích hợp cho các phân tích về hình học hay phân tích về mạng lưới và số hóa các bản đồ vẽ tay. Nhược điểm: Vị trí của điểm đỉnh cần được lưu trữ 1 cách rõ ràng Thuật toán rất phức tạp 2.2.3. Mô hình thông tin thuộc tính 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. Để 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ả. 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 arc (đường) 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ể. 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: Hình 20: Mối quan hệ giữa thông tin bản đồ và thông tin thuộc tính 2.3. WebGIS – Công nghệ GIS qua mạng 2.3.1. Giới thiệu WebGIS 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 Wilde 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 client tiêu biểu là trình duyệt web và server-side bao gồm một Web server có cung cấp một chương trình phần mềmWebGIS. 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 server ở xa. Server 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 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 platform 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 phải được thiết kế lại để trở thành ứng dụng WebGIS theo các kỹ thuật mạng Internet. 2.3.2. Sơ đồ hoạt động của WebGIS Hình 22: Sơ đồ hoạt động của WebGIS Quá trình hoạt động của WebGIS được minh họa như hình vẽ trên. Người dùng sử dụng trình duyệt web ở phía client Client gửi yêu cầu của người sử dụng đến WebServer qua giao thức HTTP Webserver nhận yêu cầu của người dùng, nếu là yêu cầu về bản đồ thì webserver sẽ chuyển tiếp nó đến ứng dụng server tương ứng ở đây là Mapserver Mapserver sẽ nhận các yêu cầu cụ thể, gọi các hàm có liên quan để tính toán xử lý. Nếu có yêu cầu về dữ liệu Mapserver sẽ gửi yêu cầu tới cơ sở dữ liệu để lấy ra dữ liệu. Data server dữ liệu tiến hành truy vấn lấy ra dữ liệu cần thiết và gửi lại cho Mapserver Trong quá trình truy cập cơ sở dữ liệu, Mapserver thực thi tham chiếu đến tập tin cấu hình bản đồ (Map file). Dữ liệu lấy về được chuyển về 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 và hiển thị trên trình duyệt. 2.3.3. Tiềm năng của WebGIS Khả năng phân phối thông tin địa lý rộng rãi trên toàn cầu Người dùng internet có thể truy cập đến các ứng dụng GIS mà không phải mua phần mềm Đối với phần lớn người dùng không có kinh nghiệm về GIS thì việc sử dụng WebGIS sẽ đơn giản hơn việc sử dụng các ứng dụng GIS khác. 2.3.4. Các kiến trúc triển khai WebGIS Mô hình hoạt động của WebGIS được chia ra làm 2 phần: các hoạt động ở phái client – client side và các hoạt động xử lý ở phái server (server side) Server side : cho phép người dùng gửi yêu cầu lấy dữ liệu và phân tích trên máy chủ. Máy chủ sẽ thực hiện các yêu cầu và gửi trả dữ liệu hoặc kết quả cho người dùng. Client side : cho phép người dùng thực hiện vài thao tác phân tích trên dữ liệu tại chính máy người dùng. Server và client có thể kết hợp giữa client side và server side để phục vụ nhu cầu của người dùng. 2.3.4.1. Server side Server side tập trung cung cấp dữ liệu GIS và phân tích trên một máy chủ (Server). Máy chủ này có khả năng truy cập dữ liệu và phần mềm để giải quyết yêu cầu của máy khách. Máy khách sẽ chỉ sử dụng rất ít tiến trình, chủ yếu là gửi các yêu cầu và hiển thị kết quả. Trong WebGIS đôi khi thuật ngữ mapserver chỉ ra kiến trúc được dùng là server-side, mà trong đó 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. Kiến trúc 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ó 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, Java… Ưu điểm: Nếu máy chủ có khả năng xử lý cao, người dùng sẽ truy cập được các dữ liệu lớn và phức tạp thay vì phải xử lý trên máy khách. Nếu máy chủ có khả năng xử lý cao được dùng, các chức năng phân tích GIS phức tạp sẽ được xử lý nhanh hơn thay vì xử lý trên máy khách. Nhược điểm: Bất cứ các yêu cầu dù lớn hay nhỏ đều phải được gửi về cho máy chủ xử lý và các kết quả cũng được gửi trả lại cho máy khách hiển thị thông qua Internet. Ảnh hưởng đến băng thông khi truyền tải dữ liệu lớn. Không tận dụng được ưu thế của máy cục bộ. Server side thường được sử dụng cho các hệ thống lớn trên toàn cầu. 2.3.4.2. Client side Client side chuyển đổi các yêu cầu sang được xử lý tại máy khách. Máy khách phải có khả năng đủ mạnh để xử lý các yêu cầu này.Thay vì phải bắt máy chủ xử lý tất cả thì một số chức năng GIS sẽ được tải về máy khách, trú ngụ ở đó và dữ liệu được xử lý tại máy khách. Có 2 dạng triển khai của kiến trúc client side như sau: GIS applet được phân phối đến client khi có yêu cầu 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 ở client Người dùng tạo ra một yêu cầu từ trình duyệt, yêu cầu được gửi tới server, server xử lý các yêu cầu Kết quả trả về cho client bao gồm các 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 đó Applet được viết bằng javascript, java… GIS applet và các plug-in cố định ở client Các GIS applet cài đặt cố định ở client Trình duyệt web cài đặt một số các plug-in cần thiết Server được gọi khi client cần dữ liệu mới Người dùng được thao tác trên dữ liệu họ dùng và phân tích chúng Ưu điểm: Sử dụng được ưu thế của máy khách. Người dùng có thể điều khiển được các điều khiển xử lý dữ liệu. Người dùng có thể làm việc mà không cần phải gửi và nhận các yêu cầu qua Internet. Nhược điểm: Việc tải các chức năng từ máy chủ như các Applets có thể bị trì hoãn, kéo dài. Các dữ liệu lớn và phức tạp sẽ khó được xử lý trên máy khách nếu máy khách không đủ mạnh. Các thủ tục GIS phức tạp sẽ khó thực hiện trên máy khách nếu máy khách không đủ mạnh. Người dùng sẽ không được huấn luyện (đào tạo) nếu muốn dùng dữ liệu hoặc các chức năng phân tích. Client side thường được sử dụng cho các hệ thống nhỏ trong phạm vi cục bộ. 2.3.4.3. Kết hợp cả 2 chiến lược Nếu dùng thuần Server side hoặc Client side thì sẽ gặp các giới hạn: Nếu server side đòi hỏi phải chuyển tải thường xuyên, thì các tác vụ của nó sẽ dễ làm giảm đến băng thông và đường truyền Internet. Client side thì lại có thể chiếm hết tài nguyên của máy khách. Một số chương trình sẽ thực hiện rất chậm do sự không phù hợp giữa các yêu cầu của các tiến trình và khả năng của máy. Server side và client side có thể kết hợp với nhau để cho ra các kết quả lai phù hợp với khả năng của server và client. Các tác vụ đòi hỏi sử dụng database hoặc phân tích phức tạp sẽ được gán trên máy chủ. Các tác vụ nhỏ sẽ được gán ở máy khách. Trong trường hợp này, cả máy chủ và máy khách cùng chia sẻ thông tin với nhau về sức mạnh và khả năng của chúng. 2.3.5. Trao đổi dữ liệu của hệ thống WebGIS GIS đã ra đời từ khá lâu và các ứng dụng GIS đã được phát triển trên nhiều lĩnh vực khác nhau, mỗi ứng dụng này, dữ liệu GIS cũng được tạo ra, các dữ liệu này là rất lớn và tốn thời gian và công sức xây dựng. Việc chia sẻ nguồn tài nguyên dữ liệu sẽ làm giảm chi phí xây dựng và quản lý dữ liệu GIS. Trong mô hình kiến trúc WebGIS đơn thì dữ liệu GIS được dùng cho một nhóm ứng dụng, mà dữ liệu này lại có thể được sử dụng cho các nhóm ứng dụng khác. Tổ chức OGC đã đưa ra 2 chuẩn trao đổi dữ liệu: 2.3.5.1. Web Map Service / Server Trong chuẩn trao đổi dữ liệu này, web server sẽ trở thành web map server có service phục vụ cho chia sẻ dữ liệu. Các hoạt động mà client có thể thực hiện thông qua service này gồm : nhận về mô tả các bản đồ, nhận về bản đồ, và các thông tin truy vấn các đặc điểm được thể hiện trên bản đồ. Chuẩn này không áp dụng cho việc nhận dữ liệu chưa xử lý dạng thuộc tính hay không gian mà thường nhận về một ảnh bản đồ dạng đồ họa. Những bản đồ này thường được tạo ra với các định dạng như PNG, GIF, JPEG. Các chức năng của một web map service: GetCapabilities: Khả năng hỗ trợ, client nhận về một mô tả thông tin WMS, các tham số được chấp nhận và hỗ trợ, bảng mô tả dưới dạng file XML. GetMap lấy bản đồ, client nhận về một ảnh bản đồ phù hợp với tham số mà client gửi lên server. GetFeatureInfo lấy thông tin đặc điểm, client hỏi thông tin về đặc điểm nào đó xuất hiện trên bản đồ. Client gửi các yêu cầu dưới dạng một URL, các yêu cầu được chỉ ra bởi tham số. 2.3.5.2. Web Feature Service / Server Server được gọi là Web Feature server có service phục vụ việc chia sẻ dữ liệu. Tuy nhiên thay vì trả về một ảnh bản đồ dạng đồ họa thì Web Feature Server sẽ gửi về thông tin không gian và thông tin thuộc tính có liên quan dưới dạng file GML (Geographic Markup Language) một dạng file XML, client sử dụng file XML này để tạo ra ảnh bản đồ. Chức năng của WFS giống với WMS chỉ khác dữ liệu trao đổi. GetCapabilities: trả về một tài liệu XML (Extensible Markup Languge) mô tả chức năng của WCS. DescribeCoverage: trả về một tài liệu XML mô tả các Coverage mà WCS Server có thể cung cấp. GetCoverage: trả về một Coverage thoả mãn các điều kiện mà Client cung cấp. Chương 3 MapServer – WebGIS Application 3.1. Giới thiệu Mapserver Mapserver là môi trường phát triển cho việc xây dựng ứng dụng GIS thông qua internet. Trong mô hình kiến trúc WebGis, Mapserver là ứng dụng GIS được đặt trên webserver. Mapserver 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. Mapserver có thể chạy trên nhiều môi trường, nó được viết bằng C++ có thể chạy trên các version của UNIX/LINUX, WINDOWS và cả trên MacOS. Để giao tiếp với các thành phần trên môi trường web, Mapserver sử dụng chuẩn giao tiếp CGI (Common Gateway Interface). Phiên bản Mapserver hiện tại là MapServer 5.4. MapServer có các đặc điểm sau: Hỗ trợ các dịch vụ WebGIS theo chuẩn OGC, bao gồm: WMS Server, WMS Client, WFS Server, WFS Client và WCS Server. Xuất bản đồ với nhiều ưu điểm: Vẽ đối tượng theo tỷ lệ. Hiển thị nhãn theo đối tượng Tùy biến giao diện, mẫu trước khi xuất. Sử dụng font: TrueFont Tạo bản đồ chuyên đề dựa trên biểu thức truy vấn trên các lớp cơ sở. Hệ thống Mapserver bao gồm cả Mapscript, hỗ trợ các ngôn ngữ kịch bản phổ biến và môi trường phát triển như C#, PHP, Perl, Pytho

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

  • docXây dựng hệ thống quản lý bản đồ số dựa trên công nghệ mapserver.doc
Tài liệu liên quan