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 .
157 trang |
Chia sẻ: vietpd | Lượt xem: 1620 | Lượt tải: 1
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