Thư Mục SRC\ LIBES
i) Cấu trúc
- Grass đã xây dựng một bộ thư viện nền để làm nền tảng cơ sở cho việc phát triển tiếp sau này, cĩ thể nĩi đây là phần cốt lõi (kernel) của GRASS, bộ thư viện này nằm trong thư mục:
SRC\LIBES\
- Bộ thư viện này bao gồm tập hợp các thư viện chắnh sau:
Tên Thư Viện Ý Nghĩa
SRC\LIBES\GIS\ GIS LIB: Thư viện trung tâm xử lý GIS. Module này bao gồm các hàm phân tắch, tắnh tốn cần thiết của GIS.
Các hàm thuộc thư viện này thường cĩ tiếp đầu ngữ là G_xxx
Vắ dụ: G_GisInit(Ầ), G_Parser(..)
SRC\LIBES\DISPLAY\ DISPLAY LIB: Thư viện các hàm xử lý tương tác với driver đồ hoạ (XWindow).
Các hàm trong Display thường cĩ tiền tố là D_xxx
Vắ dụ: D_new_window(Ầ), D_clear(Ầ)
SRC\LIBES\RASTER\ RASTER LIB: Thư viện các hàm xử lý tương tác với driver đồ hoạ (XWindow). Giống với thư viện Display, nhưng ở mức thấp hơn. (được các hàm
KHOA CNTT Ờ
ĐH KHTN
của Display gọi lại )
Các hàm trong Raster thường cĩ tiền tố là R_xxx
Vắ dụ: R_Pad_Create(Ầ), R_Polygon_rel(...)
SRC\LIBES\BITMAP\ Thư viện chứa các xử lý Bitmap
SRC\LIBES\BTREE\ Thư viện chứa các xử lý trên cây nhị phân
SRC\LIBES\D\ Thư viện chứa các hàm Display mở rộng
SRC\LIBES\DATETIME\ Thư viện ngày giờ Ầ
SRC\LIBES\DBMI\ Bộ thư viện dùng cho việc kết nối và xử lý trên Database
SRC\LIBES\DIG_ATTS\ Bộ thư viện dùng để đọc và ghi vào file cĩ dạng thuộc tắnh (attribute files format)
SRC\LIBES\DIGITIZER\ Ầ
SRC\LIBES\G3D\ Thư viện chứa các xử lý Graphics 3D
SRC\LIBES\GMATH\ Thư viện chứa các hàm tắnh tốn Ộtốn họcỢ.
SRC\LIBES\IBTREE\ Bộ thư viện về khác về BTREE
ẦẦ.. Ầcịn nhiều nữa.
KHOA CNTT Ờ
ĐH KHTN
Chú ý là các bộ thư viện trên đan xen lẫn nhau, thư viện này gọi thư viện khác để cài đặt, người sử dụng khơng nên quan tâm đến cài đặt bên trong mà chỉ quan tâm đến các hàm mơ tả trong file .h
- Sử dụng bộ thư viện LIBES bằng cách #include các file .h trong thư mục
SRC\INCLUDE\
Vắ dụ:
Để sử dụng các hàm do GIS cung cấp (thư viện GIS LIB), ta chỉ cần khai báo #include Ộgis.hỢ
Để sử dụng các hàm vẽ được cung cấp bởi thư viện DISPLAY LIB, ta khai báo #include Ộdisplay.hỢ
ii) Các vấn đề khi convert libes
- Đây là bộ thư viện trung tâm chỉ để dùng trong xử lý, tắnh tốn, phân tắch, thuật tốn, nên việc convert phải được thực hiện chắnh xác. Các vấn đề ở đây là khi convert, chúng ta gặp phải một số thư viện khơng tồn tại trên Win32, chẳng hạn như unistd.h, pwd.h, Ầ. , đối với các thư viện này thì chúng em cĩ thể tìm hiểu ý nghĩa của chúng để thay thế lại bởi các hàm trong thư viện này bởi các hàm tương ứng bên Windows. Duy đặc biệt cĩ 2 thư viện là
ZLIB (<zlib.h>) và RPC ( <rpc/types.h>, <rpc/xdr.h>) hồn tồn khơng cĩ các hàm tương
ứng bên Window để thay thế, vì thế, chúng em phải bỏ cơng sức để tìm kiếm source code cho 2 bộ thư viện trên, và một dự án open source đang phát triển trên Net khác đã giúp chúng em đạt được kết quả.