DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 2.1 Cây gia đình của PostgreSQL Hình 2.2 Kết quả biên dịch mã nguồn PostgreSQL phiên bản 9.0 beta3 Hình 2.3 Cây triển khai hệ thống PostgreSQL Hình 2.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trang 2MỤ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
MỞ ĐẦU 7
Chương 1 – TỔNG QUAN 11
1.1 Cơ sở nghiên cứu và mục đích của luận văn 11
1.1.1 Tình hình phát triển và ứng dụng công nghệ GIS trên thế giới 11
1.1.2 Tình hình nghiên cứu và ứng dụng công nghệ GIS trong nước 16
1.1.3 So sánh công nghệ GIS mã nguồn mở và mã nguồn đóng 18
1.1.4 Ứng dụng mã nguồn mở xây dựng, phát triển công nghệ nền GIS 22
1.2 Các phần mềm nguồn mở theo mô hình GIS khách/chủ 23
1.2.1 Các phần mềm GIS dành cho máy để bàn (Desktop GIS) 23
1.2.2 Các phần mềm khác 25
1.3 Tổ chức luận văn 26
Chương 2 – HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU KHÔNG GIAN 27
2.1 Phân tích, đánh giá, lựa chọn hệ quản trị cơ sở dữ liệu 27
2.1.1 Đặt vấn đề 27
2.1.2 Cách tiếp cận 27
2.1.3 Kiểm thử, đánh giá và lựa chọn sản phẩm 28
2.1.4 Kết luận 35
2.2 Hệ quản trị cơ sở dữ liệu PostgreSQL 35
2.2.1 Giới thiệu 35
2.2.2 Biên dịch mã nguồn 39
2.2.3 Cài đặt và tối ưu hóa cấu hình 42
2.3 PostGIS – phần mở rộng của PostgreSQL 44
2.3.1 Giới thiệu 44
2.3.2 Biên dịch mã nguồn 45
2.3.3 Cài đặt và tối ưu hóa cấu hình 49
2.4 Kết luận 51
Chương 3 – XÂY DỰNG THƯ VIỆN GIS KHÁCH-CHỦ 53
3.1 Giới thiệu 53
3.2 Dịch vụ GIS máy chủ 54
3.2.1 Ý tưởng xây dựng 54
3.2.2 Kết quả đạt được 61
3.3 Thư viện lập trình máy khách 64
3.3.1 Quản lý kết nối tới máy chủ dữ liệu PostgreSQL 64
3.3.2 Xây dựng các chức năng mà dịch vụ GIS hỗ trợ 65
Trang 34.1 Xây dựng cơ sở dữ liệu không gian 80
4.2 Ứng dụng đẩy kết quả giải đoán ảnh viễn thám lên PostgreSQL 82
4.3 Minh họa hệ thống GIS quản lý công trình thủy lợi tỉnh Hưng Yên 85
4.4 Kết luận 90
Chương 5 – KẾT QUẢ VÀ BÀN LUẬN 91
KẾT LUẬN VÀ KIẾN NGHỊ 92
TÀI LIỆU THAM KHẢO 93
Trang 4LỜ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 và là một nhà nghiên cứu khoa học của Trung tâm Công nghệ phần mềm Thủy lợi-Viện KHTL Việt Nam, tôi xin cam đoan toàn bộ nội dung chính của luận văn khoa học 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
Trang 5DANH 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)
ESRI Viện nghiên cứu các hệ môi trường (Environmental Systems
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)
Trang 6DANH MỤC CÁC BẢNG
Bảng 1 So sánh các chức năng chính của MySQL và PostgreSQL Bảng 2 Kết quả kiểm thử PostgreSQL và MySQL
Trang 7DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 2.1 Cây gia đình của PostgreSQL
Hình 2.2 Kết quả biên dịch mã nguồn PostgreSQL phiên bản 9.0 beta3 Hình 2.3 Cây triển khai hệ thống PostgreSQL
Hình 2.4 Kết quả biên dịch mã nguồn PostGIS
Hình 3.1 Mô hình ứng dụng GIS khách chủ
Hình 3.2 Biểu đồ lớp của dịch vụ GIS
Hình 3.3 Lắng nghe các kết nối
Hình 3.4 Xử lý các yêu cầu gọi hàm từ máy khách
Hình 4.1 Bổ sung các tính năng không gian
Hình 4.2 Câu lệnh tạo mới và đẩy dữ liệu shapefile thành bảng trong CSDL
không gian Hình 4.3 Giao diện chính ứng dụng đẩy kết quả giải đoán lên CSDL
Hình 4.4 Kết nối tới máy chủ từ xa
Hình 4.5 Tạo lớp bản đồ để chứa kết quả giải đoán ảnh viễn thám
Hình 4.6 Cập nhật kết quả giải đoán ảnh vệ tinh định dạng shapefile vào
bảng không gian tbl_vientham Hình 4.7 Giao diện chính của ứng dụng quản lý công trình thủy lợi
Hình 4.8 Lấy thông tin thuộc tính của kênh D5a
Hình 4.9 Tạo mới shapefile, đồng thời tải dữ liệu đồ họa
Hình 4.10 Kết quả sau khi tải dữ liệu về
Hình 4.11 Liệt kê tất cả các trạm bơm tưới nằm trên xã Thành Long huyện
Yên Mỹ Hình 4.12 Liệt kê tất cả các kênh tiêu đi qua địa bàn xã Thành Long huyện
Yên Mỹ
Trang 8MỞ ĐẦU
Với sự phát triển không ngừng của công nghệ GIS và viễn thám, các phần mềm ứng dụng công nghệ GIS len lỏi vào tất cả các lĩnh vực, các quốc gia và đã thể hiện được các lợi ích mà các phần mềm đó mang lại cho nền kinh tế, cho công tác quản lý và dự báo Hiện nay có nhiều quốc gia, nhiều tổ chức lớn nhỏ thuộc nhà nước và tư nhân đều đầu tư, đẩy mạnh việc nghiên cứu công nghệ hữu ích này Là một nhà nghiên cứu về lĩnh vực GIS, tôi cũng không nằm ngoài xu thế phát triển công nghệ thông tin của thế giới và đó cũng là lý do tôi chọn đề tài nghiên cứu
“Phát triển các công cụ hỗ trợ mô hình GIS khách/chủ sử dụng phần mềm nguồn mở”
Tại Việt Nam công nghệ GIS cũng được thí điểm khá sớm, và đến nay đã được ứng dụng trong khá nhiều ngành như quy hoạch nông lâm nghiệp, quản lý rừng, lưu trữ tư liệu địa chất, đo đạc bản đồ, địa chính, quản lý đô thị Tuy nhiên các ứng dụng có hiệu quả nhất mới giới hạn ở các lĩnh vực lưu trữ, in ấn các tư liệu bản đồ bằng công nghệ GIS Các ứng dụng GIS thuộc lĩnh vực quản lý, điều hành, trợ giúp quyết định hầu như mới dừng ở mức thử nghiệm, còn cần thời gian và đầu
tư mới có thể đưa vào ứng dụng chính thức Với kiến thức về công nghệ thông tin thuần túy, tôi bước vào một lĩnh vực hoàn toàn mới đòi hỏi kiến thức của nhiều ngành khoa học khác nhau như địa lý, trắc địa, viễn thám, toán học,… là các khó khăn mà tôi phải vượt qua Dưới định hướng của Ban lãnh đạo Trung tâm Công nghệ phần mềm Thủy lợi đặc biệt là dưới sự dẫn dắt tận tình của TSKH Nguyễn Đăng Vỹ, tôi đã tham gia xây dựng một số phần mềm ứng dụng công nghệ GIS như:
+ Nâng cao năng lực quản lý công tác thủy lợi ứng dụng công nghệ GIS; + Ứng dụng công nghệ GIS quản lý và giám sát sâu bệnh hại lúa;
+ Quản lý, giám sát công tác giao đất, giao rừng;
+ Giám sát và dự báo hướng lây lan dịch cúm gia cầm, dịch lở mồm long
Trang 9+ Hệ thống chỉ huy điều hành công tác phòng cháy chữa cháy, cứu hộ, cứu nạn;
+ Nghiên cứu ứng dụng công nghệ GIS mã nguồn mở vào việc giám sát tình hình, cảnh báo và dự báo về một số loại sâu bệnh chính hại lúa, phục
vụ công tác phòng trừ sâu bệnh, bảo vệ mùa màng
Trong quá trình nghiên cứu, tôi nhận thấy chi phí cho việc xây dựng một hệ thống GIS bằng ít nhất là hai lần so với một hệ thống không phải là GIS có cùng khối lượng thông tin thuộc tính tương đương, có các chức năng xử lý và cung cấp thông tin cho người dùng như nhau, ngoại trừ những bài toán liên quan đến dữ liệu không gian
Chi phí đầu tư xây dựng một hệ thống GIS bao gồm :
• Con người (Đội ngũ xây dựng hệ thống) ;
• Dữ liệu (Dữ liệu thuộc tính và dữ liệu bản đồ) ;
• Máy móc, thiết bị;
• Công nghệ phần mềm nền
Tại một thời điểm nhất định, chi phí cho 3 thành phần đầu thường là khó thay đổi được nhiều Thành phần duy nhất cho phép giảm giá thành của sản phẩm là công nghệ phần mềm nền Do đó, để giảm chi phí cho việc xây dựng một hệ thống GIS, nhưng vẫn đảm bảo thời gian yêu cầu của công việc và chất lượng sản phẩm, cần thiết phải nghiên cứu một cách cơ bản các sản phẩm công nghệ GIS thuộc dòng
mã nguồn mở để không chỉ ứng dụng được chúng mà còn phát triển, thay đổi theo
ý muốn của mình Do đó cuối năm 2009, tôi đã bắt tay nghiên cứu công nghệ GIS thuộc dòng mã nguồn mở
Mục tiêu của luận văn:
- Mục tiêu tổng quát:
Nghiên cứu ứng dụng mã nguồn mở GIS, hệ quản trị cơ sở dữ liệu PostgreSQL, PostGIS xây dựng các gói chức năng kết nối, xử lý, giao dịch dữ liệu không gian hỗ trợ cho mô hình khách chủ
- Mục tiêu cụ thể:
Trang 10+ Tìm hiểu cách xây dựng cơ sở dữ liệu không gian trên
PostgreSQL/PostGIS;
+ Xây dựng dịch vụ GIS dành cho máy chủ GIS;
+ Xây dựng thư viện lập trình GIS làm nền tảng để xây dựng các phần mềm
khách
Trong các hệ quản trị cơ sở dữ liệu không gian thuộc dòng mã nguồn mở như GEODAS, MySQL, PostgreSQL/PostGIS, Predator,… thì PostgreSQL/PostGIS được phát hành theo ‘GNU General Public License’ cho phép chia sẻ và thay đổi phần mềm miễn phí để đảm bảo rằng phần mềm này là miễn phí cho tất cả người sử dụng PostGIS cho phép sử dụng nó như một cơ sở dữ liệu không gian phụ trợ cho các hệ thống thông tin địa lý (GIS), giống như SDE của ESRI hoặc Oracle Spatial PostGIS xây dựng sẵn các kiểu, các chức năng không gian, từ đó đặt ra bài toán:
- Bổ sung thêm các chức năng mới vào PostGIS;
- Xây dựng các thư viện phục vụ các lớp bài toán cụ thể sử dụng các tính năng
hỗ trợ mạnh mẽ của PostgreSQL kết hợp sử dụng các chức năng mà PostGIS cung cấp;
- Xây dựng dịch vụ GIS để khai thác các thư viện tích hợp thành các hàm trong PostgreSQL và các chức năng của PostGIS trong môi trường mạng Internet, tránh truy cập trực tiếp đến PostgreSQL
Sau đây là các phương pháp nghiên cứu, kỹ thuật, công cụ được sử dụng để thực hiện luận văn
- Phương pháp nghiên cứu tài liệu là phương pháp được sử dụng trong tất cả các nội dung nghiên cứu Tài liệu được nghiên cứu có thể là sách, tạp chí của thư viện cá nhân, ở các thư viện công cộng và trên mạng Internet Nghiên cứu tài liệu để tìm hiểu hiện trạng của mỗi một vấn đề trong toàn bộ nội dung của luận văn, những kết quả đạt được ở trong nước và trên thế giới, từ đó xác định được những gì có thể kế thừa và những gì cần làm tiếp để giải quyết vấn
Trang 11- Phương pháp thiết kế cơ sở dữ liệu quan hệ đối tượng được sử dụng để thiết
kế cơ sở dữ liệu cho hệ thống GIS PostgreSQL được chọn làm quản trị CSDL cho hệ thống, PostGIS làm quản trị dữ liệu bản đồ trên máy chủ
- Phương pháp lập trình hướng đối tượng sẽ được sử dụng để lập trình các module phần mềm chạy trên máy chủ và máy khách của hệ thống Ngôn ngữ lập trình sẽ được sử dụng là C++
Trang 12Chương 1 – TỔNG QUAN 1.1 Cơ sở nghiên cứu và mục đích của luận văn
1.1.1 Tình hình phát triển và ứng dụng công nghệ GIS trên thế giới
Công nghệ GIS là một thành phần của ngành công nghệ thông tin, nó là kết quả tích hợp, phát triển của công nghệ bản đồ và công nghệ máy tính Lịch sử phát triển của công nghệ GIS bắt đầu từ Canada vào đầu thập kỷ 60 của thế kỷ 20 Khi
đó, Bộ Lâm nghiệp và Phát triển nông nghiệp của Canada đặt ra nhiệm vụ kiểm kê định kỳ, tính toán diện tích rừng trong toàn quốc, phân loại các loại rừng, các loại cây rừng, động vật hoang dã, đánh giá các loại tài nguyên này Các chuyên gia trắc địa-bản đồ Canada đã đưa ra ý tưởng sử dụng máy tính lưu trữ bản đồ và kèm vào
đó là thông tin về các đối tượng địa lý mà bây giờ ta gọi là dữ liệu thuộc tính Trong mỗi đợt kiểm kê lại tài nguyên, người ta chỉ cần cập nhật thông tin những khu vực
bị thay đổi, vẽ lại bản đồ các vùng có biến động Và như thế, một hệ thống thông tin địa lý ra đời, trở thành một trong những hệ thống GIS lớn nhất thế giới, đánh dấu sự
ra đời của công nghệ GIS [1, 2]
Tiếp theo Bộ Lâm nghiệp và Phát triển nông nghiệp của Canada, nhiều trường đại học và viện nghiên cứu ở Mỹ cũng tiến hành nghiên cứu và xây dựng hệ thống thông tin địa lý Sự phát triển của công nghệ GIS gắn liền với sự phát triển của công nghệ đồ hoạ máy tính và khoa học hình học tính toán (Computational Geometry) Mặt khác, do khối lượng công việc chính là xử lý dữ liệu đồ hoạ, các hệ thống GIS đòi hỏi cấu hình phần cứng rất cao, vì vậy sự phát triển cũng như ứng dụng của công nghệ GIS phụ thuộc rất nhiều vào sự phát triển của phần cứng máy tính và mạng Có thể nêu một số sự kiện chính sau đây đánh dấu sự phát triển của công nghệ GIS:
- Đến giữa thập kỷ 60 thế kỷ 20 công nghệ GIS đã được ứng dụng vào công tác khai thác và quản lý đô thị, ví dụ cụ thể là hệ thống DIME của cơ quan kiểm toán Mỹ, GRDSR của cơ quan thống kê Canada Năm 1968, Hội địa lý
Trang 13- Những năm 1970 đánh dấu sự ra đời và phát triển của các công ty phần mềm thương mại GIS, trong đó nổi bật là Viện Nghiên cứu hệ thống môi trường (ESRI) của Mỹ và Intergraph Đến năm 1977 người ta đã thống kê được 54
hệ thống thông tin địa lý khác nhau trên thế giới Giai đoạn này cũng đánh dấu sự bắt đầu của xu hướng nghiên cứu tích hợp công nghệ GIS và công nghệ viễn thám
- Thập kỷ 80 thế kỷ 20 được đánh dấu bởi các nhu cầu sử dụng hệ thống thông tin địa lý ngày càng tăng với các quy mô khác nhau GIS mở rộng phạm vi ứng dụng vào nhiều lĩnh vực khác nhau: khảo sát thị trường, đánh giá khả thi các phương án quy hoạch, sử dụng tối ưu các nguồn tài nguyên, xử lý các bài toán giao thông, cấp thoát nước Sự kết hợp thống nhất giữa dữ liệu thuộc tính với dữ liệu không gian trong công nghệ GIS cho phép người sử dụng, ngoài các dữ liệu thuộc tính, thông tin định lượng, còn có khả năng quan sát trên không gian bản đồ, có tầm nhìn bao quát hơn trong quá trình phân tích
số liệu, hoàn cảnh, tình huống và lựa chọn quyết định
- Trong những năm đầu của thập kỷ 90 thế kỷ 20, việc tích hợp công nghệ viễn thám với công nghệ GIS đã đưa lại hiệu quả và mở ra triển vọng ứng dụng mới, đặc biệt là ở các nước Bắc Mỹ và châu Âu Khu vực châu Á - Thái Bình Dương cũng đã thành lập được nhiều trung tâm nghiên cứu viễn thám và hệ thống thông tin địa lý Năm 1994 đã có hội thảo về ứng dụng viễn thám và hệ thống thông tin địa lý trong quy hoạch và quản lý đô thị được tổ chức ở Thái Lan Sự kết hợp công nghệ GIS với công nghệ viễn thám phản ánh xu hướng thống nhất nhiều ngành công nghệ có quan hệ mật thiết với nhau trong ứng dụng nhằm cung cấp cho con người lượng thông tin
đa hướng, kết quả xử lý tổng quát có giá trị thực tiễn hơn GIS là hệ thống thông tin mà viễn thám là một trong những nguồn dữ liệu hết sức quan trọng, đặc biệt đối với những bài toán về mặt địa lý có phạm vi lớn cấp tỉnh, cấp quốc gia và phạm vi toàn cầu Những năm cuối thập kỷ 90 là thời kỳ công
Trang 14nghệ GIS chiếm lĩnh thị trường máy tính PC với các tên tuổi lớn như ESRI, MapInfo
- Điểm nổi bật của những năm đầu thế kỷ 21 là sự xuất hiện các sản phẩm GIS thuộc dòng mã nguồn mở, chúng phát triển nhanh chóng, tạo điều kiện hết sức thuận lợi cho việc ứng dụng công nghệ GIS, nhất là đối với các nước nghèo
Khi đánh giá sự phát triển của công nghệ GIS, không thể bỏ qua các viện nghiên cứu, các công ty phần mềm có công lớn trong việc nghiên cứu phát triển khoa học hình học toán tính và công nghệ đồ hoạ máy tính, xây dựng các thư viện lập trình và các công cụ cho GIS Như đã nói ở trên, công nghệ GIS là kết quả tích hợp và phát triển của công nghệ máy tính với công nghệ bản đồ Mắt xích của quá trình tích hợp và phát triển là môn khoa học hình học toán tính và công nghệ đồ hoạ máy tính Đến những năm 1990 lịch sử phát triển của công nghệ GIS đạt đến giai đoạn bắt đầu của sự phân công lao động: Một số công ty phần mềm tập trung nghiên cứu, phát triển các thư viện lập trình giải quyết các bài toán hình học toán tính và đồ hoạ máy tính, bài toán tổ chức lưu trữ dữ liệu đồ hoạ và phát triển các công cụ cơ bản để xây dựng các hệ thống GIS Những sản phẩm này có thể gọi là sản phẩm công nghệ nền cho việc xây dựng các hệ thống GIS ứng dụng Các công
ty phần mềm khác dựa trên nền tảng của công nghệ nền để xây dựng các hệ thống GIS giải quyết những bài toán cụ thể theo yêu cầu của khách hàng Đi đầu trong lĩnh vực phát triển công nghệ nền GIS thương mại là ESRI, MapInfo, Integraph, AutoDesk [3, 4] Trong số này, sản phẩm của MapInfo được đánh giá là dễ sử dụng, thân thiện với người dùng, sử dụng tốt cho các hệ thống trên máy đơn hoặc cho các hệ thống quy mô vừa và nhỏ trên mạng Còn sản phẩm của ESRI được đánh giá có kiến trúc rõ ràng, vững chắc, đồng bộ, vận hành ổn định, đáp ứng được yêu cầu xây dựng các hệ thống lớn: cấp tập đoàn, ngành hoặc chính phủ
Về phía các sản phẩm GIS của dòng mã nguồn mở có thể kể đến GRASS,
Trang 15điểm của các sản phẩm này là phát triển không đồng bộ, thường khó xây dựng, khó triển khai sản phẩm ứng dụng vì thiếu sự hỗ trợ kỹ thuật từ phía nhà cung cấp như các sản phẩm thương mại
Sau đây là những lĩnh vực sản xuất và đời sống ứng dụng công nghệ GIS sớm nhất và những lĩnh vực ứng dụng tổng hợp công nghệ GIS và viễn thám phổ biến trên thế giới [6, 1, 2]
a) GIS trong quản lý đất đai
Hệ thống GIS về đất đai được gọi bằng thuật ngữ chuyên dụng trong tiếng Anh
là Cadastr Ở đây, các thửa đất được lưu trữ dưới dạng là các đối tượng hình học (toạ độ các đỉnh của thửa đất, cấu trúc topo, diện tích), còn các thông tin về chủ sở hữu, các hồ sơ pháp lý, tính chất thổ nhưỡng của đất, giá đất đều phải được gắn liền với từng thửa đất tương ứng Hệ GIS đầu tiên ở Canada cũng là hệ có chức năng quản lý tài nguyên đất quốc gia
b) GIS trong quản lý đô thị
Trong quản lý đô thị, hệ thống thông tin địa lý là một hệ thống khá phức tạp vì
nó phục vụ nhiều mục tiêu, cần đáp ứng nhiều yêu cầu khác nhau Ngoài việc quản
lý đất đai đô thị, hệ thống còn phải quản lý các thông tin về kinh tế, xã hội khác như giao thông, cấp và thoát nước, hệ thống đường ống, nhu cầu nước của từng khu phố, tình trạng thoát nước của từng khu vực, thông tin về các điểm buôn bán, chợ, siêu thị, cửa hàng, mạng lưới các cơ quan công quyền, các trường đại học, các viện nghiên cứu, các nhà máy lớn, nhỏ
Đặc điểm của hệ thống GIS trong quản lý đô thị so với các hệ thống khác là không gian mà nó mô phỏng có quy mô nhỏ hơn, các thông tin có thể được cập nhật vào hệ thống một cách nhanh chóng hơn khi có sự thay đổi Mô hình dữ liệu tập trung tương đối thích hợp đối với những thành phố vừa và nhỏ
Ngoài mục đích phục vụ quản lý, điều hành thành phố, GIS trong quản lý đô thị có thể được sử dụng như là một hệ thống hỏi-đáp công cộng để cung cấp thông tin cho mọi người dân
c) GIS trong giám sát, bảo vệ môi trường
Trang 16Trên thế giới người ta đã xây dựng các hệ thống GIS để quan sát, đánh giá môi trường trong các thành phố, quan sát môi trường nước mặt, nước ngầm, quan sát và
dự báo quá trình xâm mặn, quan sát các vệt dầu loang trong các vụ tai nạn tàu biển, tính toán tốc độ loang của các vết dầu để sớm có các biện pháp ngăn chặn Phần lớn các hệ thống này đều gắn liền với các thiết bị đo đạc để đo đạc, thu thập số liệu
về môi trường Đối với những khu vực có không gian rộng lớn hoặc những địa điểm con người khó đặt chân tới, hệ thống GIS dùng kết quả giải đoán các hiện tượng ô nhiễm từ ảnh viễn thám để làm một trong những nguồn dữ liệu vào Ở đây, sự kết hợp GIS và công nghệ viễn thám là tất yếu
d) GIS trong quản lý kinh doanh
GIS thâm nhập vào lĩnh vực quản lý kinh doanh nhanh hơn các lĩnh vực khác Chỉ riêng năm 1990 tổng chi phí của các doanh nghiệp để mua sản phẩm GIS đạt tới
10 triệu đôla Mỹ, đến 1997 đã lên tới 200 triệu GIS được sử dụng để phân tích các
dữ liệu tích luỹ được trong quá trình hoạt động kinh doanh, từ đó đề ra những quyết sách mới Ví dụ, ở Anh, nhờ sử dụng GIS, các doanh nghiệp xác định được các vị trí thích hợp để mở ra các siêu thị mới Người ta sử dụng GIS để phân tích các luồng xe ô tô, những vị trí thích hợp để đầu tư xây dựng các cây xăng GIS được sử dụng để nghiên cứu đặc điểm dân cư từng vùng, mật độ dân số, từ đó xác định địa điểm xây các quán bia Các nhà hàng, các siêu thị thu thập dữ liệu từ khách hàng, trên cơ sở đó xác định được các khu dân cư có nhiều khách hàng đến với cửa hàng mình, nhờ đó có thể biết được loại hàng mà mình tiêu thụ phù hợp với tính cách, với túi tiền của tầng lớp khách hàng nào Ngay cả các công ty bưu điện, dịch vụ chuyển bưu phẩm cũng dùng GIS để tối ưu hoá quy trình vận chuyển bưu phẩm, thư từ mà
ví dụ điển hình là công ty Federal Express của Mỹ
e) GIS trong bảo vệ an ninh cho dân cư, phòng chống tội phạm
Lực lượng cảnh sát ở các nước tiên tiến sử dụng GIS để theo dõi, thống kê khu vực hay xảy ra nhiều vụ phạm tội, liên hệ các vị trí đó với các khu vực dân cư xung
Trang 17ta có thể đi truy tìm nguyên nhân, tại sao các vị trí đó lại hay xảy ra các vụ phạm tội, từ đó có thể đưa ra các biện pháp khắc phục, giảm thiểu các vụ phạm tội
Tóm lại, công nghệ GIS có thể ứng dụng được trong nhiều lĩnh vực khác nhau, đem lại hiệu quả to lớn trong công tác nghiên cứu các hiện tượng tự nhiên, trong quản lý kinh tế vĩ mô, trong kinh doanh, giám sát môi trường, theo dõi và ổn định tình hình xã hội
1.1.2 Tình hình nghiên cứu và ứng dụng công nghệ GIS trong nước
Ở nước ta, công nghệ GIS bắt đầu được biết đến từ những năm cuối của thế kỷ
20 Các lĩnh vực được đầu tư nghiên cứu ứng dụng GIS đặc trưng cho giai đoạn này có thể kể đến lĩnh vực quản lý tài nguyên thiên nhiên trong toàn quốc (Dự án GIS về tài nguyên thiên nhiên và môi trường Việt Nam năm 1997 của Bộ KHCN&MT), xây dựng cơ sở dữ liệu (CSDL) quản lý đê điều (Viện Quy hoạch thuỷ lợi, Cục Phòng chống lụt bão và Quản lý đê điều), giám sát, điều tra, quản lý đất (Tổng cục Địa chính, Viện Quy hoạch và Thiết kế nông nghiệp), quản lý dữ liệu
về rừng của ngành Lâm nghiệp, quản lý dữ liệu viễn thông của Tổng cục Bưu chính Viễn thông v.v Tuy nhiên, hiệu quả ứng dụng trong giai đoạn này còn thấp do thiếu sự hiểu biết về GIS ở nước ta
Đến những năm đầu thế kỷ 21, ứng dụng công nghệ GIS ở nước ta thực sự mới được bắt đầu Do sự phát triển ứng dụng công nghệ tin học ở nước ta có tốc độ khá nhanh, cho nên công nghệ GIS nhanh chóng tìm được ứng dụng trong nhiều ngành khoa học, kinh tế, xã hội khác nhau Sau đây là một số kết quả cụ thể nghiên cứu ứng dụng GIS của một số cơ quan công quyền hoặc trường, viện trong nước:
9 Bộ Tài nguyên và Môi trường:
Đây là cơ quan quản lý nhà nước có nhu cầu cũng như được đầu tư nhiều nhất cho nghiên cứu và triển khai ứng dụng công nghệ GIS Ngoài việc sử dụng các công
cụ của các hãng phần mềm GIS vào việc thành lập, số hoá và in ấn bản đồ, lập các loại bản đồ chuyên đề, mô phỏng bề mặt địa hình bằng công nghệ đồ hoạ 3 chiều, các đơn vị thuộc Bộ như Trung tâm Thông tin lưu trữ tư liệu địa chính, Viện Công nghệ Địa chính đã thực hiện các đề tài nghiên cứu và dự án xây dựng các hệ thống
Trang 18GIS quản lý dữ liệu đất đai Sản phẩm của các đề tài, dự án - phần mềm ArcLIS, VILIS đã được triển khai ứng dụng ở nhiều tỉnh trong cả nước Bên cạnh đó, Cục Bảo vệ môi trường của Bộ với sự cộng tác của nhóm chuyên gia GIS thuộc Trung tâm Công nghệ phần mềm Thuỷ lợi đã thử nghiệm xây dựng hệ thốngWebGIS kiểm soát ô nhiễm môi trường và đang có kế hoạch triển khai ứng dụng ở quy mô rộng lớn trên toàn quốc Hiện tại, Trung tâm Tư liệu đo đạc và bản đồ đang có kế hoạch xây dựng một hệ thống GIS đồ sộ quản lý các loại dữ liệu đo đạc, bản đồ, ảnh máy bay và ảnh vệ tinh để phục vụ khách hàng
9 Viện Thông tin Tư liệu và Bảo tàng địa chất:
Viện đã ứng dụng công nghệ GIS thu thập và xây dựng CSDL địa chất và môi trường Đây là một trong vài cơ quan đầu tiên của Việt Nam áp dụng công nghệ GIS của Intergraph và hiện nay đa số các cơ sở dữ liệu của Viện được xây dựng trên công nghệ của hãng này
9 Viện Điều tra qui hoạch rừng:
Là một trong những nơi điều tra, thu thập dữ liệu phục vụ công tác bảo vệ và phát triển rừng trên qui mô lớn, Viện đã sớm sử dụng công cụ của các hãng phần mềm GIS để thu thập, xử lý và quản lý thông tin rừng như MapInfo, ArcView Hiện tại Trung tâm Tài nguyên và Môi trường Lâm nghiệp thuộc Viện với sự phối hợp của nhóm chuyên gia về GIS của Trung tâm Công nghệ phần mềm Thuỷ lợi đang thực hiện đề tài xây dựng mô hình hệ thống GIS trên mạng diện rộng quản lý công tác giao đất, giao rừng
9 Trung tâm Khảo sát, Nghiên cứu và tư vấn môi trường Biển thuộc Viện cơ học:
Trung tâm đã thu thập được nhiều số liệu về môi trường biển, dải ven bờ của Việt Nam Đây là một cơ quan sớm áp dụng công nghệ GIS trong các hoạt động của mình Trung tâm đã xây dựng được nhiều CSDL GIS như rừng ngập mặn Việt Nam, các dải san hô của một số vùng biển…Phần mềm sử dụng là ArcInfo và
Trang 19Một số các thành phố lớn như Hà Nội, Hồ Chí Minh, Huế, Đà Nẵng và các tỉnh cũng bắt đầu đầu tư vào phát triển và ứng dụng công nghệ GIS trong nhiều lĩnh vực khác nhau Ví dụ, thành phố Hà Nội đang triển khai dự án HANOIGIS; Huế đã có
dự án chuẩn hoá dữ liệu GIS của thành phố, xây dựng hệ thống GIS phục vụ du lịch; tỉnh Vĩnh Phúc đã phê duyệt đề án tổng thể số 317/QĐ-UBND xây dựng hệ thống GIS cho toàn tỉnh từ 2007 đến 2010
Ngoài những ứng dụng công nghệ GIS theo đúng nghĩa là hệ thống thông tin như đã nêu trên đây, các công cụ của GIS như ArcView, MapInfo được sử dụng khá phổ biến ở nước ta trong việc xử lý dữ liệu bản đồ kết hợp với ảnh viễn thám Khi nói đến sự phát triển và ứng dụng công nghệ GIS, không thể không kể đến các đơn vị phần mềm trực tiếp xây dựng các hệ thống GIS Trong số này, đạt được nhiều thành quả hơn cả là Trung tâm Công nghệ phần mềm Thuỷ lợi, công ty DOLSOFT, Hài Hoà, GeoBIZ, VIDAGIS
Có thể đưa ra những nét đặc trưng về phát triển và ứng dụng công nghệ GIS ở nước ta trong thời gian qua như sau:
- Có nhiều thành quả đạt được trong việc phát triển và ứng dụng công nghệ GIS Tuy nhiên, ứng dụng công nghệ GIS đúng theo nghĩa là một
hệ thống thông tin đang còn chưa phổ biến so với việc sử dụng các công
cụ của các hãng phần mềm GIS để xử lý dữ liệu bản đồ;
- Đa số những hệ thống thông tin được xây dựng trên nền tảng GIS là những hệ thống cho một người dùng, vận hành trên máy tính cá nhân Điều này hạn chế hiệu quả sử dụng thông tin, dữ liệu Hơn nữa, những
hệ thống như vậy hầu hết chỉ được cập nhật dữ liệu một lần khi được xây dựng và không được cập nhật dữ liệu sau khi đưa vào vận hành;
- Một số đơn vị phần mềm thành công trong việc xây dựng và phát triển các hệ thống GIS, góp phần đưa công nghệ GIS vào cuộc sống
1.1.3 So sánh công nghệ GIS mã nguồn mở và mã nguồn đóng
Điểm xuất phát của việc phát triển và ứng dụng công nghệ GIS là các phần mềm và công cụ hệ thống còn được gọi là công nghệ nền Hiện nay, trên thị trường
Trang 20thế giới phổ biến các công nghệ nền GIS thương mại của các hãng ESRI, MapInfo, Integraph, Autodesk, Blue Marble Geographics Lợi thế của việc sử dụng công nghệ nền thương mại là các nhà phát triển không cần quan tâm đến phần cơ sở mà tập trung giải quyết vấn đề mình quan tâm trước mắt, nhờ đó các sản phẩm ứng dụng sẽ được ra đời nhanh hơn Do vậy, cho đến nay ở nước ta hầu hết các hệ thống GIS đều được xây dựng dựa trên công nghệ nền thương mại Nhưng việc sử dụng công nghệ nền thương mại có những nhược điểm lớn sau đây:
- Giá chuyển giao quá đắt Ví dụ như giá chuyển giao một bộ phần mềm công
nghệ nền của ESRI dùng để xây dựng hệ thống thông tin GIS trên mạng WAN phải mất trên 45000$ Đấy là chưa kể đến các công cụ cho người dùng cuối ở các máy trạm
- Phụ thuộc vào công nghệ Các nhà phát triển phần mềm ứng dụng trong
nước phải phụ thuộc vào khả năng của công nghệ nền Điều này hạn chế tính sáng tạo của các nhà phát triển và hạn chế khả năng của các phần mềm ứng dụng
- Đào tạo tốn kém và phức tạp Công nghệ nền và các công cụ kèm theo của
nó đều có giao diện và tài liệu hướng dẫn sử dụng bằng tiếng Anh Điều này gây trở ngại lớn cho công tác đào tạo, đặc biệt là đối với công tác phổ biến công nghệ ở vùng sâu, vùng xa
Nói tóm lại, sử dụng công nghệ nền thương mại vừa tốn nhiều tiền, lại bị phụ thuộc vào công nghệ nước ngoài và gặp nhiều khó khăn trong đào tạo ứng dụng Với xu thế hệ thống GIS ngày càng được ứng dụng rộng rãi trong mọi lĩnh vực
ở trong nước, việc giảm giá thành xây dựng các hệ thống, nâng cao khả năng độc lập về công nghệ, tạo điều kiện để có thể truyền bá công nghệ đến khắp mọi miền đất nước là vấn đề cấp thiết Con đường tối ưu để giải quyết bài toán được đặt ra là ứng dụng và phát triển phần mềm mã nguồn mở hệ thống thông tin địa lý
Xu hướng phát triển của phần mềm mã nguồn mở hệ thống thông tin địa lý
Trang 21rộng lớn bắt đầu từ những năm cuối thập kỷ 80 của thế kỷ trước Sự cuốn hút của trào lưu mã nguồn mở là ở chỗ, khi người lập trình có thể đọc, lưu hành, sửa đổi mã nguồn mở, điều chỉnh, sửa lỗi nó, và số người tham gia càng nhiều thì phần mềm
mã nguồn mở sẽ vận hành càng ổn định Mặt khác, khi cùng tham gia phát triển, mỗi người bỏ ra một phần công lao, nhưng lại được thừa hưởng thành quả lao động của cả cộng đồng Nói một cách khác, ưu thế của phần mềm mã nguồn mở có thể tóm tắt như sau:
- Giảm sự trùng lặp trong công việc, tiết kiệm nguồn lực, tiết kiệm thời gian
- Quản lý chất lượng tốt hơn, phần mềm vận hành ổn định hơn, ít có lỗ hổng hơn so với phần mềm đóng
+ Phần mềm nguồn mở có mã nguồn để công khai trên Internet nên được
rà soát liên tục bởi nhiều người Còn phần mềm nguồn đóng, việc rà soát mã nguồn chỉ do nhóm phát triển phần mềm với biên chế có hạn thực hiện Vì vậy khả năng phát hiện lỗi và các lỗ hổng an ninh của phần mềm nguồn mở cao hơn
+ Khi đã phát hiện lỗi và lỗ hổng an ninh, phần mềm nguồn mở có đông đảo các nhà lập trình tham gia sửa, nên sẽ sửa nhanh hơn
- Giảm chi phí duy trì, bảo hành
- Đơn vị triển khai ứng dụng không bị lệ thuộc vào nhà cung cấp công nghệ như trường hợp sử dụng phần mềm đóng
- Địa phương, quốc gia triển khai ứng dụng phần mềm mã nguồn mở có điều kiện chuyển đổi đầu tư chi phí từ lĩnh vực mua công nghệ sang lĩnh vực đào tạo nhân lực khoa học, công nghệ
Tất nhiên, ứng dụng phần mềm mã nguồn mở cũng có những nhược điểm của
nó Có thể liệt kê các nhược điểm chính như sau:
- Phát triển thiếu đồng bộ để có thể đáp ứng ngay yêu cầu của một lĩnh vực nghiên cứu, sản xuất, văn hoá đời sống nào đấy Thông thường các phần mềm mã nguồn mở là những lõi cơ bản để giải quyết những vấn đề cơ bản trong một lĩnh vực nào đấy, còn để ứng dụng vào một điều kiện cụ thể, cần phải có sự phát triển tiếp theo
Trang 22- Thiếu tính tiện dụng đối với người dùng Giao diện của phần mềm ít được chú trọng, đồng thời được xây dựng một cách tự do, không có tính đồng bộ
- Khó tương thích với các phần mềm đóng
Công nghệ hệ thống thông tin địa lý GIS cũng nằm trong bối cảnh chung phát triển của công nghệ phần mềm Cho đến nay, có rất nhiều dự án phát triển mã nguồn mở GIS tạo ra được những sản phẩm khác nhau Sự khác biệt của các sản phẩm mã nguồn mở GIS có thể liệt kê như sau:
- Định hướng môi trường vận hành khác nhau: có sản phẩm chỉ vận hành trên LINUX, có sản phẩm vận hành cả trên Windows Lựa chọn quản trị cơ sở dữ liệu (CSDL) cũng khác nhau, có sản phẩm chỉ làm việc với PostgreSQL, có sản phẩm chỉ làm việc với MySQL, có sản phẩm lại làm việc với cả hai và thậm chí với một
số phần mềm đóng;
- Phần lớn các sản phẩm mã nguồn mở phát triển theo hai nhánh chính là xây dựng phần chủ của hệ thống, vận hành trong môi trường mạng như mapserver, geoserver, mapguide, và các sản phẩm vận hành trên máy đơn (desktop) như QuantumGIS, MapWindow, GRASS GIS, Ngoài ra có một vài sản phẩm viết bằng Java xây dựng theo mô hình khách chủ như JUMP, uDIG nhưng phải phát triển nhúng trong các sản phẩm này chứ không phát triển tách biệt được;
- Ngôn ngữ lập trình cho những nhà phát triển cũng khác nhau Có sản phẩm chỉ dừng lại ở chỗ sử dụng các ngôn ngữ kịch bản như PHP, cũng có sản phẩm hỗ trợ lập trình bằng ngôn ngữ hiện đại Java;
- Sử dụng định dạng vectơ của bản đồ cũng rất khác nhau;
- Hỗ trợ tích hợp các loại ảnh vào hệ thống cũng tương tự Có loại sản phẩm chỉ hỗ trợ tích hợp một số định dạng ảnh phổ biến như GIF, TIF, JPG, có loại hỗ trợ
cả việc tích hợp ảnh vệ tinh vào hệ thống;
- Số hệ toạ độ quy chiếu trắc địa cho bản đồ được tích hợp cũng không giống
Trang 23Trên đây là những nét khác biệt lớn của các sản phẩm mã nguồn mở GIS hiện nay Những sản phẩm của mã nguồn mở GIS hiện đang được ứng dụng nhiều trên thế giới là GRASS, QuantumGIS, MapServer, GeoServer, PostGIS, MapWindow
1.1.4 Ứng dụng mã nguồn mở xây dựng, phát triển công nghệ nền GIS
Ở nước ta công nghệ GIS ngày càng được ứng dụng phổ biến trong mọi lĩnh vực khác nhau, đặc biệt là trong công tác quản lý theo không gian địa lý như quản
lý thông tin về kinh tế, xã hội theo lãnh thổ, quản lý tài nguyên nước theo lưu vực, quản lý tài nguyên rừng, đất theo các khu vực kinh tế
Phát triển và ứng dụng phần mềm mã nguồn mở trong nước ta được bắt đầu từ
dự án Việt hoá hệ điều hành LINUX Hệ điều hành này - kết quả của dự án đã được cài đặt trên các máy tính phục vụ cho công tác giáo dục, đào tạo Ngày 02/3/2003 Chính phủ đã có quyết định số 235/QĐ-TTg phê duyệt dự án tổng thể “Ứng dụng
và phát triển phần mềm mã nguồn mở ở Việt Nam 2004-2008” và giao cho Bộ Khoa học và Công nghệ chủ trì triển khai thực hiện Đây là một dự án lớn, nó nói lên sự quan tâm của Chính phủ tới việc phát triển và ứng dụng phần mềm mã nguồn
mở tại Việt Nam Tuy nhiên, một trong những khó khăn của ta hiện nay trong việc triển khai các dự án phần mềm là cơ chế tài chính, đơn giá, định mức cho ngành công nghiệp phần mềm còn chưa rõ ràng, còn nhiều bất cập Trong điều kiện như vậy, việc triển khai dự án bị chậm so với kế hoạch đã định tương tự như nhiều dự án công nghệ thông tin khác Bên cạnh đó, theo nội dung của các tiểu dự án hợp phần được các bộ và cơ quan ngang bộ đăng ký thực hiện trong khuôn khổ dự án tổng thể, ngoài việc phát triển các phần mềm thông dụng như trình duyệt Internet, hộp thư điện tử, dịch vụ mạng, dịch vụ thư tín điện tử, phần mềm văn phòng, quản trị cơ
sở dữ liệu, nội dung còn lại tập trung chủ yếu là đào tạo (đào tạo nhân lực công nghệ thông tin, đào tạo nhận thức về phần mềm mã nguồn mở ) Việc phát triển và triển khai các phần mềm chuyên dụng chưa được chú ý nhiều, trong đó có cả các hệ thống GIS Những công việc này chủ yếu là do một số các đơn vị công nghệ thông tin đơn lẻ thực hiện, nhưng cũng không nhiều và kết quả rất khiêm tốn Một số công
ty nhỏ thử nghiệm xây dựng một vài trang Web GIS ở dạng demo ứng dụng mã
Trang 24nguồn mở Một số đơn vị thuộc phạm vi quản lý của nhà nước sử dụng mã nguồn
mở GIS xây dựng trang Web GIS trong khuôn khổ các dự án đầu tư nước ngoài Nhìn chung, có thể nói rằng nghiên cứu ứng dụng mã nguồn mở GIS ở nước ta hầu như chưa đáng kể, hơn nữa, nếu có chỉ là thử nghiệm ứng dụng, còn việc tìm hiểu, làm chủ và phát triển hoàn toàn chưa được đề cập đến
Với xu thế hệ thống GIS ngày càng được ứng dụng rộng rãi trong mọi lĩnh vực ở trong nước, việc giảm giá thành xây dựng các hệ thống, nâng cao khả năng độc lập về công nghệ, tạo điều kiện để có thể truyền bá công nghệ đến khắp mọi miền đất nước là vấn đề cấp thiết Từ đó đòi hỏi phải có một sản phẩm phần mềm nền, được phát triển dựa trên mã nguồn mở GIS, hỗ trợ người dùng xây dựng nhanh chóng các ứng dụng GIS Việc phát triển các ứng dụng WebGIS, các phần mềm GIS chạy trên máy đơn dòng mã nguồn mở đã được phổ biến rộng rãi nhưng các sản phẩm phần mềm GIS chạy trên máy để bàn cho phép truy cập đến máy chủ dữ liệu qua mạng WAN còn hạn chế về số lượng Các phần mềm GIS mô hình khách chủ giải quyết được các lớp bài toán đòi hỏi xử lý nhiều về đồ họa, bảo mật cao và chia sẻ thông tin trong mạng diện rộng, đó là các ưu thế mà các phần mềm WebGIS hoặc phần mềm GIS trên máy đơn không thể so sánh được Tìm hiểu qua sách vở, internet và các nguồn thông tin khác, tôi chưa thấy có định nghĩa nào về mô hình GIS khách chủ Nhưng về bản chất thì mô hình GIS khách chủ có khái niệm giống như mô hình khách chủ có bổ sung thêm các tính chất của một hệ thống thông tin địa lý Trên thế giới mới chỉ có nhà cung cấp sản phẩm GIS trọn gói ESRI là có đưa
ra đầy đủ mô hình GIS khách chủ Tuy nhiên khái niệm rõ ràng thì lại không được
đề cập đến Từ các lý do trên tôi đã nghiên cứu và phát triển thư viện hỗ trợ xây dựng các ứng dụng GIS theo mô hình khách chủ dựa trên mã nguồn mở
1.2 Các phần mềm nguồn mở theo mô hình GIS khách/chủ
1.2.1 Các phần mềm GIS dành cho máy để bàn (Desktop GIS)
Các dự án desktop GIS mã nguồn mở khá phong phú, sau đây là một số dự án:
Trang 25- GRASS GIS (Geographic Resources Analysis Support System) là một hệ thống thông tin địa lý miễn phí, mã nguồn mở có khả năng xử raster, vector topo,
xử lý hình ảnh, và dữ liệu đồ họa
- SAGA GIS (System for Automated Geoscientific Analyses) là một hệ thống thông tin địa lý miễn phí và mã nguồn mở sử dụng để chỉnh sửa dữ liệu không gian Ban đầu nó được phát triển bởi một nhóm nhỏ tại Khoa Địa vật lý, đại học Göttingen, Đức, và hiện đang được duy trì và mở rộng bởi một cộng đồng phát triển quốc tế
- Quantum GIS (thường gọi là QGIS) là một ứng dụng GIS is miễn phí, mã nguồn mở cung cấp các khả năng xem, sửa và phân tích dữ liệu
- MapWindow GIS là một ứng dụng lập bản đồ GIS mã nguồn mở và một tập các thành phần lập bản đồ có thể lập trình được MapWindow GIS được phân phối như là một ứng dụng mã nguồn mở theo giấy phép phân phối công cộng Mozilla MapWindow GIS có thể được lập trình lại để thực hiện nhiều nhiệm vụ chuyên môn khác nhau Ngoài ra còn có plug-in sẵn để mở rộng khả năng tương thích và chức năng
- ILWIS (Integrated Land and Water Information System) là phần mềm GIS/Viễn thám dành cho cả xử lý vector và raster Các tính năng ILWIS gồm có số hóa, chỉnh sửa, phân tích và hiển thị dữ liệu và sinh các bản đồ có chất lượng
- uDig (User-friendly Desktop Internet GIS) là một nền tảng ứng dụng mã nguồn mở, được xây dựng với công nghệ Eclipse Rich Client uDig cung cấp một giải pháp hoàn toàn Java để truy cập dữ liệu desktop GIS, chỉnh sửa và xem
- gvSIG là một hệ thống thông tin địa lý (GIS), đó là một ứng dụng máy tính
để bàn được thiết kế để chụp, lưu trữ, xử lý, phân tích và triển khai bất kỳ loại thông tin địa lý tham chiếu để giải quyết các vấn đề phức tạp trong quản lý và quy hoạch gvSIG nổi tiếng với việc có một giao diện người dùng thân thiện, có thể truy cập vào các định dạng phổ biến nhất, cả vector và raster Nó cung cấp một loạt các công
cụ để làm việc với thông tin địa lý như (các công cụ truy vấn, tạo bố trí, xử lý dữ liệu, mạng,…)
Trang 26- JUMP GIS/OpenJUMP – (Open) Java Unified Mapping Platform (các dự
án desktop GIS như OpenJUMP, SkyJUMP, deeJUMP và Kosmo đều nổi lên từ from JUMP)
- TerraView là dự án GIS desktop xử lý các dữ liệu vector và raster được lưu trữ trong một cơ sở dữ liệu không gian
b) Các hệ quản trị cơ sở dữ liệu không gian
- PostGIS cung cấp các chức năng mở rộng không gian dành cho cơ sở dữ liệu PostgreSQL mã nguồn mở, cho phép các truy vấn không gian
- MySQL Spatial cung cấp một số chức năng để lưu trữ và thao tác trên dữ liệu không gian
- Spatialite là một mở rộng không gian của SQLite, cung cấp các kiểu dữ liệu không gian, các chức năng không gian Nó tương tự như PostGIS, Oracle Spatial, và SQL Server với các mở rộng không gian
c) Các khung và thư viện phát triển phần mềm (không dành cho web)
- GeoTools là một thư viện mã nguồn mở Java cung cấp các công cụ để xử
lý dữ liệu không gian Nó được sử dụng trong GeoServer và uDig
Trang 27- GDAL/OGR (Geospatial Data Abstraction Library) là một thư viện để đọc và ghi các định dạng dữ liệu raster Thư viện OGR (là một phần của GDAL) cung cấp khả năng tương tự cho các đối tượng dữ liệu vector
- Orfeo Toolbox (OTB) là thư viện để xử lý ảnh viễn thám
d) Các khung và thư viện phát triển phần mềm (dành cho các ứng dụng web)
- OpenLayers là thư viện AJAX mã nguồn mở để truy cập các lớp dữ liệu địa lý của tất cả các loại, ban đầu được phát triển và tài trợ bởi MetaCarta
- GeoBase là phần mềm lập bản đồ không gian địa lý có sẵn như là một bộ phát triển phần mềm, thực hiện các chức năng khác nhau bao gồm tra cứu địa chỉ, lập bản đồ, định tuyến và dẫn đường
Phần 2: Phân tích lựa chọn hệ quản trị cơ sở dữ liệu không gian Giới thiệu cách tạo cơ sở dữ liệu, các hệ tham chiếu không gian, quản lý và ứng dụng các dữ liệu không gian trong hệ quản trị cơ sở dữ liệu không gian PostGIS-một phần mở rộng của hệ quản trị cơ sở dữ liệu PostgreSQL
Phần 3: Giới thiệu về thư viện nền hỗ trợ xây dựng các ứng dụng GIS theo mô hình khách-chủ
Phần 4: Một số ứng dụng minh họa cách sử dụng thư viện trên
Phần 5: Các kết quả đạt được và đề cập đến các vấn đề còn tồn tại
Trang 28Chương 2 – HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU KHÔNG GIAN
2.1 Phân tích, đánh giá, lựa chọn hệ quản trị cơ sở dữ liệu
2.1.1 Đặt vấn đề
Việc lựa chọn hệ quản trị cơ sở dữ liệu không gian là một việc làm quan trọng
Nó quan trọng bởi vì hệ thống sử dụng công nghệ GIS không chỉ chứa các loại dữ liệu thuộc tính (văn bản, con số, hình ảnh), mà còn lưu trữ các loại dữ liệu bản đồ - loại dữ liệu đòi hỏi quản trị cơ sở dữ liệu phải có hiệu năng cao mới đáp ứng được yêu cầu cập nhật và truy vấn thông tin của người dùng Ngoài hiệu năng, một tiêu chí khác mà quản trị CSDL được chọn cần phải thoả mãn là nó phải thuộc dòng mã nguồn mở hoặc ít nhất là phần mềm không thuộc dòng mã nguồn mở nhưng được
sử dụng miễn phí, ví dụ như phiên bản Oracle dành cho hệ điều hành LINUX Chính vì vậy, tôi đã tìm hiểu sơ bộ các loại quản trị CSDL thuộc dòng mã nguồn
mở và các sản phẩm mã đóng miễn phí và đã lựa chọn hai trong số chúng có các tính năng tương đối phù hợp với yêu cầu đặt ra, đó là MySQL và PostgreSQL Đây
là hai quản trị CSDL mạnh nhất trong số các quản trị CSDL thuộc dòng mã nguồn
mở hiện nay
2.1.2 Cách tiếp cận
Việc đánh giá và so sánh MySQL và PostgreSQL đã được nhiều chuyên gia thực hiện Tuy nhiên, phần lớn trong số này là những chuyên gia hoặc thuộc nhóm tác giả hay nhóm hỗ trợ MySQL hoặc thuộc nhóm tác giả hay nhóm hỗ trợ PostgreSQL Do đó không loại trừ các kết luận mang tính cảm tính Cũng có một số chuyên gia tương đối độc lập, nhưng thường là không đủ điều kiện công nghiệp để
có thể kiểm thử một cách quy mô hai sản phẩm nói trên Cho đến năm 2007, 2008 một số hãng phần mềm lớn mới tổ chức đánh giá hai sản phẩm đó ở mức độ quy mô công nghiệp Như vậy, việc lựa chọn hệ quản trị CSDL hoàn toàn có thể thực hiện trên cơ sở nghiên cứu các kết quả kiểm thử của các hãng công nghệ thông tin nói trên Tóm lại, để lựa chọn hệ quản trị CSDL không gian cần thực hiện các nội dung
Trang 29dữ liệu dưới sự quản trị của MySQL và PostgreSQL Cập nhật một số dữ liệu cần thiết cho việc kiểm thử Thực hiện các lệnh cập nhật, truy vấn thông tin để đánh giá hiệu năng của các quản trị CSDL nói trên
- Thu thập các tài liệu - kết quả kiểm thử của các chuyên gia khác, đặc biệt là những hãng phần mềm có uy tín lớn và các ý kiến của họ đánh giá, so sánh MySQL
và PostgreSQL
Kết hợp kết quả kiểm thử của bản thân và kết quả kiểm thử, so sánh của các chuyên gia khác để lựa chọn sản phẩm thích hợp
2.1.3 Kiểm thử, đánh giá và lựa chọn sản phẩm
a) So sánh các tính năng của MySQL và PostgreSQL
Căn cứ vào tài liệu công bố của hai cộng đồng xây dựng nên MySQL và PostgreSQL và kinh nghiệm thu được của tôi, có thể so sánh các chức năng của hai sản phẩm này như sau:
Mức độ phức tạp trong cài đặt: Hai hệ quản trị cơ sở dữ liệu thuộc tính
MySQL và PostgreSQL đều dễ dàng cài đặt và triển khai
Về tính dễ sử dụng: Hai hệ quản trị cơ sở dữ liệu thuộc tính MySQL và
PostgreSQL đều có môi trường trực quan thân thiện với người sử dụng khi sử dụng các bộ công cụ hỗ trợ quản lý cơ sở dữ liệu như EMS SQL Tuy nhiên MySQL nổi trội hơn nhờ tích hợp sẵn một số công cụ hỗ trợ quản lý ngay bên trong bộ cài đặt như mysqlcc.exe…
Tính ổn định: Đây là đặc điểm nổi bật của hệ quản trị cơ sở dữ liệu thuộc tính
PostgreSQL PostgreSQL có thể quản trị những cơ sở dữ liệu cực lớn, về mặt lý thuyết là không hạn chế mà vẫn hoạt động ổn định Các ứng dụng và kết quả kiểm thử của các hãng phần mềm nổi tiếng được trình bày ở mục sau cũng xác nhận nhận định, đánh giá này
Tính phổ biến: Hệ quản trị cơ sở dữ liệu thuộc tính MySQL phổ biến hơn so
với hệ quản trị cơ sở dữ liệu thuộc tính PostgreSQL Tính năng này của MySQL được lý giải về mức độ phù hợp của nó đối với các trang Web có quy mô vừa và nhỏ, có cấu trúc dữ liệu đơn giản Tuy nhiên tính riêng trong lĩnh vực GIS thì hệ
Trang 30quản trị cơ sở dữ liệu thuộc tính PostgreSQL phổ biến hơn do khả năng tích hợp hệ quản trị cơ sở dữ liệu bản đồ PostGIS để quản lý dữ liệu bản đồ
Yêu cầu về cấu hình phần cứng: Hai hệ quản trị cơ sở dữ liệu thuộc tính
MySQL và PostgreSQL đều yêu cầu cấu hình phần cứng thấp, không đòi hỏi chi phí cao cho trang thiết bị để triển khai chúng
Tính tương thích với một lượng lớn các ứng dụng và phần mềm: đây là đặc
điểm nổi trội hơn của hệ quản trị cơ sở dữ liệu thuộc tính MySQL so với hệ quản trị
cơ sở dữ liệu thuộc tính PostgreSQL
Hỗ trợ xuất, nhập các loại cơ sở dữ liệu: Đây là ưu điểm nổi trội hơn hẳn của
hệ quản trị cơ sở dữ liệu thuộc tính PostgreSQL so với hệ quản trị cơ sở dữ liệu thuộc tính MySQL Khả năng xuất, nhập các loại cơ sở dữ liệu, khả năng tuỳ biến các loại dữ liệu, kiểu dữ liệu đã làm nên sự nổi tiếng của hệ quản trị cơ sở dữ liệu PostgreSQL
Khả năng bảo mật: Hệ quản trị cơ sở dữ liệu thuộc tính PostgreSQL được
đánh giá cao hơn về tính toàn vẹn dữ liệu vì hệ thống rất ổn định và đáng tin cậy Mặt khác do tính chất thiết kế các kiểu cơ sở dữ liệu của PostgreSQL nên khả năng bảo mật của PostgreSQL được đánh giá cao hơn
Hỗ trợ ngôn ngữ: Hai hệ quản trị cơ sở dữ liệu thuộc tính đều hỗ trợ các loại
ngôn ngữ phổ biến hiện nay và đều hỗ trợ phông chữ Unicode Tuy nhiên sau một thời gian nghiên cứu và sử dụng thì tôi có nhận xét rằng hệ quản trị cơ sở dữ liệu thuộc tính MySQL quản lý kiểu phông chữ Unicode không ổn định như hệ quản trị
cơ sở dữ liệu thuộc tính PostgreSQL
Tốc độ phát triển, mở rộng: Cả hai sản phẩm đều được sự quan tâm của cộng
đồng phần mềm mã nguồn mở và có tốc độ phát triển, nâng cấp, mở rộng là tương đương nhau
Ngoài các tính năng trên, một số tính năng cơ bản khác của hai sản phẩm được thể hiện trong bảng so sánh sau đây Phiên bản của MySQL được đưa vào so sánh là
Trang 31PostgreSQL 8.x MySQL 4.1 MySQL 5.1.46
Hệ điều hành
Windows, và khoảng 24 hệ điều hành thuộc dòng UNIX, LINUX
(Linux, all BSDs, HP-UX, AIX, OS X, Unixware,
Netware )
Linux, Windows, FreeBSD, MacOS
X, Solaris, HP UX, AIX…
Linux, Windows, FreeBSD, MacOS
X, Solaris, HP UX, AIX…
Chuẩn ANSI SQL ANSI-SQL 92/99
Theo một số tiêu chuẩn ANSI SQL;
có thể chạy trong chế độ ANSI
Có thể, người dùng
có thể sử dụng MySQL trong chế
độ ANSI thích hợp
Hiệu năng
Thể hiện ưu thế khi CSDL lớn và lệnh truy vấn phức tạp
Thể hiện ưu thế khi CSDL vừa, nhỏ và lệnh truy vấn đơn giản
Thể hiện ưu thế khi CSDL vừa, nhỏ và lệnh truy vấn đơn giản
Trang 32Unions Có Có Có
Không
Dự định triển khai trong phiên bản tới
Không
Dự định triển khai trong phiên bản tới
Không
Có
Hỗ trợ stored procedures (persistent modules) languages theo chuẩn ANSI SQL
2003
Vacuum (cleanup) Có Có với OPTIMIZE
TABLE
Có với OPTIMIZE TABLE
Hỗ trợ các loại bảng
khác
Không (PostgreSQL tự xây dựng loại bảng cho chính nó và không
sử dụng bất kì loại thay thế nào)
Có MyISAM, InnoDB, MEMORY,
BerkeleyDB, MERGE, Archive and NDB (Cluster)
Có MyISAM, InnoDB, MEMORY,
BerkeleyDB, MERGE, Archive and NDB (Cluster)
Trang 33trình ứng dụng và
hàm nội tại
ngữ (ví dụ: Perl, C/C++,.NET, OLE-
DB, Tcl/Tk, Python, PHP, )
b) Kết quả kiểm thử, đánh giá và so sánh hiệu năng của MySQL và PostgreSQL của các chuyên gia, công ty nước ngoài
Tính năng, tính ổn định, hiệu năng của MySQL và PostgreSQL cũng là mối quan tâm của nhiều chuyên gia và công ty trong lĩnh vực cung cấp sản phẩm, dịch
vụ công nghệ thông tin Vì thế, ở mức độ này hay mức độ khác, MySQL và PostgreSQL được kiểm thử, đánh giá, so sánh Vì các sản phẩm này luôn ở trong trạng thái thay đổi, nâng cấp, phát triển với tốc độ cao, nhiều kết quả đánh giá, so sánh trên các phiên bản cũ đã không còn đúng với các phiên bản mới Cho nên, chúng ta chỉ quan tâm đến những kết quả kiểm thử, so sánh, đánh giá đối với những tính năng tương đối ổn định của hai sản phẩm và được thực hiện trên những phiên bản mới nhất, đồng thời môi trường được sử dụng để đánh giá phải là các CSDL chuyên nghiệp của các dự án lớn
Một trong những số liệu đáng chú ý là kết quả nghiên cứu, kiểm thử của tác giả Andrei Shetuchin (http://www.samag.ru/art/07.2007/07.2007_02.html) Andrei
Trang 34lý các Blog của người dùng Là cơ sở dữ liệu quản lý Blog người dùng cho nên tần suất số lần đăng nhập, ghi chép, lưu trữ, truy vấn khá cao Các cơ sở dữ liệu này được lưu trữ trên hai máy chủ có cấu hình đều là HP ProLiant DL380 2xXeon3.2, RAM 5 Gb, SCSI HDD u320 Hệ điều hành máy chủ là Linux Debian, kernel 2.6.18 Một máy chủ được cài đặt MySQL, còn máy kia được cài đặt PostgreSQL
để quản trị các cơ sở dữ liệu nói trên Cấu hình MySQL và PostgreSQL được thiết
lập với tiêu chí là hiệu năng tối đa
Sơ đồ kiểm thử được xây dựng tối ưu cho cả hai quản trị CSDL và tỷ lệ số lượng giao tác truy vấn thông tin chiếm 80% so với số luợng giao tác cập nhật thông tin chiếm 20% là tỷ lệ thường gặp trong thực tiễn Dưới đây là bảng kết quả kiểm thử hiệu năng của MySQL và PostgreSQL bằng cơ sở dữ liệu quản lý các Blog của người dùng
Số lượng kết nối
trong 1 luồng
PostgreSQL (đọc/ghi trong 1 giây)
MySQL InnoDB (đọc/ghi trong 1 giây)
MySQL MyISAM (đọc/ghi trong 1 giây)
Từ kết quả kiểm thử, có thể thấy rằng MySQL đạt được hiệu năng cao như
Trang 35hiện đồng thời 20 truy vấn trở lên, MySQL từ chối, không thực hiện CSDL quản lý các Blog là cơ sở dữ liệu tương đối đơn giản Trong thực tế có nhiều CSDL có cấu trúc phức tạp hơn nhiều và lúc đó MySQL không phải là đối thủ cạnh tranh của PosgreSQL
Một kết quả kiểm thử khác mang tính quy mô công nghiệp do hãng Sun Microsystem là một trong những hàng phần mềm hàng đầu của thế giới thực hiện (http://it.toolbox.com/blogs/database-soup/postgresql-publishes-first-real-
benchmark-17470) Kết quả này được công bố ngày 12 tháng 7 năm 2007 Quá trình kiểm thử được thực hiện tuân thủ theo chuẩn công nghiệp Theo kết quả kiểm thử của Sun, PostgreSQL có tốc độ không chỉ hơn MySQL, mà thậm chí còn gần với tốc độ của Oracle là quản trị CSDL được coi là nhanh nhất thế giới hiện nay Sử dụng PostgreSQL không chỉ giảm thiểu chi phí đầu tư cho hệ thống thông tin, mà còn không sợ các bẫy cài có thể có trong các sản phẩm thương mại, tốc độ vận hành lại rất tốt
Ngoài các kiểm thử được các chuyên gia, các hãng phần mềm thực hiện, một minh chứng hùng hồn cho tính ổn định cũng như hiệu quả vận hành của PostgreSQL là việc sản phẩm này được ứng dụng để quản lý hệ thống dữ liệu khổng
lồ của Yahoo Các chuyên gia của Yahoo cho biết (http://habrahabr.ru/blogs/postgresql/26289/) rằng năm 2007 công ty này đã xây dựng một cơ sở dữ liệu cho bài toán phân tích thông tin trên nền PostgreSQL Chỉ sau một năm hoạt động, kích cỡ của CSDL trở thành lớn nhất thế giới từ trước đến nay, gồm 2 PB (petabytes = 1000 tetabytes = 1000000 GB) Điều đáng nói đến là
dữ liệu này luôn nằm trong tình trạng được đọc, ghi, thay đổi chứ không phải dữ liệu chết Yahoo dự kiến chỉ sau một năm nữa là kích cỡ của CSDL lên tới 5PB Không chỉ đặc biệt ở kích cỡ của mình, CSDL của Yahoo còn ghi nhận được số tác nghiệp mỗi ngày mà nó xử lý lên tới 24 tỷ Toàn bộ khối lượng dữ liệu khổng lồ này đuợc quản trị bởi PostgreSQL Yahoo có thay đổi, hoàn thiện PostgreSQL so với phiên bản gốc, tổ chức lại cách lưu trữ dữ liệu theo cột chứ không theo dòng Với cách này, tốc độ ghi dữ liệu chậm hơn so với trước, nhưng tốc độ đọc được tăng lên
Trang 36rất nhiều, phù hợp với một hệ thống phân tích thông tin Toàn bộ hệ thống hoạt động rất ổn định, đáp ứng yêu cầu đặt ra lúc đầu PostgreSQL tiếp tục phát triển và đang trở thành quản trị CSDL mạnh nhất trong số sản phẩm mã nguồn mở
2.1.4 Kết luận
Căn cứ vào kết quả nghiên cứu, kiểm thử, đánh giá về tính năng, hiệu năng của hai quản trị CSDL mã nguồn mở là MySQL và PostgreSQL do các chuyên gia và các hãng phần mềm trên thế giới thực hiện có thể kết luận như sau:
- PostgreSQL có thể quản lý được những CSDL lớn, có cấu trúc phức tạp mà MySQL khó có thể đảm đương;
- PostgreSQL thực hiện các giao tác trên các CSDL lớn và phức tạp nhanh hơn nhiều so với MySQL MySQL chỉ đạt được hiệu năng tối đa khi thực hiện các giao tác đơn giản trên các CSDL đơn giản, có quy mô vừa và nhỏ Nó thích hợp để xây dựng các trang Web có quy mô không lớn
- Trong lĩnh vực GIS, PostgreSQL hỗ trợ lưu trữ các loại dữ liệu hình học như điểm, đường, đa giác PostgreSQL trở thành quản trị CSDL GIS hoàn chỉnh, mạnh khi được tích hợp với module PostGIS Đây là thế mạnh của PostgreSQL so với MySQL
Từ các kết luận trên có thể thấy rằng PostgreSQL là lựa chọn hợp lý nhất để xây dựng các hệ thống GIS
2.2 Hệ quản trị cơ sở dữ liệu PostgreSQL
2.2.1 Giới thiệu
PostgreSQL là hệ quản trị cơ sở dữ liệu đối tượng-quan hệ, xuất hiện gần như cùng lúc với sự khởi đầu của các cơ sở dữ liệu quan hệ
∗ Cơ sở dữ liệu đối tượng-quan hệ là gì?
Cơ sở dữ liệu đối tượng-quan hệ cho phép lưu trữ nhiều kiểu các đối tượng phức tạp trong các cột thuộc bảng quan hệ của nó như các kiểu cơ bản ngày tháng (date), số (number), dạng văn bản và cho phép người dùng định nghĩa các kiểu dữ
Trang 37Tóm tắt lịch sử của PostgreSQL, cây gia đình của PostgreSQL có các nhánh như sau:
Hình 2.1 Cây gia đình của PostgreSQL Trong thực tế PostgreSQL là một người anh em họ của cơ sở dữ liệu Sybase
và Microsoft SQL Server bởi vì những người mà bắt đầu Sybase đến từ UC Berkeley và làm việc trên Ingres và/hoặc các dự án PostgreSQL với Michael Stonebraker Michael Stonebraker được cho là cha đẻ của PostgreSQL và là một trong những người sáng lập của các hệ quản trị cơ sở dữ liệu đối tượng-quan hệ
Mã nguồn của Sybase SQL Server sau đó được cấp phép cho Microsoft để sản xuất
ra Microsoft SQL Server
Quay trở lại những ngày đầu của cơ sở dữ liệu quan hệ, đối tượng-quan hệ có nhiều điểm khác biệt, nhưng ngày nay có nhiều cơ sở dữ liệu quan hệ bậc cao và một số ít bậc thấp là đối tượng quan hệ mặc dù PostgreSQL là một trong số ít được xây dựng từ thuở sơ khai lên để được như bây giờ
PostgreSQL nổi tiếng vì nó là cơ sở dữ liệu mã nguồn mở tiên tiến nhất Nó có tốc độ và chức năng để cạnh tranh với các chức năng được cung cấp bởi các doanh nghiệp thương mại dịch vụ phổ biến và được sử dụng cho cơ sở dữ liệu mạnh hơn
cỡ terabyte Một số tính năng hấp dẫn mà nó có trong khi hầu hết các cơ sở dữ liệu
mã nguồn mở khác thiếu và nhiều hãng thương mại cũng thiếu là:
Các tính năng duy nhất của PostgreSQL:
Sự lựa chọn đa dạng để thiết kế các chức năng cơ sở dữ liệu mà có thể trả lại giá trị vô hướng đơn giản cũng như tập hợp dữ liệu Thông thường các chức năng sử dụng được xây dựng sẵn trong SQL, PL / PGSQL Ngoài ra hai trong số
Trang 38cầu bổ sung cài đặt môi trường như Perl, Python và R để tận dụng hết lợi thế của chúng IBM DB2 và SQL Server của Microsoft đến gần với các chức năng NET cho phép, nhưng không hoàn toàn cho phép viết mã trong cơ sở dữ liệu Oracle chỉ
hỗ trợ PL / SQL và Java;
Hỗ trợ cho các mảng PostgreSQL và Oracle là khá độc đáo giữa các
cơ sở dữ liệu trong đó mảng là thú vị nhất Bạn có thể xác định bất kỳ cột trong bảng như là gồm một mảng các chuỗi, số, ngày tháng, hình học hoặc thậm chí kiểu
dữ liệu riêng của bạn sáng tạo ra trong đó có khá tiện dụng cho việc phân tích như
ma trận Ngoài ra bạn có thể chuyển đổi bất kỳ danh sách hàng cột duy nhất thành một mảng, trong đó có đặc biệt hữu ích khi thao tác trên các đối tượng hình học;
Inheritance Table - PostgreSQL có một tính năng gọi là Bảng thừa kế
đó là loại giống như nhiều đối tượng thừa kế và cho phép bạn để cư xử một tập toàn
bộ các bảng như một bảng đơn cũng như việc xác định phân cấp thừa kế lồng nhau
Nó thường được dùng cho các chiến lược phân vùng bảng;
Khả năng tích hợp nhiều cột cho đầu vào của các chức năng
Các tính năng chuyên nghiệp cơ bản:
Đây là một trong những cơ sở dữ liệu phù hợp với chuẩn ANSI-SQL nhất Nếu đã sử dụng các hệ quản trị cơ sở dữ liệu quan hệ khác thì có thể xem như đây là nhà;
Hỗ trợ các câu truy vấn phức tạp, cung cấp lập chỉ mục cho các đối tượng phức tạp phục vụ tốt cho tối ưu các liên kết và kết nối phức tạp không cần gợi
ý Tốc độ được so sánh với các lớp doanh nghiệp DBMS ngay cả với những câu lệnh SQL;
Khả năng xác định các kiểu dữ liệu mới là khá dễ dàng cho cả hai ngôn ngữ C và các ngôn ngữ được tích hợp sẵn
Các khung nhìn quan hệ với khả năng cho phép xây dựng các luật
Trang 39 Hỗ trợ giao dịch nâng cao, sử dụng một hệ thống kiểm soát truy cập đồng thời đa phiên bản tương tự mô hình mà Oracle sử dụng và Microsoft SQL Server 2005 + Ngoài ra cũng có các tính năng như giao dịch lưu các điểm;
Hàng ngàn các chức năng xây dựng sẵn và các chức năng được đóng góp để làm bất cứ điều gì từ các thao tác chuỗi, phân tích hồi quy, để phân tích dữ liệu thiên văn;
Phiên bản PL/PgSQL của PostgreSQL được so sánh với ngôn ngữ PL/SQL của Oracle Ngoài PL/PgSQL và nhiều ngôn ngữ khác, PostgreSQL có tích hợp chức năng ngôn ngữ SQL Đây là phần mà một số các cơ sở dữ liệu khác thiếu,
nó cho phép dễ dàng hơn nhiều để viết các chức năng tính toán hoặc trả lại một tập
dữ liệu đơn Không giống như các chức năng ngôn ngữ khác, chức năng SQL không phải là một hộp đen cho các nhà quy hoạch PostgreSQL có nghĩa là nó có thể được đưa vào kế hoạch chiến lược Nó cư xử giống như một macro trong C, nơi logic thường được điền sẵn trong truy vấn như vậy là hiệu quả hơn một PL/ PgSQL hoặc chức năng ngôn ngữ khác và vẫn còn có thể ẩn sự phức tạp từ người sử dụng các chức năng;
Chạy được trên nhiều hệ điều hành;
Khả năng xác lập quyền cho từng cột hoặc từng hàng trong bảng dữ liệu;
Khả năng viết các chức năng variadic, cho phép viết một chức năng duy nhất với một đối số mặc định dùng khi không có đối số được truyền vào Vì vậy hàm getMyElephant('blue') và getMyElephant() sẽ sử dụng cùng chức năng, nhưng getMyElephant sẽ sử dụng màu mặc định được định nghĩa trong hàm;
Tích hợp sẵn khả năng nhân bản dự phòng;
Đăng nhập theo luồng (một tính năng sao chép khác);
Bao chỉ mục (điều này cho phép truy vấn đó có tất cả các dữ liệu cần trong một chỉ mục, không phải nhìn vào bảng thực tế để tham chiếu chéo)
Các tính năng chuyên nghiệp nâng cao
Trang 40 Khả năng viết và viết một cách dễ dàng chức năng tổng hợp riêng của bạn trong bất kỳ ngôn ngữ được hỗ trợ bao gồm cả SQL mà đặc biệt hữu ích cho một số yêu cầu như phân tích không gian;
Chức năng cửa sổ, chức năng đã được giới thiệu nhiều trong các cơ sở
dữ liệu thương mại cao cấp như IBM DB2 và Oracle, và Microsoft SQL Server cung cấp của nó được giới thiệu trong SQL Server 2005 Điều này rất hữu ích cho OLAP và các ứng dụng kho dữ liệu và đặc biệt hữu ích cho các tìm kiếm láng giềng gần nhất;
Xây dựng các câu truy vấn đệ quy (hữu dụng cho điều hướng cây) và các chức năng biểu thức bảng chung;
Khôi phục cơ sở dữ liệu hỗ trợ khôi phục các bảng song song, chức năng này quan trọng cho các cơ sở dữ liệu lớn
2.2.2 Biên dịch mã nguồn
Trước tiên, bạn vào trang http://www.postgresql.org/ftp/source/ và tải về phiên bản mới nhất của PostgreSQL về máy Trong luận văn này, tôi sẽ sử dụng công cụ biên dịch là Visual Studio C++ 2008 của Microsoft và hệ điều hành là Windows XP SP2 để minh họa phần biên dịch PostgreSQL và PostGIS
a) Các thư viện yêu cầu
http://www.microsoft.com/downloads/ Nếu bạn cài đặt SDK Platform bao gồm Visual C ++ Trình biên dịch, bạn không cần Visual Studio để xây dựng
• ActiveState Perl: Dạng binary có thể được tải về từ http://www.activestate.com
b) Các thư viện bổ sung
Các sản phẩm bổ sung sau đây không cần thiết phải có, nhưng được yêu cầu phải xây dựng các gói phần mềm hoàn chỉnh Sử dụng các tập tin config.pl để xác