Luận văn Nghiên cứu chuyển đổi phần mềm grass từ nền unix lên windows

Ngàynay, 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 vaitrò 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ờigian 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 .

pdf157 trang | Chia sẻ: vietpd | Lượt xem: 1515 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận văn Nghiên cứu chuyển đổi phần mềm grass từ nền unix lên windows, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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ần mề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 đổi GRASS 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ỨU CHUYỂN ĐỔI PHẦN MỀM GRASS TỪ NỀN UNIX LÊN WINDOWS”. Trang 2 KH OA C NT T – Đ H KH TN 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ần mề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 đổi GRASS từ Unix lê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 KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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ên Windows..................................... 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ầ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 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 KH OA C NT T – Đ H KH TN 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ền UNIX ................................ 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 KH OA C NT T – Đ H KH TN 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Ứ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 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ền phần mềm mã nguồn mở GRASS. • Triển khai việc chuyển đổi GRASS từ môi trường Unix sang môi trường Windows. Trang 7 KH OA C NT T – Đ H KH TN 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 đời từ đầ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 KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN Chương 1: OpenGis – Các khái niệm 1.1.2 Các 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 nhập, xuất, lưu trữ, truyền và hiển thị dữ liệu không gian. • • • • • • Phần mềm GIS bao gồm những công cụ thực hiện năm chức năng chính là nhập và kiểm tra dữ liệu, lưu trữ quản lý dữ liệu, xuất và thể hiện dữ liệu, biến đổi phân tích dữ liệu, và giao tiếp với người sử dụng. Dữ liệu GIS bao gồm dữ liệu không gian và dữ liệu phi không gian với dung lượng rất lớn, cần được thu nhập và lưu trữ theo một cấu trúc chuẩn để thuận tiện cho việc trao đổi và bảo quản. Các qui trình xử lý được xác lập trong quá trình phân tích và thiết kế hệ thống GIS cho một tổ chức với các mục tiêu cụ thể. Khả năng xây dựng và triển khai các qui trình ảnh hưởng đến tính hữu hiệu của hệ thốn