Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 158 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
158
Dung lượng
2,38 MB
Nội dung
Luận văn Nghiên cứu chuyển đổiphầnmềmgrasstừnềnunixlênwindows KHOA CNTT – ĐH KHTN Lời Cảm Ơn Lời Cảm Ơn W X Luận văn của chúng em sẽ rất khó hoàn thành nếu không có sự truyền đạt kiến thức quí báu và sự hướng dẫn tận tình của Thầy Dương Anh Đức. Chúng em xin chân thành cám ơn sự chỉ bảo của các thầy. Chúng con xin gửi tất cả lòng biết ơn, sự kính trọng đến ông bà, cha mẹ, cùng toàn thể gia đình, những người đã nuôi dạy, đã cho chúng con niềm tin và nghị lực để vượt qua mọi khó khăn. Chúng em xin trân trọng cám ơn quý Thầy cô trong Khoa Công nghệ thông tin trường Đại học Khoa học Tự nhiên Tp.Hồ Chí Minh đã tận tình giảng dạy, truyền đạt những kiến thức quý báu và tạo điều kiện cho chúng em được thực hiện luận văn này. Xin chân thành cám ơn sự giúp đỡ, động viên và chỉ bảo rất nhiệt tình của các anh chị đi trước và tất cả bạn bè. Các anh chị, các bạn luôn có mặt trong những thời điểm khó khăn nhất, tiếp thêm động lực và ý chí, giúp chúng tôi hoàn thành được luận văn. Mặc dù đã cố gắng nỗ lực hết sức mình, song chắc chắn luận văn không khỏi còn nhiều thiếu sót. Chúng em rất mong nhận được sự thông cảm và chỉ bảo tận tình của quý Thầy cô và các bạn. Tp.HCM, 7/2004 Nhóm sinh viên thực hiện Nguyễn Quý Minh – Phạm Anh Vũ Trang 1 KHOA CNTT – ĐH KHTN Lời nói đầu Lời Nói Đầu [ \ Ngày nay, trong tất cả các lãnh vực của đời sống kinh tế, xã hội, công nghệ thông tin được xem là một trong những ngành công nghệ mũi nhọn, đóng vai trò hết sức quan trọng, có thể tạo ra những bước đột phá mạnh mẽ. Các ứng dụng GIS ngày càng phát huy vai trò quan trọng trong việc hỗ trợ quản lý, qui hoạch đặc biệt là đối với các tổ chức, chính phủ. Vấn đề qui hoạch ở Việt Nam, cũng như ở nhiều quốc gia khác, đang gặp rất nhiều khó khăn, tốn nhiều thời gian và tiền bạc, nhất là đối với các thành phố lớn, trọng điểm như TP Hồ Chí Minh, Hà Nội, Hải Phòng Giải pháp cần thiết là một ứng dụng GIS hỗ trợ. Việc bắt tay xây dựng từ đầu một ứng dụng GIS cần rất nhiều thời gian, tiền bạc và công sức nhưng chưa chắc thành công. Trên thị trường cũng có những ứng dụng GIS thương mại, cho phép xây dựng ứng dụng trên nền thư viện cung cấp sẵn như ArcView GIS, ArcGIS , tuy nhiên sẽ phải đối mặt với vấn đề bản quyền, tốn rất nhiều tiền bạc khi triển khai trên diện rộng. GRASS là một phầnmềm GIS có chức năng, sức mạnh bằng hoặc vượt các sản phẩm thương mại nhưng điều đặc biệt là một ứng dụng mã nguồn mở, tức người sử dụng có thể tự mình tòan quyền cài đặt, sữa chữa phù hợp với nhu cầu và đặc điểm riêng của mình mà không phải trả chi phí bản quyền phần mềm. Điều hạn chế hiện nay là GRASS chỉ được phát triển trên nền UNIX. Nếu có thể chuyểnđổiGRASS sang Windows, ta có thể xây dựng được nhiều ứng dụng GIS với chi phí rẻ, phù hợp để phổ biến trên diện rộng do Windows là hệ điều hành dễ sử dụng, thân thiện và có số lượng người dùng nhiều nhất hiện nay. Với ý tưởng trên, chúng em đã tập trung thực hiện đề tài “NGHIÊN CỨUCHUYỂNĐỔIPHẦNMỀMGRASSTỪNỀNUNIXLÊN WINDOWS”. Trang 2 KHOA CNTT – ĐH KHTN Lời nói đầu Nội dung của luận văn được chia làm 5 chương: Chương 0: Mở đầu giới thiệu chung về đề tài, ý nghĩa và các mục tiêu của đề tài; trình bày các giải pháp và hướng nghiên cứu đã được thực hiện trong và ngoài nước. Chương 1: .OpenGIS – Khái niệm chung và Các mô hình dữ liệu, giới thiệu chung về các khái niệm GIS, OpenGIS, các mô hình dữ liệu trên GIS. Chương 2: Hệ Thống Hỗ trợ Phân tích Tài nguyên Địa lý, trình bày về phầnmềm mã nguồn mở GRASS, cách thức cài đặt và khởi tạo, cách thức sử dụng và lập trình trên GRASS. Chương 3: Quá trình chuyểnđổiGRASStừUnixlên môi trường Window, các kỹ thuật cài đặt trong GRASS, mô hình và cấu trúc chi tiết của GRASS, các bộ thư viện trung tâm. Chương 4: Tổng kết tóm tắt lại các vấn đề đã được đặt ra trong luận văn, cách giải quyết, kết quả đạt được và đề ra một số hướng phát triển trong tương lai. Trang 3 KHOA CNTT – ĐH KHTN Mục lục Mục Lục Lời Cảm Ơn 1 Lời Nói Đầu 2 Mục Lục 4 Danh sách các hình vẽ 6 Chương 0 : Mở Đầu 7 Chương 1 : OpenGIS – Khái niệm chung và Các mô hình dữ liệu 8 1.1 Giới thiệu về GIS 8 1.1.1 Định nghĩa GIS 8 1.1.2 Các thành phần của GIS 10 1.1.3 Các mô hình dữ liệu của GIS 11 1.1.4 Vấn Đề Dữ Liệu Đối Với GIS 12 1.2 Khái Quát Về OpenGIS 14 1.2.1 Tổ chức OGC 14 1.2.2 Định nghĩa OpenGIS 16 Chương 2 : Hệ Thống Hỗ trợ Phân tích Tài nguyên Địa lý 17 2.1 Sơ lược về GRASS 17 2.2 Kiến trúc GRASS 19 2.3 Định dạng dữ liệu 20 2.4 Tổ chức lưu trữ dữ liệu của GRASS 23 2.4.1 GISDBASE : 23 2.4.2 LOCATION : 23 2.4.3 MAPSETS 24 2.4.4 REGION và MASK 29 2.4.5 Các biến môi trường sử dụng trong GRASS 31 2.5 Dữ liệu RASTER 32 2.5.1 Ý niệm sơ lược 32 2.5.2 Hệ thống tập tin raster 34 2.5.3 Các thao tác quan trọng 34 2.6 Dữ liệu VECTOR (VECTOR DATA) 35 2.6.1 Ý niệm sơ lược 35 2.6.2 Hệ thống tập tin vector 36 2.6.3 Các thao tác quan trọng 37 2.7 Dữ liệu điểm (POINT/SITE DATA) 38 2.7.1 Ý niệm sơ lược 38 2.7.2 Hệ thống tập tin site 39 2.7.3 Các thao tác quan trọng 40 2.8 Các thư viện được cung cấp bởi GRASS (src/libes) 41 2.8.1 Danh sách 41 2.8.2 Giới thiệu sơ bộ hàm và thư viện 43 2.9 Cơ chế bổ sung và quản lý mã nguồn của GRASS 95 Trang 4 KHOA CNTT – ĐH KHTN Mục lục 2.9.1 Mã nguồn chính thức (thư mục src) 96 2.9.2 Mã nguồn ALPHA (thư mục src.alpha) 96 2.9.3 Mã nguồn đóng góp (thư mục src.contrib) 96 2.9.4 Mã nguồn có liên quan (thư mục src.related) 97 2.9.5 Mã nguồn GARDEN (src.garden) 97 2.9.6 Các script (src/script/shell) 97 2.10 Hướng dẫn cài đặt và sơ lược cách sử dụng 97 2.10.1 Cài đặt GRASS trên LINUX 97 2.10.2 Cài đặt GRASS trên Windows thông qua giả lập Cygwin 99 Chương 3 : Quá trình chuyểnđổi GRASS5 từ Linux lênWindows 101 3.1 Sự khác biệt giữa Windows và Unix/Linux 101 3.1.1 Tổng quan về hệ điều hành Windows 101 3.1.2 Tổng quan về hệ điều hành UNIX 103 3.1.3 So sánh tổng quát về lập trình đa nhiệm trên hai môi trường 105 3.1.4 So sánh về hệ thống file của hai môi trường 109 3.1.5 Giao diện người dùng 112 3.1.6 Shell và script 113 3.2 Sơ lược về phầnmềmGRASS 113 3.3 Sơ lược về mã nguồn của GRASS 5.0.2 114 3.4 Môi trường sử dụng để chuyểnđổi GRASS5 115 3.5 Các vấn đề chính khi chuyểnđổilênWindows 116 3.5.1 Khởi tạo các biến môi trường cần thiết 116 3.5.2 Dữ Liệu GRASS và Cấu trúc của dữ liệu GRASS 119 3.5.3 Cấu trúc chung của source code GRASS 121 3.5.3.1 Cài đặt bộ thư viện trung tâm 122 3.5.3.2 Cài đặt các nhóm lệnh xử lý của Grass 124 3.5.3.3 Các Driver dùng để hiển thị của Display 129 3.5.3.4 Cơ chế SendMessage trong GRASS5 132 3.5.3.5 Khái niệm hệ thống đồ họa XWindow trong Linux 143 3.5.3.6 Cài đặt và sử dụng các hàm X (Xlib) trên Window32 147 Chương 4 : Tổng Kết 152 4.1 Kết Luận 152 4.2 Hướng Phát Triển 152 Tài Liệu Tham Khảo 153 Phụ Lục 154 Trang 5 KHOA CNTT – ĐH KHTN Danh sách các hình vẽ Danh sách các hình vẽ Hình 1 - 1 Minh họa về GIS 11 Hình 2 - 1 Mô hình kiến trúc GRASS 20 Hình 2 - 2 Minh họa cấu trúc lưu trữ của GISDBASE trên đĩa 23 Hình 2 - 3 Minh họa cấu trúc lưu trữ của LOCATION trên đĩa 24 Hình 2 - 4 Minh họa cấu trúc lưu trữ của MAPSET trên đĩa 25 Hình 2 - 5 Minh họa cơ chế MASK của GRASS 31 Hình 2 - 6 Minh họa dữ liệu điểm – POINT/SITE 39 Hình 2 - 7 Hình ảnh sử dụng GRASS5 trên Linux 99 Hình 2 - 8 Hình ảnh sử dụng GRASS5 trên Windows thông qua giả lập Cygwin. 100 Hình 3 - 1 Kiến trúc của hệ điều hành Windows theo họ NT 103 Hình 3 - 2 Các dòng hệ điều hành phát triển trên nềnUNIX 104 Hình 3 - 3 Kiến trúc của hệ điều hành UNIX 105 Hình 3 - 4 Mô hình minh họa cơ chế Send Event trong GRASS5 138 Hình 3 - 5 Kiến trúc thư viện XLIB 151 Trang 6 KHOA CNTT – ĐH KHTN Chương 0: Mở đầu Chương 0 : Mở Đầu Các ứng dụng GIS ngày càng phát huy vai trò quan trọng trong việc hỗ trợ quản lý, qui hoạch đặc biệt là đối với các tổ chức, chính phủ. Vấn đề qui hoạch ở Việt Nam, cũng như ở nhiều quốc gia khác, đang gặp rất nhiều khó khăn, tốn nhiều thời gian và tiền bạc, nhất là đối với các thành phố lớn, trọng điểm như TP Hồ Chí Minh, Hà Nội, Hải Phòng Giải pháp cần thiết là một ứng dụng GIS hỗ trợ. Từ nhu cầu nói trên, chúng em đã đầu tư xây dựng đề tài “NGHIÊN CỨUCHUYỂNĐỔIPHẦNMỀMGRASSTỪNỀNUNIXLÊN WINDOWS”. Đề tài phải giải quyết một số công việc chính: • Nghiên cứu GIS và chuẩn OpenGIS. • Nghiên cứu sự khác nhau giữa hệ điều hành Unix và Windows. • Dựa vào những hiểu biết này, xem xét việc xây dựng một ứng dụng GIS trên nềnphầnmềm mã nguồn mở GRASS. • Triển khai việc chuyểnđổiGRASStừ môi trường Unix sang môi trường Windows. Trang 7 KHOA CNTT – ĐH KHTN Chương 1: OpenGis – Các khái niệm Chương 1 : OpenGIS – Khái niệm chung và Các mô hình dữ liệu Chương này trình bày khái quát về GIS và những vấn đề tồn tại liên quan đến trao đổi dữ liệu GIS trong môi trường mạng dẫn đến nhu cầu xuất hiện OpenGIS. Các khái niệm và chủ đề liên quan đến OpenGIS, vai trò của tổ chức OGC (Open GIS Consortium), mô hình tham chiếu ORM (OpenGIS Refrerence Model), và các bộ đặc tả về OpenGIS được đề xuất bởi OGC là những phần chính được đề cập đến trong chương này. 1.1 Giới thiệu về GIS 1.1.1 Định nghĩa GIS Hệ thống thông tin địa lý, gọi tắt là GIS (Geographic Information System) ra đờitừ đầu thập niên 60. Tuy nhiên mãi đến thập niên 80, GIS mới thực sự được phát triển nhanh chóng. Cho đến nay, tuỳ theo cách tiếp cận mà người ta có nhiều định nghĩa khác nhau về GIS. Những định nghĩa này bổ sung cho nhau giúp ta hiểu đầy đủ hơn các khía cạnh của GIS. Sau đây là một số định nghĩa của GIS được trích theo Peter & Rachael (1998): GIS là một tập các công cụ mạnh dùng cho việc thu nhập, lưu trữ cũng như truy tìm, biến đổi và hiển thị các dữ liệu không gian từ thế giới thực (Burrough, 1986) • • • GIS là một hệ thống dùng cho việc nắm bắt, kiểm tra, thao tác, phân tích và hiển thị các dữ liệu qui chiếu không gian liên quan đến Trái đất (Department of Environment, 1987) GIS là công nghệ thông tin cho phép lưu trữ, phân tích, và hiển thị cả dữ liệu Trang 8 KHOA CNTT – ĐH KHTN Chương 1: OpenGis – Các khái niệm không gian lẫn dữ liệu phi không gian (Parker, 1988) GIS là hệ thống cơ sở dữ liệu trong đó phần lớn dữ liệu biểu thị không gian, và tập các thủ tục thao tác trên những dữ liệu này nhằm trả lời những truy vấn về các thực thể không gian chứa trong cơ sở dữ liệu (Smith et al,. 1987) • • • • • • • • • GIS là tập các thủ tục thủ công hoặc dựa trên máy tính được dùng để lưu trữ và thao tác các dữ liệu tham chiếu địa lý (Aronoff, 1989) GIS là tập các chức năng được thực hiện một cách tự động nhằm cung cấp những năng lực cấp cao đối với sự lưu trữ, truy tìm, thao tá và hiển thị các dữ liệu vị trí địa lý (Ozemoy, Smith, & Sicherman, 1981) GIS là một thực thể tổ chức, phản ánh cấu trúc tổ chức cho phép tích hợp công nghệ với cơ sở dữ liệu và các chuyên gia, và tổ chức này liên tục hỗ trợ tài chính (Carter, 1989) GIS là hệ thống hỗ trợ quyết định liên quan đến sự tích hợp dữ liệu quy chiếu không gian trong một môi trường giải quyết vấn đề (Cowen, 1988) Thông qua các định nghĩa trên, ta thấy được ba khía cạnh quan trọng của một hệ thống GIS bao gồm: Tập các công cụ hoặc thủ tục cho phép thực hiện các chức năng lưu trữ, truy tìm, biến đổi, phân tích và hiển thị dữ liệu không gian địa lý. Cơ sở dữ liệu là thành phần quan trọng chức các dữ liệu không gian kết hợp dữ liệu phi không gian. Tổ chức nhằm phối hợp kỹ thuật và con người để có thể duy trì và phát triển hệ thống nhằm đưa ra những quyết định hợp lý. Trang 9 [...]... liệu GIS Để giải quyết vấn đề trao đổi dữ liệu GIS, một cách truyền thống người ta thường xây dựng thêm các thành phần phầnmềm làm nhiệm vụ chuyểnđổi giữa các dạng thức dữ liệu, thường được gọi là các bộ chuyển đổi (converter) Các bộ chuyển đổi này hoặc H được tích hợp trực tiếp vào các phầnmềm GIS thương mại và thể hiện ở các chức năng Đ import/export, hoặc được cung cấp bởi một bên “thứ ba” trung... điều hành phát triển trên nềnUnix như SUN Solaris, K H O A SunOS, HP, SCO, Linux, DEC Alpha v.v và có thể chạy trên Windows thơng qua mơi trường giả lập Cygwin (chương trình giả lập LINUX /UNIX trên nền Windows) GRASS có khả năng lưu trữ, phân tích và hiển thị một cách sinh động dữ liệu khơng gian đã được số hố Hiện tại, phiên bản GRASS đã ra đến 5.x và là một trong mười phầnmềm mã nguồn mở có qui mơ... thành phần của GIS Có nhiều mơ hình GIS tuỳ theo nhu cầu của người dùng Mơ hình đầy đủ của GIS bao gồm sáu thành phần: phần cứng, phần mềm, dữ liệu, qui trình, con người và tổ chức Những thành phần này cần phải kết hợp cân đối nhau để hệ thống làm việc hiệu quả Phần cứng GIS bao gồm hệ thống máy tính hoặc mạng máy tính cho phép K H TN • nhập, xuất, lưu trữ, truyền và hiển thị dữ liệu khơng gian • Phần mềm. .. mục lưu trữ file grassrc5, là file chứa thơng tin về tất cả các biến mơi trường Khi được khởi động, GRASS sẽ đọc từ file grassrc5 để khởi tạo các biến mơi trường khác được lưu trong đó Trang 31 Chương 2: Hệ thống hỗ trợ phân tích tài ngun địa lý • GISDBASE: biến này ghi nhận đường dẫn đến thư mục cài đặt cơ sở dữ liệu của GRASS, thơng tin biến này được đọc lêntừ file grassrc5 và được GRASS khởi tạo... LOCATION_NAME: biến này ghi nhận đường dẫn đến thư mục K H TN LOCATION sẽ làm việc, thơng tin biến này được đọc lêntừ file grassrc5 và được GRASS khởi tạo thành biến mơi trường • MAPSET : biến này ghi nhận đường dẫn đến thư mục MAPSET sẽ làm việc, thơng tin biến này được đọc lêntừ file grassrc5 và được GRASS khởi H tạo thành biến mơi trường MONITOR : Monitor đang được chọn để hiện thi hiện tại • PAINTER :... liệu từ file raster INPUT MASK 3 4 4 3 3 4 2 3 3 OUTPUT 0 4 4 0 1 1 + 1 1 0 = 3 3 0 2 0 0 1 0 0 H Hình 2 - 5 Minh họa cơ chế MASK của GRASS – Đ GRASS 5 Khơng hỗ trợ mặt nạ dấu chấm động 2.4.5 Các biến mơi trường sử dụng trong GRASS C N TT Các module của GRASS được viết độc lập với cơ sở dữ liệu được sử dụng bởi người dùng, cơ sở dữ liệu đó được lưu ở đâu, cũng như vị trí các module làm việc của GRASS. .. nay, nó được hỗ trợ bởi nhóm phát triển GRASS có tổng hành dinh tại ITC-irst, Trento Italy) và Đại học Baylor, – Waco (Mỹ) C N TT GRASS là một phầnmềm mã nguồn mở (GNU – General Public Licence), được phát hành lần đầu năm 1985 Phát triển trong hơn 20 năm qua, kích thước GRASS vào khoảng 100 MB và là một bộ thư viện lớn để phục vụ việc xây dựng các ứng dụng GIS GRASS được viết bằng ngơn ngữ C (khoảng... tính 1.1.4 Vấn Đề Dữ Liệu Đối Với GIS Hiện nay trên thị trường có rất nhiều sản phẩm phầnmềm GIS Một số phầnmềm GIS được xây dựng trên mơ hình dữ liệu vector (mơ hình thơng dụng), một số khác xây dựng trên mơ hình raster, và một số khác nữa xây dựng trên cả hai mơ hình Với mỗi mơ hình được chọn, các hãng sản xuất phầnmềm GIS lại có những biễu diễn vật lý riêng của mình ở thiết kế bên trong nhằm tối... 2, 3, 4) Người dùng có thể gán màu sắc tương ứng cho từng lọai giá trị cell tùy thích (trong ví dụ trên màu đen cho giá trị 1) Từ đó sẽ có hai khả năng xảy, hoặc là ta giữ ngun màu sắc ngun thủy của ơ từ bản đồ gốc được đưa vào để hiện thị, hoặc là ta gán giá trị màu thể hiện cho từng giá trị ơ (điều này có thể làm thay đổi hình ảnh được hiện thị lên của bản đồ so với bản đồ gốc được nhập vào) Trang... phầnmềm GIS chun biệt để bao phủ hoặc K H TN kết hợp các lớp bản đồ khác nhau của cùng một vùng địa lý Việc chuyển đổi dữ liệu thường nặng nề và mất nhiều thời gian, nhưng kết quả lại khơng được như ý Chỉ có giao tiếp chung là cách cho phép sự bao phủ và kết hợp các loại thơng tin địa lý phức tạp khác nhau xảy ra một cách tự động trên Internet, bất chấp những khác biệt nằm phía dước các hệ thống phần . Luận văn Nghiên cứu chuyển đổi phần mềm grass từ nền unix lên windows KHOA CNTT – ĐH KHTN Lời Cảm Ơn Lời Cảm Ơn W X Luận văn của chúng em sẽ. trợ. Từ nhu cầu nói trên, chúng em đã đầu tư xây dựng đề tài “NGHIÊN CỨU CHUYỂN ĐỔI PHẦN MỀM GRASS TỪ NỀN UNIX LÊN WINDOWS . Đề tài phải giải quyết một số công việc chính: • Nghiên cứu GIS. 113 3.2 Sơ lược về phần mềm GRASS 113 3.3 Sơ lược về mã nguồn của GRASS 5.0.2 114 3.4 Môi trường sử dụng để chuyển đổi GRASS5 115 3.5 Các vấn đề chính khi chuyển đổi lên Windows 116 3.5.1