PostgreSQL/PostGIS và dữ liệu không gian

PostgreSQL là hệ quản trị cơ sở dữ liệu nguồn mở xây dựng trên mã nguồn ban đầu của đại học Berkeley. PostgreSQL không chỉ là cơ sở dữ liệu quan hệ, nó là quan hệ hướng đối tượng. Điều này cung cấp cho nó một vài lợi thế so với các cơ sở dữ liệu SQL mã nguồn mở khác như MySQL, MariaDB và Firebird. Một đặc điểm cơ bản của cơ sở dữ liệu quan hệ hướng đối tượng là hỗ trợ các đối tượng người dùng tự định nghĩa và các hành vi của chúng bao gồm các kiểu dữ liệu, các hàm, các thao tác, các tên miền và các chỉ mục. Điều này làm cho PostgreSQL cực kỳ mạnh và linh hoạt. Trong đó, các cấu trúc dữ liệu phức tạp có thể được tạo ra, lưu trữ, và truy xuất.
PostgreSQL hỗ trợ đa dạng các kiểu dữ liệu. Bên cạnh kiểu số, floating-point, chuỗi, Boolean nó còn hỗ trợ các kiểu dữ liệu hình học (geometric), nhị phân (binary), địa chỉ mạng, chuỗi bit, tìm kiếm văn bản, xml, json, mảng (mảng nhiều chiều)
PostGIS được Refraction Research Inc phát triển như một dự án nghiên cứu công nghệ cơ sở dữ liệu không gian. PostGIS hỗ trợ đối tượng địa lý cho CSDL đối tượng quan hệ PostgreSQL, tích hợp tool import dữ liệu không gian trực tiếp từ Shapefile. PostGIS kích hoạt khả năng không gian cho PostgreSQL, cho phép PostgreSQL sử dụng như một CSDL không gian phụ trợ cho các hệ thống thông tin địa lý (GIS), truy vấn, thống kê hoặc xử lý dữ liệu không gian.
PostGIS có sẵn cho PostgreSQL tăng các tính năng dữ liệu hình học có sẵn với việc thêm các kiểu không gian, các hàm, các thao tác và các chỉ mục. Nó là vị trí nhận biết và hỗ trợ cả dữ liệu raster và vector. Nó cũng cung cấp khả năng tương tác với một loạt mã nguồn mở của bên thứ 3 và các công cụ không gian địa lý độc quyền để làm việc, lập bản đồ và vẽ các dữ liệu
PostGIS được sử dụng như một hệ CSDL không gian nên nó bao gồm tất cả các đặc điểm của CSDL không gian:
• Cơ sở dữ liệu không gian sử dụng đánh chỉ mục không gian để tăng tốc hoạt động của cơ sở dữ liệu:
o Partial Indexes (Đánh chỉ mục từng phần): Partial Indexes có thể được tạo ra khi bạn chỉ muốn đánh chỉ mục một tập hợp con của bảng, chẳng hạn như chỉ một số dòng nơi giá trị của cột phù hợp với một điều kiện cụ thể. Lợi thế của tính năng này giúp chỉ mục của bạn có kích thước hợp lý, với mục tiêu để cải thiện hiệu năng và giảm kích thước trên ổ đĩa.
o Expression Indexes: Expression indexes có thể được tạo ra bằng cách sử dụng bất kỳ function nào để tính toán trước một cột trong chỉ mục. Các giá trị mới được đánh chỉ mục và được xem như các hằng số để truy vấn, đối lập với việc phải tính toán mỗi khi một truy vấn chạy
o GIST và GIN: GiST (Generalized Search Tree) cho phép kết hợp B-tree, R-tree, và các kiểu đánh chỉ mục người dùng tự định nghĩa để tạo các chỉ mục tùy chỉnh với khả năng truy vấn tiên tiến; GIN (Generalized Inverted Index) cho phép đánh chỉ mục các kiểu dữ liệu kết hợp. Các kiểu dữ liệu kết hợp cho phép bạn kết hợp các kiểu dữ liệu khác nhau theo nhiều cách để tạo ra một cái gì đó hoàn toàn tùy chỉnh.

• Có thể thực thi đa dạng các thao tác không gian được hỗ trợ bởi tổ chức OGC:
o Đo lường không gian: có khả năng tìm khoảng cách giữa các điểm, các vùng
o Các hàm truy vấn không gian như: intersect, union, merge,…
o Các hàm xác nhận không gian: within,… cho phép thực hiện những truy vấn True/False
o Các hàm tạo: tạo ra các đôi tượng mới
o …
“Không giống như các hệ quản trị CSDL khác, Postgres vốn dược thiết kế để xử lý dữ liệu không gian nên những tính năng về không gian được hỗ trợ mạnh mẽ. Ngoài ra, do Postgres có một cộng đồng phát triển mạnh, các tính năng mở rộng được nâng cấp nhanh chóng qua từng phiên bản. Một ưu điểm nữa của Postgres là nó có thể triển khai trên mọi môi trường (Window, Linux, Mastonish..) nên được dùng như một nền tảng back-end phổ biến”.

Advertisements

Các bước xây dựng ứng dụng WebGIS

Việc xây dựng 1 ứng dụng WebGIS , thông  thường qua các bước như sau:

quy_trinh_web_gis.j Bước 1: Xây dựng cơ sở dữ liệu không gian, thuộc tính.

•      Thiết kế cấu trúc dữ liệu không gian, thuộc tính dựa trên yêu cầu nghiệp vụ của hệ thống, tối ưu hóa thiết kế đảm bảo hiệu năng hệ thống

•      Thu thập dữ liệu (nền, chuyên đề), chuẩn hóa dữ liệu.

•      Import dữ liệu không gian, thuộc tính vào CSDL.

•      Viết các các câu lệnh SQL để tương tác với dữ liệu ( dạng function, Procedure, CommandText…)

Bước 2: Xây dựng Web Application

•      Xây dựng giao diện Web

•      Xây dựng các chức năng Web

•      Các chức năng Web

•      Các chức năng bản đồ  (Dùng thư viện bản đồ (OpenLayer,  OpenScale, ArcGIS…) để tạo Map

•      Dùng Client Scripts (Javascript, SilverLight..) để control tương tác người dùng.

•      Dùng Server Scripts (Asp.NET, PHP…) để xử lý tương tác từ người dùng (truy vấn, chỉnh sửa đối tượng…)

Bước 3 : Publish & Sharing

•      Tạo các chức năng bản đồ dưới dạng Services

•      Publish Services

•      Triển khai ứng dụng

•      Sharing qua Internet (LAN, WAN…

 

 

Continue reading Các bước xây dựng ứng dụng WebGIS