LuanVan GIS NgoVietAnh

100
MỤC LỤC LỜI CAM ĐOAN...........................................3 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT.................4 DANH MỤC CÁC BẢNG......................................5 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ...........................6 Chương 1: TỔNG QUAN VỀ WEBGIS...........................7 1.1. Khái niệm cơ bản về GIS.........................7 1.2. Các giải pháp và ứng dụng GIS...................8 1.2.1........................................Môi trường 9 1.2.2................................Khí tượng thuỷ văn 9 1.2.3....................................... Nông nghiệp 10 1.2.4...............................................Y tế 10 1.2.5...........................Chính quyền địa phương 10 1.2.6.............................................Bán lẻ 10 1.2.7........................................Giao thông 11 1.3. Tổng quan về WebGIS............................11 1.3.1.. Mô hình xử lý và kiến trúc triển khai WebGIS. 12 1.3.2.........Các chuẩn trao đổi cho WebGIS hiện nay. 15 Chương 2: GEOSERVER – WEBGIS APPLICATION...............19 2.1. Lịch sử phát triển.............................19 2.2. Mô hình xử lý..................................21 2.3. Lưu trữ thông tin bằng Shapefile...............22 2.3.1.......................Giới thiệu ESRI Shapefile. 22 2.3.2...........................................TỆP SHP 22 1

Transcript of LuanVan GIS NgoVietAnh

Page 1: LuanVan GIS NgoVietAnh

MỤC LỤC

LỜI CAM ĐOAN.......................................................................................................3DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT..............................................4DANH MỤC CÁC BẢNG.........................................................................................5DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ.....................................................................6Chương 1: TỔNG QUAN VỀ WEBGIS................................................................7

1.1. Khái niệm cơ bản về GIS.................................................................................71.2. Các giải pháp và ứng dụng GIS.......................................................................8

1.2.1. Môi trường...............................................................................................91.2.2. Khí tượng thuỷ văn..................................................................................91.2.3. Nông nghiệp..........................................................................................101.2.4. Y tế........................................................................................................101.2.5. Chính quyền địa phương.......................................................................101.2.6. Bán lẻ.....................................................................................................101.2.7. Giao thông.............................................................................................11

1.3. Tổng quan về WebGIS..................................................................................111.3.1. Mô hình xử lý và kiến trúc triển khai WebGIS.....................................121.3.2. Các chuẩn trao đổi cho WebGIS hiện nay............................................15

Chương 2: GEOSERVER – WEBGIS APPLICATION......................................192.1. Lịch sử phát triển...........................................................................................192.2. Mô hình xử lý................................................................................................212.3. Lưu trữ thông tin bằng Shapefile...................................................................22

2.3.1. Giới thiệu ESRI Shapefile.....................................................................222.3.2. TỆP SHP...............................................................................................222.3.3. Tệp DBF................................................................................................252.3.4. Tệp SHX................................................................................................252.3.5. Tệp PRJ.................................................................................................26

2.4. Kết nối dữ liệu bản đồ sử dụng WMS...........................................................262.4.1. Giới thiệu WMS....................................................................................262.4.2. Các tham số thông dụng trong câu Request..........................................272.4.3. Tệp mô tả cách hiển thị bản đồ SLD.....................................................31

2.5. Kết nối dữ liệu bằng WFS.............................................................................382.5.1. Giới thiệu WFS.....................................................................................382.5.2. Các tham số thông dụng trong câu request............................................402.5.3. Bộ lọc (Filter)........................................................................................412.5.4. Các phép toán không gian (Spatial Operators)......................................432.5.5. Các phép toán so sánh...........................................................................462.5.6. Các phép toán Logic..............................................................................502.5.7. Định danh của Feature (Feature Identifier)...........................................51

Chương 3: HỆ THỐNG QUẢN LÝ TÌNH HÌNH SÂU BỆNH HẠI LÚA.........533.1. Khảo sát hiện trạng........................................................................................533.2. Dữ liệu trong bài toán....................................................................................53

3.2.1. Dữ liệu bản đồ:......................................................................................53

1

Page 2: LuanVan GIS NgoVietAnh

3.2.2. Dữ liệu thuộc tính..................................................................................543.3. Phân tích và xác định yêu cầu.......................................................................543.4. Xác định Actor và Use case...........................................................................56

3.4.1. Các Actor của hệ thống.........................................................................563.4.2. Use case.................................................................................................563.4.3. Mô hình Use-case..................................................................................573.4.4. Đặc tả Use case.....................................................................................58

3.5. Thiết kế kiến trúc hệ thống............................................................................623.6. Chi tiết ứng dụng...........................................................................................64

Chương 4: CÀI ĐẶT VÀ THỬ NGHIỆM...........................................................714.1. Cài đặt và cấu hình GeoServer......................................................................714.2. Cài đặt cơ sở dữ liệu......................................................................................714.3. Thử nghiệm....................................................................................................74

KẾT LUẬN VÀ KIẾN NGHỊ..................................................................................76TÀI LIỆU THAM KHẢO........................................................................................77

2

Page 3: LuanVan GIS NgoVietAnh

LỜI CAM ĐOAN

Với tư cách là học viên cao học của Viện Đào tạo sau đại học của Trường Đại

học Bách khoa Hà Nội, tôi xin cam đoan toàn bộ nội dung chính của luận văn khoa

học này là công sức nghiên cứu của tôi và tôi xin chịu hoàn toàn trách nhiệm về nội

dung của quyển luận văn này.

3

Page 4: LuanVan GIS NgoVietAnh

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

GIS Hệ thống thông tin địa lý (Geographic Information System)

ESRIViện nghiên cứu các hệ môi trường (Environmental Systems

Research Institute)

DBMS Hệ quản trị cơ sở dữ liệu (Database Management System)

CSDL Cơ sở dữ liệu

OCSIInternet khách/chủ hướng đối tượng (Object-oriented client/server

Internet)

DCS Hệ thống tính toán phân tán (Distributed Computing System)

SQL Ngôn ngữ truy vấn có cấu trúc (Structured Query Language)

OSF Nền tảng phần mềm mở (Open Software Foundation)

DCE Môi trường tính toán phân tán (Distributed Computing Environment)

EPSG Nhóm khảo sát dầu khí châu Âu (European Petroleum Survey Group)

GEODAS Hệ thống dữ liệu địa vật lý (Geophysical Data System)

WKT

Ngôn ngữ đánh dấu văn bản đại diện cho các đối tượng hình học

vector trên bản đồ, hệ thống tham chiếu không gian của các đối tượng

không gian và biến đổi giữa các hệ thống tham chiếu không gian

(Well-known Text)

DANH MỤC CÁC BẢNGBảng 1. Tổ chức của tệp SHP......................................................................23Bảng 2. Các trường trong File Header.........................................................23Bảng 3. Các trường trong Record Header...................................................24Bảng 4. Point Record...................................................................................25Bảng 5. Tệp SHX.........................................................................................26Bảng 6. Kết quả thử nghiệm chương trình..................................................75

4

Page 5: LuanVan GIS NgoVietAnh

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình 1: Kiến trúc WebGIS..........................................................................13Hình 2: Các dạng yêu cầu từ phía Client....................................................15Hình 3: Dữ liệu GIS trong kiến trúc WebGIS đơn thể................................16Hình 4: Chia sẽ dữ liệu GIS giữa các nhóm ứng dụng................................16Hình 5: Kiến trúc các dịch vụ web của OGC..............................................17Hình 6: Dữ liệu trả về của các services.......................................................18Hình 7: Kiến trúc của GeoServer................................................................20Hình 8: Mô hình xử lý chức năng GetFeature trong Geoserver..................21Hình 9: Các chức năng của WMS...............................................................27Hình 10: Các tham số trong chuỗi URL thực hiện chức năng GetMap.....28Hình 11: Hình chữ nhật bao.......................................................................30Hình 12: kết quả một truy vấn WMS.........................................................31Hình 13: Kiến trúc của Style......................................................................32Hình 14: Minh họa thẻ <PointSymbolizer>...............................................33Hình 15: Minh họa thẻ <LineSymbolizer>................................................34Hình 16: Minh họa thẻ <PolygonSymbolizer>.........................................35Hình 17: Minh họa thẻ <TextSymbolizer>................................................36Hình 18: Minh họa thẻ <Filter>.................................................................38Hình 19: Lược đồ giao thức.......................................................................39Hình 20: Kết quả một truy vấn WFS.........................................................41Hình 21: Bản đồ hiện trạng........................................................................55Hình 22: Mô hình USE CASE...................................................................57Hình 23: Mô hình hệ thống........................................................................62Hình 24: Màn hình chính...........................................................................65Hình 25: Hệ thống trình đơn......................................................................66Hình 26: Kết quả tìm kiếm........................................................................67Hình 27: Thông tin dữ liệu sâu bệnh.........................................................69Hình 28: Kết quả dự báo............................................................................70

5

Page 6: LuanVan GIS NgoVietAnh

Chương 1: TỔNG QUAN VỀ WEBGIS

1.1. Khái niệm cơ bản về GIS

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 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ẽ khó đọc. Bên cạnh đó

bản đồ giấy không thể cập nhật theo thời gian thực được.

Ý 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ý (GIS) ra đời thay thế cho thuật

ngữ bản đồ máy tính.

GIS là từ viết tắt của:

+ G: Geographic: dữ liệu không gian thể hiện vị trí, hình dáng (điểm, tuyến,

vùng)

+ I: Information: thuộc tính, không thể hiện vị trí (như mô tả bằng số, văn

bản, tên …)

+ S: System: sự liên kết bên trong giữa các thành phần khác nhau (phần

cứng, phần mềm)

Hệ thống thông tin địa lý (Geographical Information System) 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 (Query) và phân tích thống kê (statistical analysis) với

6

Page 7: LuanVan GIS NgoVietAnh

sự thể hiện trực quan (Visualization) và phân tích các vật thể hiện tượng không gian

(geographic analysis) 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.

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í (nơi) trên bề mặt trái đất.

- 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 đối tượng.

1.2. Các giải pháp và ứng dụng GIS

Khi làm việc với hệ thống GIS có thể tiếp cận dưới các cách nhìn nhận như sau:

Cơ sở dữ liệu địa lý (Geodatabase - theo cách gọi của ESRI): GIS là một

cơ sở dữ liệu không gian chuyển tải thông tin địa lý theo quan điểm gốc

của mô hình dữ liệu GIS (yếu tố, topology, mạng lưới, raster,...)

Hình tượng hoá (Geovisualization): GIS là tập các bản đồ thông minh thể

