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 qt 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 hồ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ó tồ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 tố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 tố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). Ngồ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.
Ngồ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.
Ngồ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.