Nghiên cứu chuyển đổi phần mềm grass từ nền unix lên windows
Trang 1KHOA CNTT –
ĐH KHTN 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 2KHOA CNTT –
ĐH KHTN 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 3KHOA CNTT –
ĐH KHTN
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 4KHOA CNTT –
ĐH KHTN Mục Lục
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.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
Trang 5KHOA CNTT –
ĐH KHTN
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
Trang 6KHOA CNTT –
ĐH KHTN 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 7KHOA CNTT –
ĐH KHTN 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 8KHOA CNTT –
ĐH KHTN 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à 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 9KHOA CNTT –
ĐH KHTN
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à 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 10Phầ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
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ống GIS
Con người là yếu tố quyết định sự thành công của hệ thống GIS Con người bao gồm các kỹ thuật viên, chuyên viên công nghệ thông tin, nhà quản trị hệ thống và người sử dụng các kết quả của GIS để ra quyết định
Tất cả những thành phần trên cần được đặt trong một tổ chức thích hợp, có các cơ chế, chính sách và qui trình hợp lý
Trang 11KHOA CNTT –
ĐH KHTN
Hình 1 - 1 Minh họa về GIS
1.1.3 Các mô hình dữ liệu của GIS
Trong GIS, các thực thể trong thế giới thực có thể được biểu diễn bằng những mô hình dữ liệu khác nhau nhằm mô tả các thuộc tính, vị trí, thời gian và quan hệ không gian giữa chúng Các thực thể khi được biểu diễn trong mô hình dữ liệu thường được gọi là các đối tượng Để biểu diễn vị trí và quan hệ của các đối tượng trong không gian địa lý, người ta dùng mô hình vector hoặc mô hình raster Mô hình phân cấp, mô hình mạng hoặc mô hình quan hệ thì được dùng để biểu diễn các thuộc tính của các đối tượng Trong cơ sở dữ liệu địa lý, các thuộc tính sẽ được liên kết với các đối tượng tương ứng trong mô hình vector hoặc raster Mỗi một mô hình đều có ưu điểm và nhược điểm riêng, và có thể có nhiều cấu trúc dữ liệu, mỗi cấu trúc dữ liệu có thể được lưu trữ bằng
Trang 12Mô hình raster
Trong mô hình raster, không gian được chia thành những phần tử nhỏ còn được gọi là tế bào Mỗi tế bào được xem như đồng nhất, cùng một thuộc tính và được biểu diễn như một điểm Kích thước của mỗi tế bào được đặc trưng bởi độ phân giải.Có thể hình dung dữ liệu raster như là một tấm lưới phủ lên một địa thế nào đó trong thế giới thực, và mỗi ô trong lưới có một mã số đặc trưng cho một ý nghĩa nào đó của vùng nằm bên trong ô đó
Một đặc điểm của cấu trúc raster là một lưới raster như vậy chỉ biểu diễn được một thuộc tính àno đó của đối tượng thôi, vì mỗi tế bào trong lưới chỉ được gán bởi duy nhất một giá trị thuộc tính Do vậy, người ta thường tạo nhiều lớp lưới raster khác nhau để biểu diễn nhiều thuộc tính cho cùng một đối tượng, mỗi lớp cho mỗi thuộc 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ần mềm GIS Một số phần mề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ần mề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 ưu hóa việc lưu trữ, xử lý cũng như hiển
Trang 13Encoding and Referencing Files), … (có thể tham khảo thêm tại Đặng Văn Đức, 2001, trang 202-204)
Tương tự với kiểu raster, nhiều dạng thức tập tin khác nhau cũng được sử dụng cho việc lưu trữ dữ liệu, đặc biệt là những dữ liệu bản đồ được số hóa từ các thiết bị chuyên dụng hoặc từ các ảnh chụp viễn thám Chẳng hạn, các dạng thức PCX (PC PaintBrush Exchange), TIFF (Tagged Image File Format) thường được dùng cho các ảnh raster tạo được từ máy quét hoặc các chương trình vẽ PC, dạng thức ADRG (Arc Digitized Raster Graphics) được dùng bởi Quân đội US lưu các ảnh raster của bản đồ giấy, dạng thức BIL (Band Interleaved by Line) và BIP (Band Interleaved by Pixel) được dùng cho các hệ thống viễn thám
Về việc liên kết dữ liệu không gian địa lý với dữ liệu thuộc tính (còn gọi là dữ liệu phi không gian) trong hệ GIS cũng có nhiều mô hình khác nhau Chẳng hạn, MapInfo lưu dữ liệu không gian vào tập tin dạng mif, dữ liệu thuộc tính vào tập tin dạng mid, và cả hai tập tin này đều thuộc về MapInfo Kiểu lưu trữ này của MapInfo được xem là kiến trúc tích hợp của hệ GIS (Đặng Văn Đức, 2001, trang 202) Còn ArcInfo lưu dữ liệu không gian vào tập tin dạng dhp, và dùng tập tin dang dbf vay mượn từ cơ sở dữ liệu quan hệ thương mại để lưu dữ liệu thuộc tính Đây được xem là kiến trúc đối ngẫu của hệ GIS (Đặng Văn Đức, 2001, trang 199) Ngoài ra, một mẫu kiến trúc tích hợp khác của hệ GIS nữa là một số cơ sở dữ liệu quan hệ thương mại truyền thống nay được mở
Trang 14Để 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ần mề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 được tích hợp trực tiếp vào các phần mề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 gian nào đó
Ngày này với sự phát triển của mạng máy tính nói chung và mạng Internet nói riêng, các nhu cầu thừa kế, trao đổi, tích hợp và khai thác dữ liệu GIS từ nhiều nguồn khác nhau giữa các tổ chức, cộng đồng và quốc gia trong môi trường mạng ngày càng gia tăng và có ý nghĩa Việc thi hành các tác vụ chuyển đổi dữ liệu theo kiểu truyền thống không được xem là hiệu quả và thuận tiện cho lắm đối với người sử dụng Người ta cần tìm ra giải pháp mang tính hệ thống và chuẩn mực hơn nhằm đêm lại sự thuận lợi lâu dài và bền vững cho những người khai thác GIS
1.2 Khái Quát Về OpenGIS
1.2.1 Tổ chức OGC
Tổ chức Liên hiệp OpenGIS, gọi tắt là OGC (Open GIS Consortium), là một tổ chức phi lợi nhuận và mang tính quốc tế, được thành lập vào nằm 1994 nhằm giải quyết các vấn đề liên quan đến sự trao đổi chia sẽ các dữ liệu không gian địa lý và khả năng làm việc phối hợp giữa các phần mềm GIS Các hoạt động của OGC tạo ra những ảnh
Trang 15KHOA CNTT –
ĐH KHTN
Nhận xét về vấn đề dữ liệu đối với GIS, OGC cho rằng:
“Hiện trên Web và trong các kho lưu trữ độc lập có nhiều dữ liệu không gian địa lý, nhưng chúng quá phức tạp, không đồng nhất và không tương thích nhau Người dùng cần phải có kiến thức chuyên môn và các phần mềm GIS chuyên biệt để bao phủ hoặc 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 mềm GIS OGC cung cấp cấu trúc hình thức để đạt được sự thống nhất về các giao tiếp chung này.” (David Blasby)
Trên cơ sở nhận định này, mục tiêu bao trùm và dài hạn của OGC là:
“The full integration of geospatial data and geoprocessing resources into mainstream computing and the widespread use of interoperable geoprocessing software and geodata products throughtout the information infrastructure.” (Open GIS Consortium
Inc., 1999, Topic 0) Tạm dịch:
“Tích hợp hoàn chỉnh các dữ liệu không gian địa lý và các cách xử lý thông tin địa lý vào một luồng tính toán chính, và sử dụng phổ biến các sản phẩm dữ liệu địa lý và phần mềm xử lý thông tin địa lý trong suốt cơ sở hạ tầng về thông tin.” (Open GIS Consortium., 1999, Topic 0)
Theo ESRI (2003), việc tích hợp vào luồng tính toán chính mang ý nghĩa mở rộng phạm vi trao đổi ứng dụng GIS ở mức tổ chức lớn hơn, chia sẽ dữ liệu không gian địa lý không chỉ giữa các công nghệ GIS mà còn với các ứng dụng không phải GIS trên những nền tảng khác nhau, và khả năng làm việc phối hợp giữa các chuẩn GIS với các chuẩn IT công nghiệp
Trang 16KHOA CNTT –
ĐH KHTN
Công việc của OGC là xây dựng và công bố các đặc tả mang tính mở cho các giao tiếp, lược đồ và kiến trúc nhằm thúc đẩy khả năng tương thích giữa các kho dữ liệu không gian địa lý, các ứng dụng và dịch vụ GIS không đồng nhất
1.2.2 Định nghĩa OpenGIS
Các đặc tả mở được tạo bởi OGC được gọi là các đặc tả OpenGIS (Open GIS Specifications) Vậy Open GIS là gì?
OpenGIS được định nghĩa là:
“Open and interoperable geoprocessing” or “The ability to share heterogeneous geodata and geoprocessing resources transparently in a networked environment.”
(David, 2000) Tạm dịch:
“Việc xử lý dữ liệu địa lý phải có tính mở và có khả năng làm việc liên thông” hoặc “Khả năng chia sẻ một cách trong suốt các dữ liệu địa lý không đồng nhất và các tài nguyên xử lý về mặt địa lý trong môi trường mạng.” (Dương Anh Đức)
Hai khái niệm “mở” (open) và “khả năng làm việc liên thông” (interoperability) là hai khái niệm trung tâmcủa OpenGIS
Mở được hiểu là nhiều thành phần tham gia soạn thảo các đặc tả, và các kết quả đặc tả được tự do tham khảo và sử dụng
•
• Khả năng làm việc liên thông là khả năng tương thích của các ứng dụng nhằm khắc phục những trở ngại do sự không dồng nhất các môi trường xử lý cũng như sự không đồng nhất về dữ liệu
Tóm lại, có thể nói rằng các đặc tả OpenGIS được xây dựng nhằm giúp cho việc truy cập các dữ liệu không gian địa lý và các dịch vụ xử lý dữ liệu trở nên trong suốt trong
Trang 17KHOA CNTT –
ĐH KHTN Chương 2 :
Hệ Thống Hỗ trợ Phân tích Tài nguyên Địa lý
Chương 2 giới thiệu về phần mềm GRASS (The Geogaphic ResourcesAnalysis
Support System), là một hệ thống hỗ trợ phân tích tài nguyên địa lý Đề cập một cách khái quát về khía cạnh sử dụng cũng như trong lãnh vực lập trình
2.1 Sơ lược về GRASS
Là một hệ thống thông tin địa lý (GIS – Geographic information system), phát triển theo chuẩn của OpenGIS, nguyên gốc được thiết kế và phát triển bởi những nhà nghiên cứu tại Phòng Thí nghiệm Xây dựng của quân đội Mỹ (US Army Construction
Engineering Research Laboratory - USACERL) và ngày 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ỹ)
GRASS là một phần mề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 1,5 triệu dòng mã lệnh) và có thể
được biên dịch trên các hệ điều hành phát triển trên nền Unix như SUN Solaris,
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ố hoá Hiện tại, phiên bản GRASS đã ra đến 5.x và là một trong mười phần mềm mã nguồn mở có qui mô lớn nhất hiện nay Đã có nhiều tổ chức, chính phủ, trường học và công ty sử dụng thư viện GRASS để phát triển những ứng dụng chuyên biệt cho riêng mình
Trang 18KHOA CNTT –
ĐH KHTN
Những đối tượng GRASS hướng đến là các nhà qui hoạch, sinh thái học, địa chất học, địa lý học và những kỹ sư trắc địa vẽ bản đồ, tuy nhiên người sẽ trực tiếp sử dụng GRASS lại là các lập trình viên Hầu hết các đối tượng GRASS hướng đến đều có trình độ tin học hạn chế, họ tự mình không thể xây dựng một chương trình tin học phức tạp liên quan đến GIS để phục vụ công việc của bản thân, tuy rằng công việc chuyên môn rất cần sự hỗ trợ của những phần mềm tin học như vậy GRASS cung cấp một bộ thư viện để xây dựng ứng dụng GIS tương đối đầy đủ gọi là GISLIB (khoảng trên 800 hàm), và bản thân GRASS cũng dựa trên bộ thư viện này để phát triển một số chức năng cơ bản về GIS Việc xây dựng một hệ GIS thật sự rất phức tạp nếu bắt tay từ đầu, và vì thế, nhờ sự hỗ trợ của bộ thư viện này lập trình viên sẽ có thể nhanh chóng xây dựng được các ứng dụng GIS hỗ trợ cho các đối tượng người dùng trên một cách dễ dàng và nhanh chóng
GRASS được thiết kế và phát triển cho nhiều mức độ sử dụng khác nhau, ở thời điểm hiện tại có thể phân chia như sau :
• Mức chuyên biệt hoá : cho những người dùng mới học cách sử dụng, trình độ tin học không cao GRASS hiện tại hỗ trợ giao tiếp người dùng thông qua giao diện đồ họa được viết bằng script TCL/TK Cho phép xây dựng nên các command truy vấn thông qua menu, dialog Giao diện này thực chất là lớp vỏ bọc cho những command chuyên biệt bên dưới
• Mức command, gõ lệnh trực tiếp : đây là mức thông dụng nhất và được sử dụng nhiều nhất Trên môi trường LINUX/UNIX việc gõ command sẽ giúp thao tác nhanh với hệ điều hành rất nhiều so với giao tiếp giao diện đồ họa GRASS ở mức giao tiếp này hỗ trợ người dùng gõ command trực tiếp để truy vấn và sử dụng
• Mức lập trình : đây là những developer, có trình độ tin học cao Sử dụng
Trang 19KHOA CNTT –
ĐH KHTN
ứng dụng cho bản thân Ràng buộc là các developer phải sử dụng những hàm đã được hỗ trợ (nếu có) để mở rộng và phát triển, không viết lại những gì đã có để tránh trùng lắp và bug
• Mức xây dựng thư viện : đây là công việc của nhóm phát triển GRASS đang làm Họ có trách nhiệm duy trì sự ổn định, phát hiện sửa chữa những lỗi và đảm bảo một nền tảng thư viện hàm tốt để các ứng dụng được phát triển và mở rộng trên đó
GRASS hỗ trợ các chức năng chính yếu :
• Phân tích dữ liệu Raster (Raster Analysis) • Phân tích dữ liệu Vector (Vector Analysis) • Phân tích dữ liệu Điểm (Point Analysis) • Xử lý hình ảnh (Image Process)
• Phân tích DTM ( DTM – Analysis) • Hiển thị thông tin (Screen Displaying) • Tạo lập bảng đồ (map creation)
Trang 20Hình 2 - 1 Mô hình kiến trúc GRASS
GRASS được viết theo bằng C nên hoàn toàn không có yếu tố hướng đối tượng trong kiến trúc Các chức năng được đóng lại thành các gói Theo chiều mũi tên, các gói được phân thành kiến trúc lớp như trên, những gói thuộc lớp cao sẽ sử dụng các chức năng do các gói ở lớp thấp cung cấp
Những module khác có thể là các hỗ trợ phụ thêm cho GRASS như giao tiếp ODBC với hệ quản trị cơ sở dữ liệu Postgres, cung cấp nơi lưu trữ, truy vấn cho cơ sở dữ liệu không gian
2.3 Định dạng dữ liệu
GRASS lưu trữ dữ liệu theo một tổ chức thư mục được phân cấp được qui ước và mỗi loại dữ liệu có định dạng lưu trữ xác định Dữ liệu vector (vector data) được lưu theo định dạng nhị phân, dữ liệu điểm (site / point data) được lưu theo định dạng ASCII và dữ liệu ảnh (raster/imagery data) được lưu theo định dạng nhị phân và được nén Về phương diện lập trình GRASS được cung cấp thư viện GIS Library dùng để giao tiếp với cơ sở dữ liệu của GRASS Thư viện GIS Library cung cấp đủ các hàm khiến cho lập trình viên có thể không cần phải hiểu cấu trúc của CSDL lưu bên dưới Thư viện
Trang 215 SUN Raster (8 bit)
6 NHAP ( ảnh không gian) 7 BIL/BSQ (ảnh vệ tinh) 8 LANDSAT TM, MSS (ảnh vệ tinh) 9 SPOT (ảnh vệ tinh) Hỗ trợ kết xuất từ Raster ra các định dạng như :
1 ASCII (X Y Z , Z trong khoảng -2E7 đến 2 E7)
Trang 22KHOA CNTT –
ĐH KHTN
Dữ liệu Vector : dữ liệu thể hiện hình dạng vật lý bên ngoài của đối tượng như :
dòng sông, đường xá, hồ nước hoặc cánh đồng … Được định dạng theo kiểu vector Hỗ trợ import các định dạng như :
1 ASCII vectorformat
2 ARC/INFO (các file có phần mở rộng arc, line, point và textlabel ) 3 DXF 4 DXF3D
5 DLG 6 IDRISI
7 TIGER
Hỗ trợ kết xuất từ dữ liệu vector ra các định dạng 1 ASCII vectorformat
2 ARC/INFO 3 DXF
4 IDRISI 5 MOSS
Dữ liệu điểm (Point data): trong GRASS được gọi là “sites” Dữ liệu điểm có thể là
độ cao, lượng mưa ở một toạ độ xác định Gọi là điểm vì thông tin thể hiện cho một toạ độ xác định trên bản đồ
Định dạng hỗ trợ import và kết xuất là : ASCII format
Trang 23thông tin này, ta dùng hàm G_gisdbase
2.4.2 LOCATION :
Thư mục con của GISDBASE là Location, có thể xem Location là những cơ sở dữ liệu độc lập nhau của các vùng khác nhau và GISDBASE là tập các cơ sở dữ liệu mà
GRASS hiện đang được dùng để quản lý
Người dùng phải xác lập Location sẽ làm việc khi đăng nhập sử dụng GRASS, thông tin này sau đó sẽ được chứa trong biến môi trường LOCATION_NAME, và được trả về khi sử dụng hàm G_location để truy vấn
Trong một phiên làm việc, GRASS chỉ có thể làm việc với một Location duy nhất trong số những Location mà GISDBASE quản lý
LOCATION 1LOCATION 2LOCATION 1LOCATION 4GISDBASE
Hình 2 - 2 Minh họa cấu trúc lưu trữ của GISDBASE trên đĩa
Trang 24Hình 2 - 3 Minh họa cấu trúc lưu trữ của LOCATION trên đĩa
Người dùng chỉ được sửa đổi đối với những mapset được tạo ra bởi chính người dùng Đối với những mapset khác, người dùng chỉ có thể xem nhưng không được thực hiện việc sửa đổi (tuy nhiên, nếu chủ nhân của mapset không cho xem, bằng cách đặt quyền sử dụng file thông qua Unix File System, thì ta cũng không xem được các mapset này) Vậy đường dẫn đến một Mapset là : GISDBASE/LOCATION/MAPSET Thông tin này có thể lấy ra thông qua hàm G_location_path
Cấu trúc Mapset bao gồm : các file và các thư mục con khác (được gọi là các element, trong sơ đồ các element được vẽ với dấu /)
Trang 25Hình 2 - 4 Minh họa cấu trúc lưu trữ của MAPSET trên đĩa
Các file trong mapset
• GROUP : nhóm hình ảnh hiện tại (current imagery group), được dùng bởi các hàm xử lý hình ảnh (imagery function)
• SEARCH_PATH : đường dẫn tìm kiếm của Mapset (mapset search path), đựơc tạo và sửa đổi bởi lệnh g.mapsets Nó chứa bên trong danh sách các mapset có thể được sử dụng để tìm kiếm các file cơ sở dữ liệu Khi người dùng gõ vào tên một một file cơ sở dữ liệu mà không ghi rõ thuộc mapset nào, thông tin đó sẽ được tìm kiếm trong file SEARCH_PATH này • WIND : khu vực hiện tại (current region), file được tạo và sửa đổi bởi
lệnh g.region, nội dung của WIND được lấy ra bởi lệnh G_get_window • Các ELEMENTS : Các element này không được tạo khi mapset được tạo
mà các command của GRASS sẽ tạo động khi nó tham chiếu đến (ví dụ : g.ask) Vì các element không chắc chắn đã tồn tại, nên ta phải luôn kiểm tra sự hiện diện của nó trước khi thực hiện các thao tác
Trang 26KHOA CNTT –
ĐH KHTN
cell file nhị phân raster (số nguyên – INT)
FLOAT/DOUBLE)
cellhd file header cho các raster map
cats Thông tin được phân loại của các raster map (category raster map information)
colr Bảng màu của raster map
colr2 Bảng màu thứ hai của raster map cell_misc Những file linh tinh khác phục vụ cho
Trang 27KHOA CNTT –
ĐH KHTN
dig_cats danh mục các label của vector được hỗ trợ (vector category label support) dig_plus đồ hình vector được hỗ trợ (vector
topology support)
arc các file ARC/INFO là những file không được tạo tự động Dùng cho việc trao đổi dữ liệu (data-exchange)
bdlg File nhị phân dlg, dùng cho việc trao đổi dữ liệu
dlg file ascii dlg, dùng cho việc trao đổi dữ liệu
dxf file ascii DXF, dùng cho việc trao đổi dữ liệu
camera dùng bởi hàm i.ortho.photo, là file đặc tả camera
icons những file biểu tượng, được dùng bởi hàm p.map
group dữ liệu hỗ trợ cho các nhóm hàm xử lý hình ảnh
Trang 28Mỗi location đều có những dữ liệu mapset thuộc loại cố định (PERMANENT
MAPSET) Mapset này chứa các file dữ liệu raster và vector nguyên gốc không được phép sửa đổi và các file đặc biệt khác
• MYNAME : mô tả thông tin về location Có thể truy xuất thông qua hàm G_myname
• DEFAULT_WIND : mô tả region mặc định cho location, được trả về thông qua hàm G_get_default_window File này được dùng để khởi tạo WIND file khi GRASS tạo mới một mapset trong Location
• PROJ_INFO : chứa các thông tin về project
• PROJ_UNITS : chứa thông tin về các unit của project
Ràng buộc khi sử dụng cơ sở dữ liệu mapset
Dựa trên ba ràng buộc cơ bản :
1 Người sử dụng chỉ được chọn mapset đó để làm việc nếu đó là chủ nhân của mapset đó
2 GRASS chỉ tạo và sử đổi file chỉ trên mapset hiện tại được chọn
Trang 29KHOA CNTT –
ĐH KHTN
3 Tất cả các file trong các mapset đều có thể được đọc bởi những người sử dụng không phải chủ nhân của nó (thông qua MAPSET SEARCH_PATH để truy xuất), nếu chủ nhân của các mapset này “chia sẻ” , cho phép các user khác được xem (thông qua cơ chế UNIX file permission)
2.4.4 REGION và MASK
GRASS cung cấp hai cơ chế cho phép người dùng lựa chọn khu vực sẽ quan sát và phân tích dữ liệu của họ, được gọi là lựa chọn theo kiểu “khu vực” (region) và lựa chọn theo kiểu “mặt nạ” (mask) Người sử dụng định nghĩa một khu vực hình chữ nhật để tạo ra một “lựa chọn theo kiểu khu vực” (region) và sau đó có thể tuỳ ý giới hạn lại bớt khu vực được chọn đó bằng một “mặt nạ” (mask) Dữ liệu về region và mask sẽ được tự động lưu trữ vào cơ sở dữ liệu GRASS trong MAPSET hiện tại được người sử dụng chọn lựa
Các module của GRASS tự động làm việc với những dữ liệu nằm trong region đã được chọn, nếu có thêm mask thì chỉ những dữ liệu trong region sau khi vượt được qua lớp “mặt nạ“ sẽ được chọn để xử lý
REGION
Để chọn khu vực làm việc, người sử dụng thao tác qua lệnh g.region, hoặc d.zoom, và những thông tin này sau đó được lưu trong file WIND của MAPSET File này không chỉ xác lập sự giới hạn của khu vực địa lý được chọn trong một khuôn viên hình chữ nhật mà dựa trên độ phân giải của khu vực đó, một cách ngầm định GRASS sẽ phân khu vực thành những cell hình chữ nhật có cùng kích thước
File WIND chứa những thông tin sau : north: 4660000.00
south: 4570000.00
Trang 30KHOA CNTT –
ĐH KHTN
west : 710000.00 e-w resol: 50.00 n-s resol: 100.00 rows: 900 cols: 1200 proj: 1 zone: 18
north, south, east, west : tọa độ bốn góc định ra khu vực làm việc
rows, cols : số lượng dòng và cột được chia ra trong khu vực làm việc
e-w resol, n-s resol : Độ phân giải theo chiều rộng và chiều dài của khu vực làm việc
Đây chính là kích thước của mỗi cell được chia nhỏ ra từ khu vực làm việc ban đầu w resol là chiều dài của cell và n-s resol là chiều rộng của cell
e-proj, zone :
proj giúp xác định loại toạ độ được sử dụng :
0 : không sử dụng tọa độ (x,y), loại bản đồ image 1 : UTM
2 : State Plane
3 : Kinh độ, vĩ độ (Latitude Longitude)
zone xác định trường của proj, trong ví dụ trên là zone 18
Trang 31Mặt nạ hoạt động như một bộ lọc khi đọc dữ liệu từ file raster
3 4 43 3 42 3 3
0 4 43 3 02 0 00 1 1
1 1 01 0 0
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á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 Các thông tin này cũng rất cần cho quá trình xử lý, GRASS sẽ tạo các biến môi trường để ghi nhận và lấy ra khi cần thiết
Khi được khởi động bằng lệnh grass5.0, GRASS lập tức khởi tạo thông tin cho các biến môi trường sau
• GISBASE : là đường dẫn tuyệt đối đến thư mục chứa cài đặt của GRASS • GIS_LOCK : biến này ghi nhận đường dẫn đến file gis_lock, là file
GRASS dùng để đảm bảo cơ chế lock (khoá) của chương trình
• GISRC : chỉ đến thư 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
Trang 32KHOA CNTT –
ĐH KHTN
• 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ên từ file grassrc5 và được GRASS khởi tạo thành biến môi trường
• LOCATION_NAME: biến này ghi nhận đường dẫn đến thư mục
LOCATION sẽ làm việc, thông tin biến này được đọc lên từ 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ên từ file grassrc5 và được GRASS khởi tạo thành biến môi trường
• MONITOR : Monitor đang được chọn để hiện thi hiện tại • PAINTER : thiết bị hiện thị đang được chọn
• DIGITIZER : digitizer đang được chọn
Các biến môi trường được lưu trong grassrc5 được gọi là biến môi trường GRASS và được thao tác thông qua hai hàm thư viện : G_getenv và G_setenv Hai hàm này đảm
bảo các thông tin biến môi trường GRASS được lưu xuống file khi có sự thay đổi
2.5 Dữ liệu RASTER
2.5.1 Ý niệm sơ lược
Dữ liệu dạng này có thể xem là được kết hợp lại từ một ma trận các ô Nó có thể là một bản đồ giấy, một ảnh vệ tinh, hoặc một bản đồ có được do tổng hợp từ nhiều bản đồ khác
Bản đồ được phân rã thành ma trận, gồm nhiều ô, mỗi ô được gọi là một grid cell Ô grid cell là đơn vị nguyên tố của bản đồ, thể hiện một dữ liệu đã được qui ước và đánh số thành danh mục
Ví dụ : Raster map sau
Trang 33KHOA CNTT –
ĐH KHTN
Raster map về sự phân bố đất đai Với danh mục được qui định là
1 : Thành thị 2 : Đồng cỏ 3 : Rừng 4 : Đầm lầy
Mỗi ô, bên cạnh dữ liệu thể hiện tọa độ, còn đi kèm theo dữ liệu thể hiện ý nghĩa của cell (trong bản đồ ví dụ bên trên là các giá trị 1, 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ữ nguyên màu sắc nguyên 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 34cell File nhị phân thể hiện thông tin của các raster cell ( được thể hiện bằng số nguyên int)
fcell File nhị phân thể hiện thông tin của các raster cell ( được thể hiện bằng số thực float/double)
cellhd các file header của raster
cats Danh mục (category information) của các raster map colr bảng màu của raster map
colr2 bảng màu thay thế của raster map hist File lưu vết, lịch sử của raster map
cell_mísc Những thông tin khác (linh tinh, không thật sự quan trọng) Ví dụ : raster map về đất đai (soils), có thể có các file sau : cell/soils, cellhd/soils, colr/soils, và cats/soils
Những thư mục phân rã này được gọi là các “thành phần dữ liệu” (database elements)
2.5.3 Các thao tác quan trọng
Nhận dữ liệu từ một tập tin bên ngoài (import data)
Trang 35 Kết xuất dữ liệu (export data)
Tùy theo lọai dữ liệu muốn kết xuất, ta dùng các lệnh sau Dữ liệu kết xuất là file ảnh định dạng ppm
2.6 Dữ liệu VECTOR (VECTOR DATA)
2.6.1 Ý niệm sơ lược
Dữ liệu vector được sử dụng đối với những đối tượng có kiến trúc và hình thể, nghĩa là trong thực tế các đối tượng này có hình dạng và kích thước xác định GRASS sử dụng dữ liệu vector để “mã hoá” đường biên bao bọc hình dạng của kiến trúc hoặc vật thể cần thể hiện
Ví dụ : những đối tượng mà dữ liệu vector có thể dùng để “mã hoá” là hệ thống
đường xá, cầu cống, núi non, hồ nước, cánh đồng, sơ đồ qui hoạch thành phố Nói chung, những đối tượng dạng này có đặc điểm là hình dạng của chúng có thể dùng những đường liền nét để thể hiện
Trang 36 Những cung có thể biệt lập hoặc kết hợp với nhau tạo nên những hình thể trên bản đồ : đường thẳng ( sông ngòi, đường xá ) , các khu vực
Các cung tạo nên những đường liền nét (sông ngòi, đường xá ) được gọi là các “đường liền” (lines)
Các cung phân ranh nên một vùng, khu vực được gọi là các “đường ranh bao bọc” (area lines)
Mỗi loại thông tin hiện thị trên bản đồ vector được gán với một con số nguyên gọi là số chỉ mục tương tự kỹ thuật dùng cho raster map layer (category number)
Thông tin của một bản đồ vector trong GRASS được chứa trong nhiều file dữ liệu Tương tự như raster map layer, các file này có tên trùng nhau nhưng được chứa trong các thư mục con khác nhau trong thư mục mapset, mỗi file này biểu thị cho một thông tin đã được phân rã
dig_ascii file ascii, chứa thông tin cung
dig_att file phân loại các thuộc tính ( category attribute file)
dig_cats Tên các danh mục phân loại của vector
Trang 37KHOA CNTT –
ĐH KHTN
(vector category labels)
dig_plus File chỉ mục của dữ liệu vector vector pointer/ index file
reg digitizer registration points : những điểm đã được đăng ký
Ví dụ: bản đồ vector về đất đai (soils) có thể được lưu trữ theo cấu trúc sau : dig/soils, dig_plus/soils, dig_ascii/soils, dig_cats/soils và reg/soils
Vector file còn được gọi là file số hoá (digit file), vì nó được tạo và thao tác bởi thư viện các hàm digit : v.digit
Trang 38KHOA CNTT –
ĐH KHTN
$v.out.dfx
và trả lời các tham số cho lệnh
Hiện thị dữ liệu vector
Dùng lệnh
$d.vect
và trả lời các tham số cho lệnh
Kết xuất sang các định dạng dữ liệu khác của GRASS
Ta dùng lệnh sau để kết xuất sang dữ liệu định dạng vector
$v.to.vect
Ta dùng lệnh sau để kết xuất sang dữ liệu định dạng vector
$v.to.rast
2.7 Dữ liệu điểm (POINT/SITE DATA)
2.7.1 Ý niệm sơ lược
Trong nghiên cứu về môi trường, có những loại dữ liệu chỉ liên quan đến một vị trí hay một khu vực rất nhỏ : số liệu về lượng mưa ghi nhận được một trạm quan sát, số liệu về độ cao đo được tại một điểm Khi biểu hiện lên trên bản đồ, người ta dùng một chấm để thể hiện, kèm theo đó là màu sắc và các số liệu Những dữ liệu dạng này được gọi là dữ liệu điểm (point data) và GRASS có thêm một tên gọi khác là dữ liệu nơi chốn (site data) Loại dữ liệu này có thể
hiểu một cách nôm na là dữ liệu “không có hình thể”, tức là trong thực tế nó
không có hình dạng cụ thể và ta qui ước dùng một điểm để biểu diễn nó
Trang 39KHOA CNTT –
ĐH KHTN Hình 2 - 6 Minh họa dữ liệu điểm – POINT/SITE
2.7.2 Hệ thống tập tin site
Dữ liệu điểm được lưu trong các tập tin định dạng ASCII, gọi là các tập tin site hoặc tập tin danh sách (list file) Những tập tin này được xử lý bởi các mô-đun
xử lý dữ liệu nơi chốn (module sites) trong thư viện GRASS
Trường name : Dòng này chứa tên của file site, và được in trên tất cả các báo
cáo được tạo bởi module s.menu Chữ name phải được viết thường Dòng thông tin name này có thể được để trống vì s.menu sẽ tự động thêm tên mặc định là tên của file site
Trường desc : Dòng này chứa mô tả về file site, chữ desc buộc phải viết
thường Dòng thông tin này sẽ được in trên tất cả các báo cáo được tạo bởi module s.menu Nó có thể được bỏ qua, trong trường hợp này, file site sẽ không
có mô tả
Các trường point : Những dòng còn lại là những record point Mỗi site được
mô tả bởi một record point và cấu trúc của một record như sau east|north[|dim] |#cat %double [%double] @string [@string] hoặc mô tả về ngày giờ như sau :
Trang 40KHOA CNTT –
ĐH KHTN
Ví dụ :
name | sample desc | sample site list
728220 | 5182440 | #27 %1.34 %23.13 @"pH 7.1" 727060 | 5181710 | #28 %2.32 %22.21 @"pH 6.8" 725500 | 5184000 | #29 %4.73 %17.34 @"pH 5.5" 719800 | 5187200 | #30 %3.65 %27.79 @"pH 6.2"
Trong lệnh trên, có một chỉ thị rất LINUX/UNIX đó là “>” dùng để chuyển
nội dung vào một file
Hiện thị dữ liệu điểm