hiện các yếu tố và quan hệ giữa các yếu tố trên mặt đất. Dựa trên thông

tin địa lý có thể tạo nhiều loại bản đồ và sử dụng chúng như là một cửa sổ

vào trong cơ sở dữ liệu để hỗ trợ tra cứu, phân tích và biên tập thông tin.

7

Page 8: LuanVan GIS NgoVietAnh

Xử lý (Geoprocessing): GIS là các công cụ xử lý thông tin cho phép tạo

ra các thông tin mới từ thông tin đã có. Các chức năng xử lý thông tin địa

lý lấy thông tin từ các tập dữ liệu đã có, áp dụng các chức năng phân tích

và ghi kết quả vào một tập mới.

Xét dưới góc độ ứng dụng trong quản lý nhà nước, GIS có thể được hiểu như là

một công nghệ xử lý các dữ liệu có toạ độ (bản đồ) để biến chúng thành các thông

tin trợ giúp quyết định cho các nhà quản lý.

Vì GIS được thiết kế như một hệ thống chung để quản lý dữ liệu không gian, nó

có rất nhiều ứng dụng trong việc phát triển đô thị và môi trường tự nhiên như là:

quy hoạch đô thị, quản lý nhân lực, nông nghiệp, điều hành hệ thống công ích, lộ

trình, nhân khẩu, bản đồ, giám sát vùng biển, cứu hoả và bệnh tật. Trong phần lớn

lĩnh vực này, GIS đóng vai trò như là một công cụ hỗ trợ quyết định cho việc lập kế

hoạch hoạt động.

1.2.1. Môi trường

Theo những chuyên gia GIS kinh nghiệm nhất thì có rất nhiều ứng dụng đã phát

triển trong những tổ chức quan tâm đến môi trường. Với mức đơn giản nhất thì

người dùng sử dụng GIS để đánh giá môi trường, ví dụ như vị trí và thuộc tính của

cây rừng. Ứng dụng GIS với mức phức tạp hơn là dùng khả năng phân tích của GIS

để mô hình hóa các tiến trình xói mòn đất sự lan truyền ô nhiễm trong môi trường

khí hay nước, hoặc sự phản ứng của một lưu vực sông dưới sự ảnh hưởng của một

trận mưa lớn. Nếu những dữ liệu thu thập gắn liền với đối tượng vùng và ứng dụng

sử dụng các chức năng phân tích phức tạp thì mô hình dữ liệu dạng ảnh (raster) có

khuynh hướng chiếm ưu thế.

1.2.2. Khí tượng thuỷ văn

Trong lĩnh vực này GIS được dùng như là một hệ thống đáp ứng nhanh, phục vụ

chống thiên tai như lũ quét ở vùng hạ lưu, xác định tâm bão, dự đoán các luồng

chảy, xác định mức độ ngập lụt, từ đó đưa ra các biện pháp phòng chống kịp thời...

8

Page 9: LuanVan GIS NgoVietAnh

vì những ứng dụng này mang tính phân tích phức tạp nên mô hình dữ liệu không

gian dạng ảnh (raster) chiếm ưu thế.

1.2.3. Nông nghiệp

Những ứng dụng đặc trưng: Giám sát thu hoạch, quản lý sử dụng đất, dự báo về

hàng hoá, nghiên cứu về đất trồng, kế hoạch tưới tiêu, kiểm tra nguồn nước.

1.2.4. Y tế

Ngoại trừ những ứng dụng đánh giá, quản lý mà GIS hay được dùng, GIS còn có

thể áp dụng trong lĩnh vực y tế. Ví dụ như, nó chỉ ra được lộ trình nhanh nhất giữa

vị trí hiện tại của xe cấp cứu và bệnh nhân cần cấp cứu, dựa trên cơ sở dữ liệu giao

thông. GIS cũng có thể được sử dụng như là một công cụ nghiên cứu dịch bệnh để

phân tích nguyên nhân bộc phát và lây lan bệnh tật trong cộng đồng.

1.2.5. Chính quyền địa phương

Chính quyền địa phương là một trong những lĩnh vực ứng dụng rộng lớn nhất

của GIS, bởi vì đây là một tổ chức sử dụng dữ liệu không gian nhiều nhất. Tất cả

các cơ quan của chính quyền địa phương có thể có lợi từ GIS. GIS có thể được sử

dụng trong việc tìm kiếm và quản lý thửa đất, thay thế cho việc hồ sơ giấy tờ hiện

hành. Nhà cầm quyền địa phương cũng có thể sử dụng GIS trong việc bảo dưỡng

nhà cửa và đường giao thông. GIS còn được sử dụng trong các trung tâm điều khiển

và quản lý các tình huống khẩn cấp.

1.2.6. Bán lẻ

Phần lớn siêu thị vùng ngoại ô được xác định vị trí với sự trợ giúp của GIS. GIS

thường lưu trữ những dữ liệu về kinh tế-xã hội của khách hàng trong một vùng nào

đó. Một vùng thích hợp cho việc xây dựng môt siêu thị có thể được tính toán bởi

thời gian đi đến siêu thị, và mô hình hoá ảnh hưởng của những siêu thị cạnh tranh.

GIS cũng được dùng cho việc quản lý tài sản và tìm đường phân phối hàng ngắn

nhất.

9

Page 10: LuanVan GIS NgoVietAnh

1.2.7. Giao thông

GIS có khả năng ứng dụng đáng kể trong lĩnh vực vận tải. Việc lập kế hoạch và

duy trì cở sở hạ tầng giao thông rõ ràng là một ứng dụng thiết thực, nhưng giờ đây

có sự quan tâm đến một lĩnh vực mới là ứng dụng định vị trong vận tải hàng hải, và

hải đồ điện tử. Loại hình đặc trưng này đòi hỏi sự hỗ trợ của GIS.

1.3. Tổng quan về WebGIS

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 nền Desktop với chi phí khá cao. Với những máy tính này thì cần thiết phải cài

đặt các module xử lý GIS (dưới dạng các thư viện dll, hay các ActiveX) điều này

cản trở khả năng ứng dụng GIS rộng rãi. Xuất phát từ yêu cầu thực tế đó thì

webGIS đã ra đời, vậy WebGIS là gì?

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 (Edward, 2000). 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 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ềm WebGIS đóng

vai trò như Application Server. 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 (Peng 1997).

10

Page 11: LuanVan GIS NgoVietAnh

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.

1.3.1. Mô hình xử lý và kiến trúc triển khai WebGIS.

Kiến trúc xuất bản web của hệ thống thông tin dữ liệu không gian cũng gần

giống như kiến trúc dành cho hệ thống thông tin web cơ bản khác. Sự khác biệt là

cách thức tổ chức lưu trữ và truy xuất dữ liệu thuộc tính và dữ liệu không gian. 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ữ (clearing house) được dùng để

lưu trữ và duy trì những siêu dữ liệu (dữ liệu về dữ liệu – metadata) 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.

Hình minh họa sau đây thể hiện kiến trúc và quá trình làm việc với hệ thống

web xử lý thông tin không gian.

11

Page 12: LuanVan GIS NgoVietAnh

Hình 1: Kiến trúc WebGIS

Các bước xử lý

Người dùng sử dụng trình duyệt ở phía client (thường là giao diện đồ họa)

1. Client gửi các yêu cầu như là lấy ảnh bản đồ, thông tin vị trí hay thông tin

mô tả về các lớp của người sử dụng thông qua giao thức HTTP đến web

server.

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)

12

Page 13: LuanVan GIS NgoVietAnh

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.

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ả về 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. Dữ liệu trả về sẽ tùy theo phương thức truy vấn dữ

liệu.Application server sẽ trả về ảnh bản đồ nếu truy vấn dữ liệu theo

chuẩn WMS, trả về dữ liệu dạng GML nếu truy vấn dữ liệu theo chuẩn

WFS.

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.

13

Page 14: LuanVan GIS NgoVietAnh

Hình 2: Các dạng yêu cầu từ phía Client.

1.3.2. Các chuẩn trao đổi cho WebGIS hiện nay.

Từ nhiều thập niên nay, một số lượng lớn ứng dụng GIS đã được phát triển

trong nhiều lĩnh vực như điều khiển, quản lý tài nguyên, giao thông, giáo dục, tài

nguyên nước, trong lĩnh vực quân sự … Ứng với mỗi ứng dụng GIS, dữ liệu GIS

cũng được tạo ra tương ứng.Thông thường các dữ liệu này sẽ rất lớn và tốn thời

gian và công sức để xây dựng. Vấn đề chia sẻ nguồn tài nguyên dữ liệu được đặt ra

nhằm giảm thiểu chi phí xây dựng và quản lý dữ liệu GIS.

14

Page 15: LuanVan GIS NgoVietAnh

Hình 3: Dữ liệu GIS trong kiến trúc WebGIS đơn thể

Trong mô hình kiến trúc trên, hệ thống WebGIS được gọi là đơn thể. Vì

trong đó dữ liệu GIS được dùng chỉ cho một nhóm ứng dụng GIS. Trong khi dữ liệu

GIS này có thể được sử dụng cho các nhóm ứng dụng GIS khác. Chẳng hạn như dữ

liệu bản đồ thành phố dùng cho nhóm các ứng dụng tìm đường đi trong thành phố.

Dữ liệu này cũng có thể được dùng cho các nhóm ứng dụng tìm thông tin nơi chốn

như quán ăn nhà hàng hoặc nhóm ứng dụng liên quan đến hệ định vị toàn cầu v.v…

Hình 4: Chia sẽ dữ liệu GIS giữa các nhóm ứng dụng

15

Page 16: LuanVan GIS NgoVietAnh

Việc chia sẻ dữ liệu GIS này thường khó khăn bởi vì thiếu một chuẩn chung

giữa các hệ thống GIS. Do đó tổ chức OpenGIS (OGC – OpenGis Consortium) đã

đưa ra ba chuẩn dịch vụ truy cập thông tin địa lý mang tính chuẩn hóa cao: Web

Map Service (WMS), Web Feature Service (WFS) và Web Coverage Service

(WCS). Ngoài ra còn các chuẩn khác như GeoParse và GeoCoder. Hình sau đây mô

tả sơ đồ kiến trúc các dịch vụ web của tổ chức OGC.

Hình 5: Kiến trúc các dịch vụ web của OGC

Trong đó WMS và WFS là hai chuẩn cơ bản được sử dụng rất nhiều nhằm

cung cấp các dịch vụ biễu diễn các thông tin địa lý ra ảnh bản đồ và truy vấn các dữ

