7. Bố cục của luận văn
1.7. POSTGRESQL VÀ POSTGIS
1.7.1. PostgreSQL
PostgreSQL là một hệ quản trị cơ sở dữ liệu đối tƣợng, quan hệ (ORDBMS) dựa trên Postgres phiên bản 4.21, đƣợc phát triển tại Khoa khoa học máy tính Đại học California tại Berkeley [4].
1.7.2. Các đặc điểm của PostgreSQL
- Hoạt động đƣợc trên nhiều hệ điều hành nhƣ: Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64) và Windows.
- Lƣu trữ (Dạng nhị phân) các đối tƣợng có dữ liệu lớn nhƣ hình ảnh, âm thanh, hoặc video.
- Hỗ trợ các ngôn ngữ nhƣ: C/C++, Java, .Net, Perl, Python, Ruby, Tcl,... - Có sự thống nhất giữa những ngƣời phát triển (Tái sử dụng những kỹ năng và các thƣ viện đã có).
- Có hầu hết các truy vấn SQL với các kiểu dữ liệu nhƣ INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE,...
- Hỗ trợ các chức năng tìm kiếm tổng quát hóa có thể “gắn” các chỉ mục vào giúp quá trình tìm kiếm đƣợc thực hiện trên phạm vi rộng hơn nhƣ: Compound, unique, partial, and functional indexes.
- Cho phép ngƣời dùng tạo các kiểu dữ liệu mới, các hàm, các thủ tục… - PostgreSQL không quy định những hạn chế trong việc sử dụng mã nguồn của phần mềm nên có thể đƣợc dùng, sửa đổi và phổ biến bởi mọi ngƣời cho bất k mục đích nào.
- Tốc độ: Dữ liệu từ cơ sở dữ liệu sẽ phục vụ tốt hơn dữ liệu đọc từ shape file. Cơ sở tối ƣu hóa để phục vụ một khối lƣợng lớn dữ liệu lặp và dữ liệu không gian phù hợp với mô tả này hoàn hảo.
- Hỗ trợ đa ngƣời dùng: Dữ liệu không gian có xu hƣớng là các dữ liệu tham chiếu, tức là đƣợc chia sẻ bởi nhiều ngƣời dùng. Lƣu trữ dữ liệu trong hệ quản trị cơ sở dữ liệu sẽ cung cấp những lợi ích nhƣ: Truy cập từ xa thông qua các chuẩn giao tiếp nhƣ: JDBC, ODBC, PERL/DBI..., làm tăng tính bảo mật cho dữ liệu nhƣ: Một số ngƣời dùng có toàn quyền tuy nhiên một số ngƣời dùng chỉ có thể đọc hay không đƣợc nhìn thấy.
- Khả năng truy vấn: Đây là lợi ích lớn nhất.
- Cho phép thực hiện các câu truy vấn truyền thống. - Cho phép thực hiện các câu truy vấn không gian [4].
1.7.3. PostGIS
PostGIS là một CSDL không gian đƣợc tích hợp vào hệ quản trị cơ sở dữ liệu PostgreSQL. Nó hỗ trợ tất cả các hàm và đối tƣợng đƣợc đinh nghĩa trong chuẩn OpenGIS. Việc sử dụng những hàm tính toán không gian dựa trên PostGIS thuận lợi cho việc xử lý dữ liệu không gian và truy vấn hoàn toàn dựa trên các câu lệnh SQL.
PostGIS có khả năng lƣu trữ và thao tác với dữ liệu địa lý rất mạnh. Nó cung cấp những khả năng xử lý thông tin địa lý bên trong một môi trƣờng CSDL. Những hàm SQL bao gồm buffer, intersection, within, distance… Những hàm này lấy dữ liệu hình học từ các cột trong bảng PostGIS và trả về những hình học mới hoặc những thông tin khác. Ví dụ nhƣ hàm distance sẽ tính toán khoảng cách giữa các đối tƣợng (Feature) không gian, và hàm sẽ trả về một hình mới là một đa giác đƣợc làm vùng đệm tại một khoảng cách nào đó từ đối tƣợng nguồn.
không gian trong một môi trƣờng dữ liệu không gian và cung cấp đầy đủ sức mạnh của ngôn ngữ truy vấn cấu trúc (SQL) để thực hiện những phân tích khác, chẳng hạn nhƣ tính chi phí trung bình cho một vùng địa lý....
PostGIS còn hỗ trợ thêm chỉ mục không gian (Spatial indexes) dựa trên GIST và R-Tree, đây là điểm riêng biệt nhất của PostGIS so với các hệ quản trị CSDL khác giúp PostGIS dễ dàng quản lý, lƣu trữ, khai thác và tìm kiếm thông tin không gian.
1.7.4. Chuẩn dữ liệu không gian OGC
Open Geospatial Consortium (OGC) là một tổ chức phi lợi nhuận, dẫn đầu trên thế giới về phát triển các chuẩn dữ liệu địa lý và các dịch vụ, Tổ chức OGC đã đƣa ra ba chuẩn dịch vụ truy cập thông tin địa lý mang tính chuẩn hóa cao là: Web Map Service (WMS), Web Feature Service (WFS) và Web Coverage Service (WCS). Ngoài ra còn có các chuẩn khác nhƣ GeoParser và GeoCoder. Trong đó, hai chuẩn 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ý đó [3].
* Web Map Service (WMS)
WMS là một trong các chuẩn phổ biến nhất của OGC. WMS tạo ra các bản đồ dƣới dạng ảnh.Các bản đồ này tự bản thân chúng không chứa dữ liệu. Một WMS cơ bản cho phép Client kết nối và lấy bản đồ thông qua các phƣơng thức:
GetMap: Trả về các lớp bản đồ dựa vào các tham số đƣợc cung cấp bởi Client. Các tham số có thể đƣợc nhúng vào trong một URL (Uniform Resource Locator) của dịch vụ.
GetFeatureInfo: Trả về thông tin liên quan đến một đối tƣợng đƣợc hiển thị trên bản đồ tại vị trí X, Y. Phƣơng thức này cho phép Client có thể truy vấn để có thêm thông tin về một đối tƣợng.
Ngoài ra, WMS còn cung cấp cho Client kiểm soát các kiểu hiển thị bản đồ thông qua Styled Layer Desrciptor (SLD).
* Web Feature Service (WFS)
WFS cung cấp các đối tƣợng dữ liệu dƣới dạng định dạng thống nhất GML(Geography Markup Languge). Dữ liệu mà Client nhận đƣợc là một đặc tả về dữ liệu không gian và thông tin thuộc tính kèm theo. Một WFS cơ bản cho phép Client kết nối và lấy dữ liệu về theo các phƣơng thức:
GetCapabilities: Trả về tài liệu XML mô tả chức năng của WFS.
DescribeFeatureType: Trả về một lƣợc đồ XML định nghĩa các lớp đối tƣợng.
GetFeature: Trả về một tập các đối tƣợng dữ liệu thoả mãn các ràng buộc đƣợc mô tả trong yêu cầu.
Ngoài ra, WFS còn cho phép Client thực hiện các giao tác tạo, xóa, sửa các đối tƣợng.
* Web Coverage Service (WCS)
WCS cung cấp dữ liệu dƣới dạng Coverage. Coverage là loại dữ liệu biểu diễn các hiện tƣợng thay đổi theo không gian. WCS cung cấp các phƣơng thức để Client truy cập và lấy dữ liệu về:
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.
1.7.5. Một số đối tƣợng theo chuẩn OGC trong POSTGIS
PostGIS hỗ trợ các đối tƣợng và các hàm đƣợc định nghĩa chi tiết trong OGC "Simple Features for SQL". Với PostGIS ta có thể lƣu trữ các điểm,
đƣờng, vùng, tập hợp điểm, tập hợp đƣờng, tập hợp vùng và các thông tin hình học khác. PostGIS mở rộng chuẩn với sự hỗ trợ cho các tọa độ dạng 3DZ, 3DM và 4D.
OpenGIS định nghĩa hai chuẩn để diễn tả các đối tƣợng không gian: Well-known Text (WKT) và Well-Known Binary (WKB). Cả WKT và WKB đều bao gồm thông tin về kiểu của đối tƣợng và tọa độ của nó.
PostGIS đƣợc hiện thực tuân theo đặc tả “OGC Simple Feature Specifications” cho chuẩn SQL. Bản đặc tả này định nghĩa những thuật toán và lƣợc đồ SQL để thêm (Insert), truy vấn (Query), thao tác (Manipulate) và xóa (Delete) những đối tƣợng không gian. Những tọa độ của các đối tƣợng không gian đƣợc lƣu trữ trong các bảng. Mỗi một bảng có thể chứa một kiểu đối tƣợng hình học (Geometry) là điểm (Point, multipoint), đƣờng (Linestring, multilinestring), đa giác (Polygon, multipolygon và geometry collection). Những tọa độ của mỗi đối tƣợng đƣợc lƣu trữ trong một trƣờng với một kiểu riêng biệt.
Kiểu mô tả một tập hợp tọa độ không gian của đối tƣợng là WKT (Well Known Text). Khi những đối tƣợng không gian đƣợc đƣa vào cơ sở dữ liệu thì PostGIS sẽ chuyển chúng từ WKT sang WKB (Well Known Binary) để việc lƣu trữ đƣợc tốt hơn.
1.8. WEBGIS
1.8.1. Khái niệm
GIS có nhiều định nghĩa nên WebGis cũng có nhiều định nghĩa. Nói chung, các định nghĩa của WebGis dựa trên những định nghĩa đa dạng của GIS và có thêm các thành phần của Web. Đây là một số định nghĩa về WebGis.
WebGis là hệ thống thông tin địa lý (Geographic Information System - GIS) đƣợc phân bố thông qua hệ thống mạng máy tính phục vụ cho việc tích
hợp, phổ biến (Disseminate) và giao tiếp với các thông tin địa lý đƣợc hiền thị trên World Wide Web.
Hình 1.5. Sơ đồ tổng quan về kiến trúc của WebGis [8]
WebGis là một hệ thống phức tạp cho phép truy cập trên mạng với những chức năng: Thu nhận (Capturing), lƣu trữ (Storing), tích hợp (Integrating), xử lý (Manipulating), phân tích (Analyzing) và hiển thị dữ liệu theo vị trí tọa độ không gian mà không cần phải sử dụng các phần mềm GIS. 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 khách - chủ của Web.
Xử lý thông tin địa lý đƣợc chia ra làm 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 cần phải trả tiền cho phần mềm GIS.
Hình 1.6. Kiến trúc khách – chủ trong WebGis
Một client tiêu biểu là trình duyệt web và server bao gồm một web server có cung cấp chƣơng trình phần mềm WebGis. Client thƣờng yêu cầu một ảnh bản đồ hay vài xử lý thông tin địa lý qua web đến 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 và 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 plugin. 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 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 nhất 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.
WebGis là chức năng bổ sung cho GIS hoạt động trong môi trƣờng rộng hơn thông qua mạng và đƣợc ứng dụng ngày càng rộng rãi trong thƣơng mại, quản lý nhà nƣớc và giáo dục. Nhiều ứng dụng sẽ đƣợc chạy trên mạng nội bộ trong doanh nghiệp và cơ quan chính phủ nhƣ là một phƣơng tiện phân phối và sử dụng dữ liệu không gian địa lý chung.
-Khả năng phân phối thông tin địa lý rộng rãi trên toàn thế giới.
-Ngƣời dùng Intenet 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 loại khác.
Nhiều nghiên cứu hiện nay về WebGis liên quan đến các ứng dụng xây dựng bản đồ tƣơng tác, một trong những lĩnh vực quan trọng của sự đổi mới liên quan đến việc "chỉ trả cho sử dụng" của dịch vụ bản đồ và GIS.
1.8.2. Mô hình xử lý và kiến trúc triển khai WebGis
Kiến trúc web của hệ thống thông tin dữ liệu không gian cũng phải thỏa mãn kiến trúc ba tầng dành cho mọi hệ thống thông tin dạng web cơ bản.Tùy thuộc vào từng công nghệ riêng biệt và phát triển ứng dụng của từng hãng mà chúng có khả năng phát triển, mở rộng thành kiến trúc đa tầng (n-tier) hay không.
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. Cleaning House là nơi đƣợc dùng để lƣu trữ và duy trì những siêu dữ liệu về dữ liệu không gian tại những Data Server khác nhau. Dựa trên những thành phần quản lý dữ liệu, ứng dụng server và mô hình server đƣợc dùng cho ứng dụng hệ thống để tính toán thông tin không gian thông qua các hàm cụ thể tại Application Server. Tất cả kết quả tính toán của Application Server sẽ đƣợc gửi đến Web Server để thêm vào các gói HTML, gửi cho client và hiển thị;
Hình 1.7. Mô hình xử lý thông tin của WebGis [2]
1.9. THƢ VIỆN OPENLAYERS
OpenLayers là một dự án của tổ chức OGC. OpenLayers là một thƣ viện điện tử mã nguồn mở JavaScrip rất mạnh giúp nhúng bản đồ động lên trang web bất k . Cung cấp một API để xây dựng nhiều ứng dụng dựa trên web địa lý tƣơng tự nhƣ Google Maps và Bing Maps. OpenLayers có thể lấy bản đồ từ nhiều loại nguồn khác nhau và cung cấp một giao diện tƣơng tác đẹp, phong phú cho ngƣời dùng.
OpenLayers đƣợc phát triển và hỗ trợ bởi rất nhiều tổ chức trên thế giới. OpenLayers cho phép hiển thị bản đồ và các điểm đánh dấu (Marker) lên một trang web từ nhiều nguồn khác nhau.
Hỗ trợ việc hiển thị dữ liệu bản đồ trên mọi trình duyệt hiện nay. Hỗ trợ việc xây dựng các ứng dụng địa lý trên web. Hỗ trợ các phƣơng pháp chuẩn cho việc truy cập dữ liệu địa lý, ví dụ nhƣ hai giao thức WMS và WFS của OGC [9].
Viết hoàn toàn bằng JavaScript. OpenLayers đƣợc viết bằng JavaScript theo hƣớng đối tƣợng, sử dụng các thành phần từ Prototype.js và thƣ việc Rico. OpenLayers tách rời phần công cụ bản đồ và dữ liệu bản đồ. Nhờ đó mọi công cụ đều có thể hoạt động trên các nguồn dữ liệu khác nhau.
OpenLayers cho phép ngƣời dùng hiển thị nhiều layer khác nhau từ nhiều nguồn khác nhau cùng một lúc. Các nguồn này có thể là một WMS, WFS hay những dịch vụ bản đồ web mở khác nhƣ GeoRSS, OpenStreetMap, Google Maps/Earth hay các file dữ liệu nhƣ GML, KML....
OpenLayers là hoàn toàn miễn phí, mã nguồn mở JavaScript. Không phải trả phí và phức tạp nhƣ Google Maps API.
Có hai khái niệm quan trọng cần đƣợc hiểu rõ khi làm việc với OpenLayers để xây dựng bản đồ: „Map‟ và „Layer‟. „Map‟ là nơi để lƣu giữ các thông tin về hệ quy chiếu, đơn vị, vùng bao (box) … của bản đồ. Bên trong bản đồ, dữ liệu đƣợc hiển thị thông qua các „Layer‟. Một „Layer‟ là một nguồn dữ liệu, nó cho biết OpenLayers nên yêu cầu và hiển thị dữ liệu nhƣ thế nào. Trong một „Map‟ có thể chứa một hoặc nhiều „Layer‟ chồng lên nhau. Dữ liệu trong một „Layer‟ có thể là dạng raster hoặc Vector.
Ngoài ra, việc cung cấp một tập các điều khiển sẽ cho phép ngƣời phát triển có thể thao tác trên bản đồ một cách linh hoạt. Các điều khiển là các lớp trong OpenLayers, chúng cho phép định nghĩa các trạng thái, hành vi của bản đồ. Hoặc hiển thị các thông tin bổ sung cho ngƣời dùng. Các điều khiển chính là giao diện cho phép tƣơng tác với bản đồ.
OpenLayers cung cấp các lớp cho phép định dạng kiểu dáng các đối tƣợng không gian. Việc định dạng kiểu dáng này có thể áp dụng cho từng đối tƣợng hoặc toàn bộ các đối tƣợng Vector trên một lớp. Các thuộc tính về kiểu dáng của đối tƣợng Vector đƣợc định nghĩa thông qua đối tƣợng „Style‟. Việc định dạng kiểu dáng này chỉ áp dụng đƣợc cho các đối tƣợng thuộc các lớp Vector.
1.10. KẾT CHƢƠNG
Trong chƣơng này, ngƣời viết luận văn đã tìm hiểu về tình hình thực tế về trƣợt lở đất tại tỉnh Quảng Ngãi. Đồng thời nêu tổng quan về trƣợt lở đất, các nhân tố tác động đến trƣợt lở đất, trình bày cơ sở lý thuyết về hệ thống thông tin địa lý GIS cũng nhƣ tìm hiểu cách xây dựng và trích xuất dữ liệu từ GIS. Bên cạnh đó, ngƣời viết còn giới thiệu các kiến thức và khái niệm, tổng quan về các công cụ và dữ liệu đƣợc sử dụng để xây dựng WEBGIS nhƣ