liệu địa lý đó.

16

Page 17: LuanVan GIS NgoVietAnh

Hình 6: Dữ liệu trả về của các services

Web Map Service

Đây là một chuẩn do tổ chức OGC đưa ra. Trong đó web server sẽ trở thành

web map service có service phục vụ cho chia sẽ dữ liệu. Chuẩn này không áp dụng

cho việc nhận dữ liệu về dữ liệu thô (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, JEPG hoặc cũng có thể là dưới dạng

các yếu tố đồ họa như SVG (dạng XML) hoặc là định dạng WebCGM (Web

computer Graphics Metafile).

Web Feature Service

Đây là một chuẩn do tổ chức OGC đưa ra. Trong đó web server giờ được gọi

là Web Feature server có service phục vụ chia sẻ dữ liệu. Tuy nhiên thay vì trả về

một ảnh bản đồ dạng đồ họa như WMS thì Web Feature Server sẽ gửi trả 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 XML và sau đó client có thể sử dung file

XML này làm dữ liệu để tạo ra ảnh bản đồ.

WFS và WMS sẽ được trình bày chi tiết hơn trong chương tiếp theo đây.

17

Open Web Services

WMS WFS

Page 18: LuanVan GIS NgoVietAnh

Chương 2: GEOSERVER – WEBGIS APPLICATION

2.1. Lịch sử phát triển

Geoserver là một server mã nguồn mở được phát triển bởi trung tâm nghiên cứu

Refractions (nơi phát triển PostGIS cho postgreSQL). Nó được viết bằng ngôn ngữ

Java (J2EE) và là phần mềm mã nguồn mở được xây dựng với các thành phần cũng

ở dạng nguồn mở hoặc phi lợi nhuận.

Geoserver cài đặt đầy đủ 2 chuẩn của tổ chức OGC là WFS (Web Feature

Service) và WMS (Web Map Service) nên cũng có thể gọi Geoserver là Web

Feature Server hoặc Web Map Server. Geoserver có khả năng quản lý dữ liệu địa lý

từ nhiều nguồn khác nhau cũng như cho phép người dùng xem và hiệu chỉnh thông

tin địa lý.Khi xây dựng Geoserver, các nhà phát triển đã đề ra những tiêu chí quan

trọng là tính dễ sử dụng và hỗ trợ các chuẩn OpenGIS nhằm cho phép người dùng

có thể dễ dàng chia sẻ dữ liệu địa lý với nhau một cách dễ dàng và nhanh chóng.

Geo server có thể cung cấp dữ liệu địa lý dưới 2 dạng:

Hình ảnh bản đồ dạng dữ liệu raster (sử dụng WMS).

Dữ liệu thực sự dạng GML (sử dụng WFS) và cho phép người dùng hiệu chỉnh

thông tin (sử dụng WFS-T)

Hình vẽ sau đây mô tả kiến trúc của GeoServer

18

Page 19: LuanVan GIS NgoVietAnh

Hình 7: Kiến trúc của GeoServer

Các đặc điểm của Geo server:

Hỗ trợ đầy đủ 2 chuẩn WFS và WMS, được test bởi CITE.

Hỗ trợ công cụ cấu hình Geo server dưới dạng web rất dễ sử dụng.

Hỗ trợ tốt dữ liệu PostGIS, Shapefile, ArcSDE và Oracle, dưới một mức

là VPF, MySQL, MapInfo, và Cascading WFS.

Xuất dữ liệu ảnh dưới nhiều dạng như jpeg, gif, png, SVG.

Đã tích hợp MapBuilder, ứng dụng hiển thị bản đồ ở client áp dụng công

nghệ AJAX.

Bộ đọc dữ liệu streaming: không giới hạn số lượng dữ liệu trả về.

Hỗ trợ đầy đủ khả năng lọc cho tất cả các dạng dữ liệu trong WFS.

19

Page 20: LuanVan GIS NgoVietAnh

Có thể thêm các dạng dữ liệu mới một cách dễ dàng với Interface

DataStore GeoTools dạng plug-in vào Geo server.

Được thiết kế theo hướng dễ mở rộng, tài liệu đầy đủ.

Được cộng đồng GIS mã nguồn mở ủng hộ và góp sức phát triển.

GeoServer sử dụng shapefile (ESRI) làm định dạng dữ liệu mặc định.

Bên cạnh đó, nó hỗ trợ hầu hết các định dạng dữ liệu phổ biến hiện nay

như ESRI ArcSDE, MapInfo …GeoServer có mã nguồn mở nên người

dùng có thể thay đổi để thêm bớt các định dạng dữ liệu không muốn hỗ

trợ.

2.2. Mô hình xử lý

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

Một HTTP Server như Apache, IIS, Tomcat đóng vai trò là web server.

Phần mềm GeoServer đóng vai trò là WebGIS application.

Tệp cấu hình cho GeoServer

Tập dữ liệu GIS

Hình vẽ sau mô tả tiến trình xử lý trong hệ thống GeoServer

Hình 8: Mô hình xử lý chức năng GetFeature trong Geoserver

20

Page 21: LuanVan GIS NgoVietAnh

2.3. Lưu trữ thông tin bằng Shapefile.

2.3.1. Giới thiệu ESRI Shapefile.

Shapefile là một định dạng dữ liệu lưu trữ thông tin thuộc tính và hình học cho

các đặc trưng không gian trong cơ sở dữ liệu. Shapefile được phát triển và quản lý

bởi ESRI như là một chuẩn dữ liệu mở để giao tiếp giữa ESRI với các sản phẩm

phần mềm khác. Shapefile không phải làm việc với cấu trúc dữ liệu topo nên có ưu

điểm là tốc độ hiển thị và edit dữ liệu nhanh hơn. Chúng cũng đòi hỏi ít không gian

đĩa và dễ dàng hơn trong việc đọc và ghi.Shapefile hỗ trợ điểm (point), đường

(line), đa giác (polygon), vùng (area). Các vùng được xem như là các polygon đóng,

hoặc các nhóm polygon.

Thành phần của một shapefile bao gồm các tệp SHP, DBF, SHX và PRJ.

Tệp SHP chứa dữ liệu bản đồ (các đối tượng đồ họa).

Tệp DBF chứa các thông tin thuộc tính trong một định dạng cơ sở dữ liệu

(foxpro).

Tệp SHX kết nối các đặc trưng hình học và vị trí địa lý của tệp SHP với

thông tin thuộc tính của tệp DBF.

Shapefile còn có thành phần thứ tư là một tệp PRJ. Tệp PRJ chứa thông

tin về hệ tọa độ quy chiếu của bản đồ.

2.3.2. TỆP SHP

Tổ chức của tệp SHP như sau:

21

Page 22: LuanVan GIS NgoVietAnh

Bảng 1. Tổ chức của tệp SHP

Trong đó File Header gồm 100 bytes được mô tả trong bảng sau. Bảng này mô

tả các trường trong File Header với vị trí, giá trị, loại đối tượng, và cách thức sắp

xếp bytes.

Bảng 2. Các trường trong File Header

Giá trị tương ứng với các loại đối tượng đồ họa được quy định như sau:

Value Shape Type

0 Null Shape

22

Page 23: LuanVan GIS NgoVietAnh

1 Point

3 PolyLine

5 Polygon

8 MultiPoint

11 PointZ

13 PolyLineZ

15 PolygonZ

18 MultiPointZ

21 PointM

23 PolyLineM

25 PolygonM

28 MultiPointM

31 MultiPatch

Shape Type không có các số như 2,4, 6,…, 33. Những giá trị này dự phòng cho

tương lai. Tương lai, trong một shapefile có thể cho phép chứa nhiều hơn một loại

đối tượng.

Record Headers

Record headers có độ dài 8 bytes. Bảng sau mô tả Record headers của tệp SHP.

Bảng 3. Các trường trong Record Header.

Shapefile record contents bao gồm một shape type với dữ liệu hình học cho

shape type.Độ dài của record contents phụ thuộc vào số phần và số điểm trong

shape type.Cho mỗi shape type, chúng tôi sẽ mô tả hình dạng và cách ánh xạ đến

record contents.

Ví dụ:

Point

Một điểm chứa một cặp giá trị X,Y

23

Page 24: LuanVan GIS NgoVietAnh

Point

{

Double X // X coordinate

Double Y // Y coordinate

}

Bảng 4. Point Record

2.3.3. Tệp DBF

Tệp DBF là một định dạng dữ liệu tiêu chuẩn của tệp DBF cho các ứng dụng

Window và DOS.

2.3.4. Tệp SHX

Tệp SHX trợ giúp cho tệp SHP trong công việc truy vấn đặc tính hình học.

24

Page 25: LuanVan GIS NgoVietAnh

Bảng 5. Tệp SHX

2.3.5. Tệp PRJ

Tệp PRJ Lưu trữ thông tin về hệ tọa độ quy chiếu của bản đồ sử dụng chuẩn

Well-known text (WKT) là một định dạng như XML cho việc xác định và tham

khảo vị trí đối tượng không gian trên bản đồ. Nó mô tả datum, geoid, và coordinate

System. Nó được quy định bởi tổ chức OGC.

2.4. Kết nối dữ liệu bản đồ sử dụng WMS

2.4.1. Giới thiệu WMS

Web Map Service (WMS) là một chuẩn do tổ chức OGC đưa ra. Trong đó

web server sẽ trở thành web map service có service phục vụ cho chia sẻ dữ liệu. Các

họat động mà client có thể thực hiện thông qua service này gồm: nhận mô tả các

bản đồ, nhận bản đồ, và các thông tin truy vấn các đặc điểm đượcthể hiện trên bản

đồ. Chuẩn này không áp dụng cho việc nhận dữ liệu về dữ liệu thô (dữ liệu chưa xử

25

Page 26: LuanVan GIS NgoVietAnh

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, JEPG hoặc

cũng có thể là dưới dạng các yếu tố đồ họa như SVG (dạng XML) hoặc là định

dạng WebCGM (Web computer Graphics Metafile).

Những chức năng được hỗ trợ bởi web map service:

GetCapabilites – khả năng hỗ trợ (bắt buộc) Client nhận một mô tả thông

tin về WMS, các tham số được chấp nhận và hỗ trợ, bảng mô tả, thường

dưới dạng file XML.

GetMap – lấy bản đồ (bắt buộc): 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 (không bắt buộc): Client hỏi

thông tin về đặc điểm nào đó (đối tượng) xuất hiện trên bản đồ.

Hình 9: Các chức năng của WMS

2.4.2. Các tham số thông dụng trong câu Request

Trình duyệt web phía client có thể thông qua Web Map Service thực hiện các

chức năng này bằng cách gửi các yêu cầu dưới dạng một URL. Một URL có dạng

như sau:

26

Page 27: LuanVan GIS NgoVietAnh

Hình 10: Các tham số trong chuỗi URL thực hiện chức

năng GetMap

VERSION

Tham số VERSION đặc tả số phiên bản của web service.

REQUEST

Tham số REQUEST chỉ ra chức năng nào trong dịch vụ cần được thực thi. Giá

trị của nó là tên của một trong các chức năng được WMS hỗ trợ.

FORMAT

Tham số FORMAT sẽ chỉ ra định dạng trả về của response cho một operation.

WMS hỗ trợ các định dạng ảnh trả về như PNG, GIF, JEPG hoặc cũng có thể là

dưới dạng các yếu tố đồ họa như SVG (dạng XML) hoặc là định dạng WebCGM…

LAYERS

Danh sách các layers lấy từ WMS server trong câu request.

STYLE

Tham số STYLE chỉ ra cách thể hiện của bản đồ sử dụng tệp SLD để mô tả (Tệp

SLD sẽ được đề cập chi tiết trong phần tiếp). Nếu tham số STYLE để trống thì bản

đồ sẽ được trả về ở dạng mặc định.

WIDTH,HEIGHT

27

Page 28: LuanVan GIS NgoVietAnh

Hai tham số WIDTH,HEIGHT chỉ ra kích thước tính theo số nguyên các điểm

ảnh của ảnh bản đồ sẽ trả về cho Client.

Không gian tên EPSG

Không gian tên EPSG được dựa trên các bảng dữ liệu của Nhóm khảo sát dầu

hỏa Châu Âu (European Petroleum Survey Group). Nó định nghĩa những con số đặc

trưng cho các phép chiếu, hệ trục tọa độ chuẩn, đơn vị đo, kinh tuyến gốc …

Ví dụ khi tham số SRS chỉ ra Hệ qui chiếu Tọa độ Địa lý (Geographic

coordinate reference System) thì sẽ là “EPSG:4326”.

Không gian tên AUTO

Không gian tên AUTO được dùng cho các phép chiếu tự động, đó là các phép

chiếu với tâm chiếu tùy ý. Một request chứa tham số SRS chỉ ra một phép chiếu tự

động sẽ bao gồm tiền tố không gian tên AUTO, một con số định danh cho không

gian tên AUTO, một con số định danh cho không gian tên EPSG mà chỉ ra đơn vị

cho hình chữ nhật bao trong SRS này, và giá trị của kinh độ và vĩ độ trung tâm.

Nó có dạng:

AUTO: auto_proj_id,epsg_units_id,lon0,lat0

Ví dụ:

Một dịch vụ hỗ trợ phép chiếu trực giao tự động (Auto Orthographic rojection)

sẽ thêm vào elem ents “<SRS>AUTO:42003</SRS>” trong tài liệu

CapabilitiesXML của nó.

SRS không xác định

Server cũng có thể đưa ra thông tin địa lý mà hệ quy chiếu không gian của nó

không được xác định một cách chính xác. Chẳng hạn như tập hợp các bản đồ lịch sử

vẽ bằng tay được số hóa có thể biểu diễn một vùng trên trái đất nhưng ko theo một

hệ tọa độ hiện đại nào. Trong trường hợp này, giá trị “NONE” sẽ được dùng khi

muốn chỉ ra SRS của tập hợp các bản đồ này.

Hình chữ nhật bao BBOX

28

Page 29: LuanVan GIS NgoVietAnh

Hình chữ nhật bao là một tập hợp bốn con số được phân cách bởi dấu “,” Nó

biểu diễn các giá trị minX,minY, maxX,maxY theo đơn vị của SRS trong request.

Trong đó X biễu diễn cho các trục kinh tuyến còn Y biễu diễn cho các trục vỹ

tuyến.

Hình 11: Hình chữ nhật bao

Ví dụ:

Khi browser request câu URL sau:

http://localhost:8080/geoserver/wms?

bbox =-130,24,-66,50&

request=GetMap&

layers=states&

width=800&height=400&

srs=EPSG:4326&

styles=population&

Format=image/svg+xml

Kết quả của request là một ảnh dạng svg:

29

Page 30: LuanVan GIS NgoVietAnh

Hình 12: kết quả một truy vấn WMS

2.4.3. Tệp mô tả cách hiển thị bản đồ SLD.

Trong GeoServer để xác định cách thức hiển thị và trình bày một hình ảnh

người ta dùng một Style. Một style sẽ mô tả các điểm, đường, polygons và dữ liệu

raster sẽ được vẽ thế nào bằng cách cung cấp các luật vẽ. Nó bao gồm các thành

phần sau:

Đối tượng Style là đối tượng gốc, có thể chứa đựng một danh sách các

đối tượng FeatureTypeStyle.

FeatureTypeStyle mô tả các đối tượng bản đồ sẽ được hiển thị tùy theo

các bộ luật. Một FeatureTypeStyle chứa một hoặc nhiều luật.

Một Rules chứa một bộ lọc để quyết định xem đối tượng nào sẽ được

hiển thị hoặc không và được hiển thị như thế nào, cụ thể:

o Một Filter sẽ được áp dụng cho một đối tượng nếu như đối tượng

đó thõa mãn điểu kiện của luật và đối tượng đó sẽ được vẽ theo

symbolizers của luật.

o Một luật cũng có một "else filter". Đối tượng sẽ được áp dụng luật

này khi đối tượng không thõa mãn tất cả các luật phía trên.

30

Page 31: LuanVan GIS NgoVietAnh

Một Symbolizer mô tả cách các đối tượng được vẽ trên màn hình dựa trên

thông tin của đối tượng (thông tin địa lý và thông tin thuộc tính). Mỗi luật

có một hoặc nhiều Symbolizer đi kèm với nó.

Hình 13: Kiến trúc của Style

Để xây dựng một Style theo tiêu chuẩn là khá phức tạp, vì vậy chuẩn SLD được

đưa ra nhằm cung cấp một cách thuận tiện hơn để xây dựng một style đơn giản mà

không cần phải xây dựng tất cả các thành phần styles bằng tay. Ví dụ, bạn có thể lập

một PolygonSymbolizer và sau đó lập một Style để hiển thị cho đối tượng Polygon

này.SLD (Styled Layer Descriptor) là một chuẩn của tổ chức OGC, nó có thể xem

như là một tài liệu XML cho phép người sử dụng xác định cách hiển thị các đối

tượng dữ liệu của họ. Nó được xây dựng để thi hành trong Web Map Service (WMS

1.0 và WMS 1.1).

Một tài liệu SLD có cấu trúc giống như tài liệu XML, bao gồm phần khai báo

version, khai báo không gian tên và các thẻ con bên trong được xây dựng theo mô

31

Page 32: LuanVan GIS NgoVietAnh

hình DOM. Tuy nhiên phần quan trọng nhất mà chúng ta cần quan tâm là thẻ

<Rule>. Thẻ này sẽ miêu tả xem những đối tượng nào sẽ được vẽ và được vẽ như

thế nào? Bạn có thể sử dụng một hoặc nhiều thẻ <Rule> cho các đối tượng. Các

thành phần quan trọng và thường dùng trong thẻ <Rule>:

Thẻ <PointSymbolizer> xác định cách thức đối tượng Point được vẽ. Nó

được xác định bởi các thẻ con:

o <WellKnownName>: xác định hình dạng của đối tượng Point.

o <Fill>: xác định cách đối tượng Point được tô màu

o <Size>: xác định kích cỡ của đối tượng Point

Ví dụ đoạn mã sau:

<PointSymbolizer>

<Graphic>

<Mark>

<WellKnownName>star</WellKnownName>

<Fill>

<CssParameter name="fill">#EDE513</CssParameter>

<CssParameter name="fill-opacity">1.0</CssParameter>

</Fill>

</Mark>

<Size>7</Size>

</Graphic>

</PointSymbolizer>

Kết quả trên trình duyệt sẽ là các đối tượng Point hình sao, có màu vàng với size

bằng 7:

Hình 14: Minh họa thẻ <PointSymbolizer>

Thẻ <LineSymbolizer> sẽ xác định cách thức đối tượng Line được vẽ.

Nó được xác định bởi các thẻ con:

32

Page 33: LuanVan GIS NgoVietAnh

o <CssParameter name="stroke”>: xác định màu của đối tượng

line

o <CssParameter name="stroke-width">: xác định độ dày của

đối tượng line.

Ví dụ đoạn mã sau:

<Rule>

<Name>Rule 1</Name>

<Title>Green Line</Title>

<Abstract>A green line with a 2 pixel width</Abstract>

<LineSymbolizer>

<Stroke>

<CssParameter

name="stroke">#319738</CssParameter>

<CssParameter name="stroke-

width">2</CssParameter>

</Stroke>

</LineSymbolizer>

</Rule>

Kết quả trên trình duyệt sẽ là các đường thẳng với màu xanh và độ dày là 2

pixel:

Hình 15: Minh họa thẻ <LineSymbolizer>

Thẻ <PolygonSymbolizer> sẽ xác định cách thức các đối tượng Polygon

được vẽ. Nó được xác định bởi các thẻ con:

o <Fill>: xác định cách Polygon được tô màu qua 2 thẻ

<CssParameter name="fill"> và <CssParameter name="fill-

opacity">

o <Stroke>: xác định màu cách đường biên của Polygon được vẽ

33

Page 34: LuanVan GIS NgoVietAnh

Ví dụ đoạn mã sau:

<PolygonSymbolizer>

<Fill>

<CssParameter name="fill">

<ogc:Literal>#FF0000</ogc:Literal>

</CssParameter>

<CssParameter name="fill-opacity">

<ogc:Literal>1.0</ogc:Literal>

</CssParameter>

</Fill>

<Stroke>

<CssParameter name="stroke">

<ogc:Literal>#88B588</ogc:Literal>

</CssParameter>

</Stroke>

</PolygonSymbolizer>

Kết quả trên trình duyệt sẽ là các Polygon có màu đỏ:

Hình 16: Minh họa thẻ <PolygonSymbolizer>

Thẻ <TextSymbolizer> xác định cách thức các chữ được hiển thị, nó

được xác định bởi các thẻ:

o <Label>: xác định thuộc tính nào của đối tượng sẽ được hiển thị

như nhãn của đối tượng

o <Font>: xác định font và kích cỡ chữ của nhãn

o <Fill>: xác định màu của chữ

34

Page 35: LuanVan GIS NgoVietAnh

Ví dụ đoạn mã sau:

<TextSymbolizer>

<Label>

<ogc:PropertyName>TYPE</ogc:PropertyName>

</Label>

<Font>

<CssParameter name="font-family">Times New

Roman</CssParameter>

<CssParameter name="font-style">Normal</CssParameter>

<CssParameter name="font-size">16</CssParameter>

<CssParameter name="font-weight">bold</CssParameter>

</Font>

<Fill>

<CssParameter name="fill">#FF0000</CssParameter>

</Fill>

</TextSymbolizer>

Kết quả trên trình duyệt sẽ là đối tượng line với các nhãn là thụộc tính

TYPE, font-size bằng 16 và có màu đỏ:

Hình 17: Minh họa thẻ <TextSymbolizer>

Thẻ <filter> là một bộ lọc xác định và phân biệt các đối tượng có thuộc

tính khác nhau. Nó được xác định bởi các thẻ:

o <Not>: phủ định các đối tượng thõa mãn bộ lọc <filter>

o <PropertyIsEqualTo>: xác định các đối tượng có giá trị của thẻ

<PropertyName> bằng giá trị của thẻ <Literal>

o <ogc:PropertyIsLessThan>: xác định các đối tượng có giá trị của

thẻ <PropertyName> bé hơn giá trị của thẻ <Literal>

35

Page 36: LuanVan GIS NgoVietAnh

o <ogc:PropertyIsGreaterThan>: xác định các đối tượng có giá trị

của thẻ <PropertyName> lớn hơn giá trị của thẻ <Literal>

Ví dụ đoạn mã sau:

<ogc:Filter>

<ogc:Not>

<ogc:PropertyIsEqualTo>

<ogc:PropertyName>TYPE</ogc:PropertyName>

<ogc:Literal>highway</ogc:Literal>

</ogc:PropertyIsEqualTo>

</ogc:Not>

</ogc:Filter>

Đoạn mã trên sẽ chỉ vẽ các đường với thuộc tính TYPE không bằng "highway".

Nếu thuộc tính TYPE là 'highway', thì đối tượng không thõa mãn luật và sẽ không

được hiển thị.

Bạn cũng có thể sử dụng nhiều hơn một luật cho một đối tượng. Ví dụ với luật

thứ 2 này nếu đối tượng có TYPE là "highway" thì nó sẽ vẽ 2 đường thẳng. Đường

đầu tiên sẽ dày và có màu xám, đường thứ 2 sẽ mỏng hơn và có màu xám sáng

<ogc:Filter>

<ogc:PropertyIsEqualTo>

<ogc:PropertyName>TYPE</ogc:PropertyName>

<ogc:Literal>highway</ogc:Literal>

</ogc:PropertyIsEqualTo>

</ogc:Filter>

Kết quả trên trình duyệt là các đường bình thường sẽ được vẽ bằng màu xanh

với độ dày 2 pixel, còn đường có thuộc tính TYPE bằng ‘highway’ sẽ được vẽ bằng

màu xám với độ dày là 5pixel.

36

Page 37: LuanVan GIS NgoVietAnh

Hình 18: Minh họa thẻ <Filter>

Bộ lọc Filter sẽ được trình bày kỹ hơn trong phần kết nối dữ liệu bằng WFS

2.5. Kết nối dữ liệu bằng WFS

2.5.1. Giới thiệu WFS

Web Feature Service (WFS) là một chuẩn do tổ chức OGC đưa ra. Trong đó

web server sẽ trở thành web map service có service phục vụ cho việc chia sẽ dữ

liệu.WFS cung cấp các giao tác thông thường đến cơ sở dữ liệu GIS như là thêm,

xóa, sửa, truy vấn các đối tượng thông tin địa lý.

Tiến trình yêu cầu dịch vụ WFS được tiến hành lần lượt theo trình tự sau:

Ứng dụng Client gửi yêu cầu tài liệu mô tả khả năng của dịch vụ WFS.

Đó là tài liệu mô tả các giao tác mà WFS hỗ trợ và liệt kê các kiểu feature

mà nó hỗ trợ.

Ứng dụng Client có thể gửi thông tin mô tả chi tiết một hay nhiều kiểu

feature đến WFS.

Dựa trên thông tin mô tả chi tiết của các kiểu feature này, Client có thể

gửi một yêu cầu

Yêu cầu này được gửi đến Server.

WFS thực thi yêu cầu đó.

37

Page 38: LuanVan GIS NgoVietAnh

Sau khi đáp ứng xong yêu cầu, WFS sẽ gửi trả về trạng thái kết quả của

việc đáp ứng (thành công hay thất bại).

Để hỗ trợ cho các giao tác thêm, xóa,sửa và truy vấn dữ liệu GIS, WFS hỗ trợ

các giao tác sau:

GetCapabilities: WFS bắt buộc phải mô tả khả năng của nó qua giao tác

này. Nó chỉ ra các kiểu feature mà nó hỗ trợ và các giao tác được hỗ trợ

trên mỗi kiểu feature.

DescribeFeatureType: Khi có yêu cầu, WFS sẽ trả về mô tả cấu trúc của

Feature.

GetFeature: WFS sẽ trả về các thể hiện của feature. Hơn nữa Client có thể

chỉ rõ thuộc tính nào của feature mà nó muốn lấy kèm theo các ràng buộc

trên chúng.

Transactinon: WFS có khả năng hỗ trợ các yêu cầu thêm, xóa, sửa các

feature.

Lockfeature: WFS có khả năng đáp ứng các yêu cầu khóa các thể hiện

thuộc tính trong khoảng thời gian thực hiện giao tác.

38

Page 39: LuanVan GIS NgoVietAnh

Hình 19: Lược đồ giao thức

Tùy theo khả năng hỗ trợ các giao tác ở trên mà người ta phân ra làm hai loại

dịch vụ WFS. Một là “WFS cơ bản “ (hay còn gọi là loại WFS chỉ đọc) chỉ hỗ trợ

các giao tác GetCapabilities, DescribeFeatureType, GetFeature. Hai là “ WFS giao

tác “ thì hỗ trợ thêm giao tác Transaction, còn giao tác Lockfeature là tùy chọn.

2.5.2. Các tham số thông dụng trong câu request.

Trình duyệt web phía client có thể thông qua Web Feature service thực hiện

các chức năng này bằng cách gửi các yêu cầu dưới dạng một URL. Một URL có

dạng như sau:

REQUEST

Tham số REQUEST chỉ ra chức năng nào trong dịch vụ cần được thực thi. Giá

trị của nó là tên của một trong các chức năng được WFS hỗ trợ

VERSION

Tham số VERSION đặc tả số phiên bản của web service.

TYPENAME

Tham số TYPENAME chỉ ra feature mà phía Client muốn request

BBOX

Hình chữ nhật bao là một tập hợp bốn con số được phân cách bởi dấu “,”. Nó

biểu diễn các giá trị minX,minY, maxX,maxY theo đơn vị của SRS trong request.

Trong đó X biễu diễn cho các trục kinh tuyến còn Y biễu diễn cho các trục vỹ

tuyến. WFS sẽ trả về các thể hiện dữ liệu của feature trong hình chữ nhật bao này.

FILTER

Tham số bộ lọc FILTER ràng buộc các thể hiện dữ liệu của feature giúp Client

lấy chính xác dữ liệu yêu cầu.

Bộ lọc FILTER sẽ được trình bày chi tiết ngay sau đây.

Ví dụ một request đến WFS:

http://localhost:8080/geoserver/wfs?

request=getfeature&

service=wfs&

39

Page 40: LuanVan GIS NgoVietAnh

version=1.0.0&

typename=states&

filter=<ogc:Filter

xmlns:ogc=http://ogc.org

xmlns:gml=http://www.opengis.net/gml>

<ogc:BBOX>

<ogc:PropertyName>the_geom<ogc:PropertyName>

<gml:Box srsName=http://www.opengis.net/gml/srs/epsg.xml>

<gml:coordinates>-73.99312376470733,40.76203427979042%20-

73.9239210030026,40.80129519821393<gml:coordinates>

<gml:Box>

<ogc:BBOX>

<ogc:Filter>

Kết quả là một tệp GML được trả về có dạng:

Hình 20: Kết quả một truy vấn WFS

2.5.3. Bộ lọc (Filter)

Một biểu thức Filter là một điều kiện ràng buộc về giá trị của các thuộc tính của

một loại đối tượng nào đó, mục đích của Filter là để xác định một tập các đối tượng

để thực hiện các thao tác.

40

Page 41: LuanVan GIS NgoVietAnh

Filter được cài đặt tuân theo các đặc tả của XML. Điều này sẽ rất thuận lợi, vì

ngày nay có rất nhiều công cụ hỗ trợ đọc, ghi XML. Ta có thể chuyển một Filter

được cài đặt theo chuẩn XML thành một mệnh đề WHERE trong câu lệnh SQL để

thực hiện truy vấn dữ liệu từ cơ sở dữ liệu.Tương tự, một Filter được cài đặt theo

chuẩn XML sẽ có thể chuyển sang các biểu thức Xpath hoặc Xpoint để lấy dữ liệu

từ một tài liệu XML.

Bộ lọc Filter có thể được sử dụng trong nhiều dịch vụ web khác nhau theo các

chuẩn của tổ chức OGC, trong báo cáo này thì Filter sẽ được dùng để tạo ra các

ràng buộc đối với các Feature cần lấy về trong request GetFeature của WFS.

Thành phần gốc của một biểu thức Filter, tức là thành phần <Filter>, được mô tả

bởi đoạn lược đồ XML sau:

Các thành phần <logicalOps>, <SpatialOps>, <comparisonOps> tương ứng là

các phép toán logic, phép toán không gian và phép toán so sánh. Ngoài ra nếu sử

dụng thành phần <FeatureId> thì một Filter có thể chỉ đến một hoặc một số đối

tượng cụ thể.

41

Page 42: LuanVan GIS NgoVietAnh

2.5.4. Các phép toán không gian (Spatial Operators)

Các phép toán không gian này dùng để kiểm tra xem các tham số của nó có thõa

mãn một mối quan hệ về mặt không gian nào đó hay không. Phép toán này trả về

kết quả TRUE nếu các tham số có quan hệ, ngược lại là FALSE

Các phép toán không gian được mô tả bởi luợc đồ XML sau:

42

Page 43: LuanVan GIS NgoVietAnh

43

Page 44: LuanVan GIS NgoVietAnh

Một phép toán không gian dùng để kiểm tra xem một thuộc tính địa lý, được chỉ

ra bởi tên thuộc tính và một đối tượng địa lý (một hình chữ nhật hoặc một đa giác

…) có thõa mãn mỗi quan hệ được chỉ ra bởi phép toán đó không. Chẳng hạn có thể

sử dụng phép toán <Intersects> để kiểm tra xem một thuộc tính có kiểu dữ liệu là

Polygon (đa giác) có cắt một hình chữ nhật được chỉ ra trong tham số của phép toán

đó không.

Các phép toán Equals, Disjoint, Touches, Within, Overlaps, Crosses,

Contains cũng có ý nghĩa tương tự.Ta có thể suy ra được từ tên của các phép toán

này.

Thành phần BBOX chính là ràng buộc về hình chữ nhật bao. Nó tương đương

với phép toán <Not><Disjoint>….</Not><Disjoint>, nghĩa là nó xác định các đối

tượng địa lý có quan hệ cắt nhau với một hình chữ nhật nào đó.

44

Page 45: LuanVan GIS NgoVietAnh

Các phép toán <Dwithin> và <Beyond> kiểm tra xem giá trị địa lý của một

thuộc tính có nằm trong một đối tượng địa lý hoặc là nằm cách đối tượng địa lý này

một khoảng cách xác định được chỉ ra hay không. Khoảng cách này được chỉ ra bởi

thành phần <Distance>.

2.5.5. Các phép toán so sánh

Các phép toán này được dùng để đánh giá phép so sánh về mặt toán học giữa 2

tham số. Nếu các tham số này thỏa điều kiện của phép so sánh này thì phép toán trả

về TRUE, ngược lại trả về FALSE.

Dưới đây là đoạn lược đồ XML mô tả phép toán so sánh này:

45

Page 46: LuanVan GIS NgoVietAnh

46

Page 47: LuanVan GIS NgoVietAnh

47

Page 48: LuanVan GIS NgoVietAnh

Ngoài các phép toán so sánh chuẩn (=,>,<,>=,<=,<>) còn có các phép toán khác

là <PropertyIsLike>, <PropertyIsBetween> và <PropertyIsNull>.Phép toán

<PropertyIsLike> được dùng để so sánh một chuỗi với một khuôn mẫu nào đó.

Một mẫu được định nghĩa bởi sự kết hợp của các kí tự thông thường như các kí tự

wildCard, singleChar, escapeChar. Kí tự wildCard được dùng để đại diện cho

một nhóm các kí tự hoặc không có kí tự nào. Kí tự singleChar dùng để tượng trưng

cho một kí tự duy nhất. Kí tự escapeChar được dùng để loại bỏ ý nghĩa của các kí

tự singleChar, wildCard và kể cả chính nó.

Phép toán <PropertyIsNull> được dùng để kiểm tra xem giá trị trong nội dung

của nó có rỗng hay không. Giá trị 0 là giá trị khác rỗng.

48

Page 49: LuanVan GIS NgoVietAnh

Phép tóan < PropertyIsBetween > được dùng để kiểm tra xem một giá trị có

nằm trong một khoảng giá trị được chỉ ra bởi 2 thành phần là <LowerBoundary>

và <UpperBoundary> hay không.

2.5.6. Các phép toán Logic

Các phép toán Logic được dùng để kết hợp các biểu thức điều kiện lại với nhau.

Phép toán AND sẽ có giá trị TRUE nếu như tất cả các phép toán kết hợp đều

TRUE. Phép toán OR sẽ có giá trị TRUE nếu có ít nhất một phép toán có giá trị

TRUE. Phép toán NOT dùng để đảo ngược kết quả một biểu thức

Dưới đây là lược đồ XML mô tả các phép toán logic này:

49

Page 50: LuanVan GIS NgoVietAnh

Các thành phần <AND>, <OR>, hay <NOT> dùng để kết hợp các biểu thức

logic, biểu thức không gian, hay biểu thức vô hướng để tạo ra một biểu thức kết hợp

phức tạp.

2.5.7. Định danh của Feature (Feature Identifier)

Một định danh của Feature được dùng để chỉ một Feature địa lý cụ thể trong ngữ

cảnh của dịch vụ web chứa Feature này.

Thành phần <FeatureId> được mô tả bởi đoạn lược đồ XML sau:

50

Page 51: LuanVan GIS NgoVietAnh

Thành phần FeatureId được dùng để chỉ ra các Feature trong một biểu thức

Filter hoặc trong các tài liệu XML khác.

51

Page 52: LuanVan GIS NgoVietAnh

Chương 3: HỆ THỐNG QUẢN LÝ TÌNH HÌNH SÂU BỆNH HẠI LÚA

3.1. Khảo sát hiện trạng

Hiện nay công tác giám sát và cảnh báo sớm đại dịch nói chung và tình hình lây

lan đối với sâu bệnh hại lúa nói riêng tại Việt Nam là rất kém. Nhân viên các chi

cục bảo vệ thực vật, các cán bộ làng xã vẫn cung cấp thông tin đại dịch về chi cục

qua các phương tiện truyền thống như điện thoại, báo cáo rồi mới cập nhật vào cơ

sở dữ liệu. Với tình trạng diễn biến nhanh chóng và phức tạp của tình hình sâu bệnh

hại lúa hiện này yêu cầu áp dụng hệ thống thông tin báo cáo và giám sát dịch nhằm

nâng cao năng lực hoạt động của hệ thống giám sát tại Việt Nam là ưu tiên hàng

đầu.

Trước yêu cầu cấp thiết đó đã có một số phần mềm ra đời nhằm phục vụ quản lý

và giám sát tình hình sâu bệnh hại lúa dựa trên mô hình Client-Server. Tuy nhiên,

các phần mềm này dựa trên mô hình Client-Server nên khả năng chia sẻ thông tin bị

hạn chế. Mặt khác phần mềm sử dụng bộ công cụ ArcGIS nên chi phí triển khai hệ

thống là khá cao.

Ngày nay số lượng các website ngày càng nhiều, càng phổ biến và người dân

tiếp xúc ngày càng nhiều với tin học. Người dân cũng có nhu cầu tìm hiểu thông tin

về tình hình sâu bệnh hại lúa để qua đó theo dõi và có các biện pháp phòng trừ bệnh

dịch, bảo vệ lợi ích cho chính mình.

Với lí do đó tôi mong muốn xây dựng một website sử dụng công nghệ bản đồ

WebGIS nhằm cung cấp một số chức năng cần thiết cho người dùng.

3.2. Dữ liệu trong bài toán

Mục đích của bài toán là cung cấp cho người dùng một cái nhìn trực quan sinh

động đến tình hình tình hình sâu bệnh hại lúa. Dữ liệu của bài toán bao gồm các loại

thông tin sau:

3.2.1. Dữ liệu bản đồ:

Lớp bản đồ địa chính của tỉnh, huyện, xã

52

Page 53: LuanVan GIS NgoVietAnh

Lớp bản đồ khu dân cư

Lớp bản đồ đất phi nông nghiệp

Lớp bản đồ đất nông nghiệp

Lớp bản đồ sông, suối, ao, hồ …

Các lớp bản đồ này liên quan trực tiếp hoặc gián tiếp đến tình hình lây lan sâu

bệnh hại lúa và có ảnh hưởng đến hướng và tốc độ lây nhiễm của dịch

3.2.2. Dữ liệu thuộc tính

Thông tin về giống lúa, các loại sâu hại lúa, các hiện tượng gây hại, các

loại thuốc trừ sâu và phân bón.

Thông tin số liệu điều tra về mật độ sâu hại lúa, diện tích nhiễm, các loại

sâu ký sinh

Thông tin về tình hình phun thuốc trừ sâu, tình hình bón phân và diện tích

gieo cấy.

3.3. Phân tích và xác định yêu cầu

Các yêu cầu của của ứng dụng website quản lý tình hình sâu bệnh hại lúa gắn

liền với nhu cầu một cá nhân hoặc tổ chức khi sử dụng website để xem thông tin về

tình hình sâu bệnh hại lúa. Các thông tin này có thể thu nhận thông qua các báo cáo

tổng hợp hoặc thể hiện bằng bản đồ.

Tình hình sâu bệnh hại lúa đã xuất hiện ở nơi nào?

Tại huyện, tỉnh này đã sử dụng các biện pháp phòng trừ nào, các loại

thuốc trừ sâu nào đã được sử dụng?

Xu hướng lây lan ngắn hạn trong thời gian tới diễn ra như thế nào?

Các chức năng của hệ thống:

Thao tác với bản đồ: Phóng to, thu nhỏ,di chuyển bản đồ: Chức năng này

được xây dựng với thông tin đầu vào là biên BBOX của bức ảnh. Hệ

thống sẽ gửi yêu cầu tới WebGIS server sử dụng WMS, kết quả trả về là

ảnh dạng png theo kiểu mặc định của chuẩn WMS.

53

Page 54: LuanVan GIS NgoVietAnh

Truy vấn thông tin trên bản đồ, tìm kiếm lãnh thổ theo địa danh: Chức

năng này được xây dựng với thông tin đầu vào là vị trí của đối tượng trên

bản đồ. Hệ thống sẽ gửi yêu cầu tới WebGIS server sử dụng WFS để lấy

thông tin thuộc tính của đối tượng, kết quả trả về là một tệp thông tin

dạng GML. Chương trình sẽ truy cập tệp GML sử dụng mô hình DOM để

lấy thông tin thuộc tính của đối tượng.

Lập bản đồ phân bố hiện trạng nhiễm của sinh vật gây hại: Bản đồ hiện

trạng nhiễm được thiết lập dựa theo tiêu chí của người dùng chọn theo

ngày, theo vùng

Hình 21: Bản đồ hiện trạng

Lập bản đồ phân bố diện tích nhiễm: Cung cấp thông tin về tình hình diện

tích nhiễm sâu bệnh của tỉnh, huyện xã, theo thời gian và dựa trên đối

tượng sâu bệnh cụ thể.

Chức năng cập nhật dữ liệu về giống lúa, dịch hại,…

Chức năng cập nhật dữ liệu về số liệu điều tra;

Chức năng thiết lập báo cáo;

54

RendererSLD ConfigurationUser request (SLD)

Page 55: LuanVan GIS NgoVietAnh

Chức năng dự báo ngắn hạn.

3.4. Xác định Actor và Use case

3.4.1. Các Actor của hệ thống

Người dùng (user)

- Duyệt bản đồ

- Truy vấn thông tin trên bản đồ

- Theo dõi mức độ dịch, hiện trạng sâu bệnh theo từng vùng dân cư

bằng cách vẽ lại bản đồ

- Tìm kiếm đối tượng theo lãnh thổ

Cán bộ chi cục thú ý (staff)

- Gồm những chức năng của actor User;

- Thêm mới, sửa, xóa các thông tin về lúa và sâu bệnh cũng như các thông

tin liên quan;

- Cập nhật dữ liệu thuộc tính cho các huyện, xã đã được điều tra;

- Thiết lập báo cáo;

- Xem dự báo ngắn hạn về tình hình lây lan của các loại sâu bệnh.

3.4.2. Use case

Duyệt bản đồ

- Di chuyển bản đồ

- Phóng to, thu nhỏ bản đồ

- Hiển thị bản đồ theo vùng được chọn

- Truy vấn thông tin thuộc tính trên bản đồ

Thay đổi thông tin của đối tượng

- Thêm thông tin mới

- Thay đổi thông tin thuộc tính của đối tượng.

Tìm kiếm thông tin

- Tìm kiếm thông tin thuộc tính của các đối tượng lớp bản đồ

55

Page 56: LuanVan GIS NgoVietAnh

3.4.3. Mô hình Use-case

Hình 22: Mô hình USE CASE

56

Thêm mới đối tượng

Thay đổi thông tin thuộc tính

STAFF

USER

Phóng to , thu nhỏ bản đồ

Di chuyển bản đồ

Truy vấn thông tin bản đồ

Tìm kiếm thông tin

Hiển thị bản đồ theo vùng chọn

Page 57: LuanVan GIS NgoVietAnh

3.4.4. Đặc tả Use case

Di chuyển bản đồ: 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 Use-case này bắt đầu khi người muốn dịch chuyển bản đồ để xem

vùng không gian khác trên bản đồ

o Người dùng click chuột lên nút

o Hệ thống ghi nhận tình trang click chuột, thay đổi trạng thái nút

sang trạng thái đậm

o Người dùng click chuột lên bản đồ.

o Hệ thống xác định vị trí bản đồ được di chuyển tới và vẽ lại.

Các luồng sự kiện khác: Không có.

Các yêu cầu đặc biệt: Không có

Điều kiện tiên quyết: Không có

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 cho người dụng. Ngược lại khi thất bại bản đồ sẽ không thay đổi

Phóng to, thu nhỏ bản đồ: Use case này bắt đầu khi người dùng muốn

phóng to hoặc thu nhỏ bản đồ

Luồng các sự kiện

o Người dùng click chuột lên nút Zoom In hoặc nút Zoom Out

o Hệ thống xác định nút đang được chọn

o Tùy theo nút được chọn bản đồ sẽ được phóng to hoặc thu nhỏ

Các luồng sự kiện khác: Không có

Điều kiện tiên quyết: Người dùng đang sử dụng bản đồ ở các tác vụ

phóng to hoặc thu nhỏ bản đồ.

Nếu thành công thì hệ thống sẽ phóng to hoặc thu nhỏ bản đồ theo yêu cầu

người dùng. Ngược lại trạng thái bản đồ không thay đổi

57

Page 58: LuanVan GIS NgoVietAnh

Hiển thị bản đồ theo vùng được chọn: Use case này bắt đầu khi người

dùng hiển thị bản đồ theo vùng được chọn

Luồng các sự kiện

o Người dùng di chuyển chuột vào trong bản đồ

o Ngừời dùng sử dụng chuột để vẽ khung bản đồ cần hiển thị

o Bản đồ sẽ được hiển thị theo khung hình được người dùng vẽ

Các luồng sự kiện khác: Không có

Điều kiện tiên quyết: Không có

Nếu thành công thì hệ thống sẽ hiển thị bản đồ theo khung hình người dùng

chọn lựa. Ngược lại trạng thái bản đồ không thay đổi

Truy vấn thông tin bản đồ: Use case này bắt đầu khi người dùng muốn

truy vấn thông tin trên bản đồ

Luồng các sự kiện

o Người dùng click chuột lên nút Info Người dùng di chuyển vào

trong bản đồ

o Người dùng di chuyển chuột vào trong bản đồ và click chuột vào

một đối tượng trên bản đồ

o Xuất hiện một form mới chứa thông tin thuộc tính của đối tượng

mà người dùng vừa chọn.

Các luồng sự kiện khác: Không có

Điều kiện tiên quyết: Không có

Nếu thành công thì hệ thống sẽ hiển thị một form mới chứa thông tin đối tượng

trên bản đồ đã được người dùng chọn lựa. Ngược lại trạng thái bản đồ không thay

đổi.

Cập nhật thông tin bản đồ: Use case này bắt đầu khi người dùng muốn

thay đổi thông tin trên bản đồ

Luồng các sự kiện

o Tron form thông tin bản đồ, người dùng thay đổi các giá trị thuộc

tính của đối tượng bản đồ.

58

Page 59: LuanVan GIS NgoVietAnh

o Người dùng xác nhận việc thay đổi bằng việc click vào nút

UPDATE.

o Bản đồ được hiển thị lại với các thông tin thuộc tính đã được thay

đổi.

Các luồng sự kiện khác: Người dùng nhập dữ liệu không đúng với kiểu

dữ liệu thuộc tính, hệ thống sẽ báo lỗi.

Điều kiện tiên quyết: Để có thể thêm đối tượng điểm, người dùng phải

đăng nhập vào hệ thống với vai trò là cán bộ cục thú y. Lúc đó chức năng

thêm mới đối tượng điểm mới hiển thị trên thanh menu chức năng và cho

phép người dùng truy cập tới Use case này.

Nếu thành công thì hệ thống sẽ hiển thị bản đồ vói thông tin thuộc tính đã được

thay đổi. Ngược lại hệ thống sẽ báo lỗi.

Tìm kiếm thông tin: Use case này bắt đầu khi người dùng muốn tìm kiếm

các thông tin thuộc tính trên các lớp bản đồ

Luồng các sự kiện

o Người dùng click vào menu tìm kiếm theo địa danh

o Người dùng lựa chọn thông tin cần tìm kiếm

o Người dùng click vào nút tìm kiếm

o Kết quả sẽ được hiển thị ra màn hình

Các luồng sự kiện khác: Người dùng không đánh vào thông tin cần tìm

kiếm, hệ thống sẽ xuất thông báo tới người dùng

Điều kiện tiên quyết: Không có

Nếu thành công thì hệ thống sẽ hiển thị thông tin thuộc tính của đối tượng lớp

bản đồ mà hệ thống tìm được thõa mãn yêu cầu của người dùng. Ngược lại trạng

thái bản đồ không thay đổi.

Thêm mới thông tin về các loại sâu bệnh, các giống lúa, các loại thuốc trừ

sâu: Use case này bắt đầu khi người dùng muốn thêm mới thông tin vào

bản đồ.

Luồng các sự kiện

59

Page 60: LuanVan GIS NgoVietAnh

o Người dùng click vào menu giống lúa loại sâu

o Một form mới xuất hiện

o Người dùng thêm các giá trị thuộc tính của đối tượng

o Người dùng click lên nút thêm đối tượng hoặc chọn đối tượng để

chỉnh sửa.

Điều kiện tiên quyết: Để có thể thêm đối tượng điểm, người dùng phải

đăng nhập vào hệ thống với vai trò là cán bộ cục thú y. Lúc đó chức năng

thêm mới đối tượng điểm mới hiển thị trên thanh menu chức năng và cho

phép người dùng truy cập tới Use case này.

Nếu thành công thì hệ thống sẽ thêm mới đối tượng điểm vào trong cơ sở dữ

liệu. Ngược lại sẽ thông báo lỗi và trạng thái bản đồ và cơ sở dữ liệu không thay đổi

Thêm mới thông tin số liệu điều tra: Sau khi cán bộ các chi cục thú y đi

điều tra về tình hình mật độ sâu hại hoặc diện tích nhiễm…, các cán bộ

điều tra cập nhật thông tin vào hệ thống

Luồng sự kiện:

o Người dùng click vào menu Số liệu điều tra

o Người dùng chọn thông tin cần cập nhật

o Chọn vùng cần cập nhật thông tin

o Một form mới hiện ra

o Người dùng điền vào các thông tin đã điều tra

Thiết lập báo cáo: thiết lập báo cáo tổng hợp về tình hình diện tích lúa

nhiễm sinh vật gây hại, về cơ cấu giống lúa và diện tích gieo cấy, tình

hình thời tiết, mật độ sâu và mật độ thiên địch theo lãnh thổ xã, huyện,

tỉnh,vùng hoặc toàn quốc.

Luồng sự kiện:

o Người dùng click vào menu Thiết lập báo cáo

o Chọn kiểu báo cáo cần thiết lập

o Chọn vùng cần lập báo cáo

60

Page 61: LuanVan GIS NgoVietAnh

o Điền các thông tin cần thiết để lập báo cáo

Xem dự báo ngắn hạn: Chức năng dự báo tình hình sâu bệnh hại lúa sử

dụng phương pháp hệ chuyên gia cung cấp cho người dùng công cụ để dự

báo tình hình sâu bệnh hại lúa trong thời gian tới

Luồng sự kiện

o Người dùng click vào menu Dự báo

o Chọn cấp dự báo cần thiết lập

o Chọn vùng cần dự báo

o Điền các thông tin cần thiết để lập dự báo

3.5. Thiết kế kiến trúc hệ thống

Hình 23: Mô hình hệ thống

61

Request + XML

CLIENT

HTML + XML + Javascript

WMS,WF

GML

GEOSERVERWEBGIS

Tạo và gửi request đến WebGIS Server

Nhận hình ảnh trả về từ WMS

Giao tiếp với WebGIS Server để thay đổi và cấp nhật dữ liệu dùng XML

Nhận request từ Client và xử lý

Giao tiếp với Geoserver để truy xuất và cập nhật thông tin (sử dụng WMS và WFS)

Xử lý thông tin trả về từ Geoserver sau đó trả về cho Client

Quản lý dữ liệu địa lýNhận các WMS request từ WebGIS server và trả về kết quả hình ảnhNhận các WFS request từ WebGIS server và trả về dưới dạng GML

Page 62: LuanVan GIS NgoVietAnh

Do yêu cầu hệ thống cho phép người dùng tương tác và hiệu chỉnh thông tin địa

lý thông qua một web browser nên hệ thống được thiết kế dựa trên mô hình Three-

Tiers:

Geo server: (Data Access layer)

Các dữ liệu địa lý đều do Geo server quản lý, nó sẽ đóng vài trò trung gian để

nhận các yêu cầu truy xuất và cập nhật thông tin từ phía Web GIS Server (các yêu

cầu này phải là các dịch vụ WFS mà Geo server cung cấp), sau đó Geo server sẽ xử

lý, thao tác trực tiếp đến dữ liệu và trả kết quả về cho Web server dưới dạng GML.

Trong thực tế thì Web GIS server hay người dùng ở phía client không biết rõ về

dữ liệu được lưu trữ ở Geo server như thế nào và thực sự cũng không cần biết bởi vì

Geo server có trách nhiệm quản lý dữ liệu địa lý từ nhiều nguồn khác nhau

(PostGIS, MySQL, Shapefile…) nhưng khi cung cấp dữ liệu cho Web GIS server

thì nó phải chuyển tất cả các dữ liệu đó sang một định dạng duy nhất, đó là GML.

Mặt khác, bởi vì Geo server chỉ tập trung vào nhiệm vụ quản lý dữ liệu địa lý

và xử lý yêu cầu từ Web server nên hiệu suất hoạt động của nó sẽ rất cao, điều này

rất hữu ích bởi vì đối với các ứng dụng GIS thì khối lượng dữ liệu lưu trữ và nhu

cầu xử lý là rất lớn.

Web GIS server: (Business layer)

Web GIS server ở đây có một vai trò rất quan trọng, nó sẽ là bước trung

chuyển giao tiếp với cả Geo server và client. Web GIS server sẽ nhận yêu cầu truy

xuất và cập nhật dữ liệu địa lý từ phía client, xử lý chúng, chuyển các yêu cầu đó

thành các lời gọi dịch vụ WFS đến Geo server. Sau đó nó sẽ nhận kết quả xử lý từ

Geo server (dạng GML), parse kết quả rồi chuyển lại cho client dưới dạng đơn giản

nhất có thể (sử dụng XML).

Tại sao ở đây lại cần Web GIS server làm trung gian giao tiếp giữa Geo server

và client? Trong thực tế, chúng ta vẫn có thể xây dựng một hệ thống đáp ứng yêu

cầu đặt ra chỉ gồm Geo server và client mà thôi. Nhưng điều này dẫn đến nhiều hạn

chế:

62

Page 63: LuanVan GIS NgoVietAnh

Đầu tiên là sẽ là vấn đề bảo mật và toàn vẹn thông tin ở Geo server do

chúng ta không thể kiểm soát được người dùng bên phía client

Nhiều khả năng sẽ dẫn đến sự quá tải cho client do yêu cầu của ứng dụng

này đòi hỏi client phải xử lý một khối lượng rất lớn công việc

Chính vì những lý do đó, Web GIS server được đặt ra ở đây là rất cần thiết. quản

lý người dùng, giảm bớt một phần gánh nặng xử lý cho client. Có một vấn đề cần

phải lưu ý khi xây dựng Web GIS server là tình trạng “thắt cổ chai” bởi vì Web

server vừa phải giao tiếp với nhiều client vừa phải xử lý thông tin phản hồi từ các

Geo server, ngoài ra còn phải thực hiện các nghiệp vụ khác. Tuy nhiên, đây không

phải là vấn đề quá nghiêm trọng vì hệ thống này được triển khai trong môi trường

Intranet và khối lượng client truy cập cùng một lúc là không lớn lắm.

Client (Presentation + Business layer)

Client có trách nhiệm giao tiếp với Web GIS server lấy thông tin và hiển thị hình

ảnh bản đồ, cho phép người dùng tương tác và hiệu chỉnh dữ liệu địa lý. Nó sẽ xử lý

các sự kiện phát sinh từ phía người dùng và ghi nhận lại mọi sự thay đổi dữ liệu để

gởi về Web GIS server.

3.6. Chi tiết ứng dụng

Một số giao diện chính của chương trình:

Màn hình chính

63

Page 64: LuanVan GIS NgoVietAnh

Hình 24: Màn hình chính

Hệ thống trình đơn (Menu)

64

Page 65: LuanVan GIS NgoVietAnh

Hình 25: Hệ thống trình đơn

Màn hình tìm kiếm

65

Page 66: LuanVan GIS NgoVietAnh

Hình 26: Kết quả tìm kiếm

Màn hỉnh hiển thị thông tin và cập nhật dữ liệu

66

Page 67: LuanVan GIS NgoVietAnh

67

Page 68: LuanVan GIS NgoVietAnh

Hình 27: Thông tin dữ liệu sâu bệnh

Kết quả dự báo

Hình 28: Kết quả dự báo

68

Page 69: LuanVan GIS NgoVietAnh

69

Page 70: LuanVan GIS NgoVietAnh

Chương 4: CÀI ĐẶT VÀ THỬ NGHIỆM

4.1. Cài đặt và cấu hình GeoServer.

Chép gói cài đặt GeoServer dành cho hệ điều hành Windows tại trang chủ

http://docs.codehaus.org/display/GEOS/Home.

Giải nén gói cài đặt vào thư mục trên ổ đĩa cứng, sau đó thực hiện các bước cái

đặt theo hướng dẫn. Chú ý lựa chọn phiên bản Java JDK.

Sau khi cài đặt xong tạo một biến môi trường GEOSERVER_DATA_DIR, giá

trị đường dẫn đến thư mục chứa dữ liệu data_dir.

4.2. Cài đặt cơ sở dữ liệu.

Sau khi cài đặt xong GeoServer,để cấu hình cơ sở dữ liệu bạn đánh địa chỉ URL

sau: http://localhost:8080/geoserver.Click nút 'Config'. Nếu bạn chưa log in, thi hãy

log vào với username and password mặc định (username: admin, password:

geoserver).

Click vao nút 'Data'.

Sau đó, click vào nút 'Stores'.

70

Page 71: LuanVan GIS NgoVietAnh

Sau đó kết nối GeoServer với cơ sở dữ liệu.

Chọn “New”

Chọn 'DataStore Description' như 'Shapefile'

Copy đầy đủ đường dẫn shapefile vào trong thư mục data của GeoServer, nó sẽ

nằm ở: <geoserver_install_dir>/server/geoserver/data/

71

Page 72: LuanVan GIS NgoVietAnh

Click vào nút 'Submit'. Bây giờ, chúng ta cần đăng kí tất cả các thay đổi. Để làm

điều đó, click vào nút 'Apply', sau đó 'Save' nếu bạn muốn sử dụng trong tương lai.

Sau khi kết nối GeoServer với cơ sở dữ liệu, bạn cần thiết lập các thông số ban

đầu cho cơ sở dữ liệu.Trở lại trang Config -> Data -> FeatureType

Click vào nút 'New'

Từ danh sách thả xuống, chọn Feature Type Name, chọn datastore của bạn.

Sau đó click 'New'

Chọn DataStore của bạn: test_datastore:::tutorial

72

Page 73: LuanVan GIS NgoVietAnh

Một màn hình mới sẽ xuất hiện. Bạn sẽ chọn loại tệp SLD cho dữ liệu trong ô

Style, chọn hệ quy chiếu tọa độ trong ô SRS (bạn điền vào ô này giá trị 4326.)

Ấn vào nút 'submit'. Cửa sổ sẽ thay đổi lần nữa và trở lại màn hình FeatureType

4.3. Thử nghiệm

Kết quả thử nghiệm chương trình như sau:

STT Tính năng thử nghiệm Đánh giá

1 Hiển thị bản đồ Hiển thị tốt hầu hết các đối tượng bản

đồ.

2 Các chức năng hỗ trợ

người dùng xem như di

chuyển bản đồ, phóng to,

Nhìn chung thì đáp ứng tốt, nhanh. Bản

đồ khi phóng to không bị vỡ, hình ảnh khá

sắc nét.

73

Page 74: LuanVan GIS NgoVietAnh

thu nhỏ …

3 Hiển thị thông tin

thuộc tính theo vị trí

không gian của đối

tượng.

Hiển thị thông tin tốt và chính xác.

Thời gian truy vấn thông tin đến server

nhanh

4 Cập nhật thông tin

của các đối tượng

Thực hiện tốt, tuy nhiên chưa có phần

kiểm tra ràng buộc dữ liệu nhập vào từ

phía người dùng.

5 Bản đồ hiện trạng Thực hiện tốt, người dùng có cái nhìn

trực quan hơn về thông tin bản đồ

6 Kết quả dự báo Thực hiện tốt chức năng dự báo ngắn

hạn giúp người dùng có thể biết thêm

thông tin và các biện pháp đối phó với sâu

bệnh

Bảng 6. Kết quả thử nghiệm chương trình.

74

Page 75: LuanVan GIS NgoVietAnh

KẾT LUẬN VÀ KIẾN NGHỊ

Luận văn đã hoàn thành được các mục tiêu đề ra, cụ thể là:

Tổng quan về GIS, các hướng phát triển GIS hiện nay;

Giao tiếp với Geoserver thông qua WMS để truy xuất thông tin và lấy vế

ảnh để hiển thị lên browser

Giao tiếp với Geoserver thông qua WFS để truy xuất thông tin thuộc tính,

thay đổi và thêm mới đối tượng điểm.

Xây dựng thành công hệ thống quản lý sâu bệnh hại lúa;

Hướng phát triển tiếp theo của đề tài

Cải thiện tốc độ xử lý của hệ thống

Cải thiện chức năng dự báo tình trạng lây nhiễm

75

Page 76: LuanVan GIS NgoVietAnh

TÀI LIỆU THAM KHẢO

1. Zeiler Michael. Modeling Our World. Redland, California: ESSRI press, 1999.

254 pp.

2. Zhong-Ren Peng, Ming-Hsiang Tsou. Internet GIS: Distributed Geographic

Information Services for the Internet and Wireless Network. –Wiley. John Wiley

and Sons, in. – 2003. 679 pp.

3. Trang thông tin điện tử của hiệp hội GIS mã nguồn mở http :// www . osgeo . org / .

4. GIS for Environmentally Substainable Developement. Proceedings of the

International Conference. Novosibirsk, Russian, 1997. 503 pp.

5. Regina, Leo Hsu (2010), PostGIS in Action, Manning Publications, Greenwich.

6. Trần Đắc Sử (1999), Trắc địa đại cương, Trường Đại học Giao thông vận tải,

Hà Nội.

7. Các trang web:

http://www.postgresql.org

http://postgis.refractions.net/

http://www.esri.com/news/arcuser/0401/topo.html

76