ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜNG ĐẠI HỌC CÔNG NGHỆ LÊ QUANG LỢI ỨNG DỤNG CÁC THUẬT TOÁN TÌM ĐƯỜNG ĐI TRONG HỆ THỐNG THÔNG TIN ĐỊA LÝ LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN HÀ NỘI - 2013... Tr
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÊ QUANG LỢI
ỨNG DỤNG CÁC THUẬT TOÁN TÌM ĐƯỜNG ĐI TRONG HỆ THỐNG THÔNG TIN ĐỊA LÝ
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
HÀ NỘI - 2013
Trang 2Trang 1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÊ QUANG LỢI
TÌM HIỂU CÁC THUẬT TOÁN TÌM ĐƯỜNG ĐI TRONG HỆ THỐNG THÔNG TIN ĐỊA LÝ
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60 48 05
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN HẢI CHÂU
HÀ NỘI - 2013
Trang 3Mục lục
Lời mở đầu 5
Chương 01: Giới thiệu bài toán tìm đường đi 7
1.1 Giới thiệu bài toán TSP 7
1.1.1 Bài toán TSP 7
1.1.2 Một số giải thuật giải quyết bài toán TSP 8
1.2 Giải thuật Genertic TSP 11
1.2.1 Giới thiệu giải thuật GA 11
1.2.2 Giải thuật GA TSP 14
1.3 Ứng dụng của TSP trong hệ thống thông tin địa 15
Chương 02: Hệ quản trị CSDL không gian 16
2.1 Hệ thống thông tin địa lý 16
2.1.1 Giới thiệu về hệ thống thông tin địa lý 16
2.1.2 Kiến trúc cơ bản một hệ thống thông tin địa lý 17
2.2 CSDL không gian PostGres và PostGIS 19
2.2.1 Giới thiệu 19
2.2.2 Kiến trúc PostGres 20
2.2.3 Kiểu dữ liệu không gian 21
2.2.4 Hàm hỗ trợ xử lý dữ liệu trong Gis 22
2.2.5 Truy vấn dữ liệu không gian 22
Chương 03: Thực nghiệm và kết quả 25
3.1 Các chương trình, module thực hiện bài toán 25
3.1.1 Giới thiệu module thực nghiệm bài toán 25
3.1.2 Cài đặt các module phục vụ bài toán TSP 30
3.2 Thực nghiệm với dữ liệu bản đồ OpenStreetMap 33
3.2.1 Dữ liệu OpenStreetMap 33
3.2.2 Thao tác dữ liệu OSM 34
3.2.3 Áp dụng các thuật toán TSP truy vấn dữ liệu OSM 35
3.3 Kết quả thực hiện 35
3.3.1 Xây dựng Dữ liệu Mẫu 35
3.3.2 Kết quả trên dữ liệu mẫu 38
Tài liệu tham khảo 40
Trang 4Trang 3Danh mục từ, từ viết tắt
Danh mục hình vẽ, biểu đồ
TT
Trang 5Lời cam đoan
Tôi xin cam đoan luận văn “ỨNG DỤNG CÁC THUẬT TOÁN TÌM ĐƯỜNG ĐITRONG HỆ THỐNG THÔNG TIN ĐỊA LÝ” được thực hiện của tác giả dưới sự hướngdẫn của thầy PGS.TS Nguyễn Hải Châu Toàn bộ nội dung được trình bày không hề có sựsao chép từ các luận văn khác Các kiến thức, hình ảnh, trích dẫn để được chỉ rõ nguồn tàiliệu tham khảo một cách cụ thể và rõ ràng
Nếu có nội dung nào trong luận văn vi phạm các quy định đề ra của nhà trường tôi xinhoàn toàn chịu trách nhiệm theo đúng các quy định đề ra
Hà nội, ngày … Tháng … năm 2013
Người cam đoan
Lê Quang Lợi
Trang 6Trang 5
Lời mở đầu
Luận văn “ỨNG DỤNG CÁC THUẬT TOÁN TÌM ĐƯỜNG ĐI TRONG HỆ THỐNGTHÔNG TIN ĐỊA LÝ” Được tác giả thực hiện dưới sự hướng dẫn của thầy hướng dẫnPGS.TS Nguyễn Hải Châu, giảng viên khoa Công nghệ Thông tin trường Đại học Côngnghệ - Đại học Quốc gia Hà nội Tác giả đã và giảng viên hướng dẫn thông qua các buổigặp mặt trực tiếp, trao đổi qua email đã thống nhất được một số phần thực hiện như sau
- Mục tiêu luận văn:Luận văn phải đạt
được o Tìm hiểu hệ thống thông tin địa
lý
o Tìm hiểu một số thuật toán tìm đường đi: TSP
o Triển khai dữ liệu mẫu cho phép thực nghiệm bài toán
- Cơ sở lý thuyết:
o Hệ thống thông tin địa lý: kiến trúc,tiền xử lý dữ liệu, biểu diễn dữ liệu, truy
vấn dữ liệu
o Cơ sở dữ liệu không gian
o Hệ quản trị CSDL PostGres, PostGIS,pgRouting
o Giải thuật: GA, Branch-Bound, Heuristic
- Thực nghiệm: Luận văn được thực nghiệm với dữ liệu mẫu
o Thiết lập môi trường triển khai CSDL PostGres và các thư viện mở rộng như
PostGIS, pgRouting, osm2pgrouting
… o Dữ liệu mẫu OSM
o Xây dựng dữ liệu mẫu cho bài toán TSP
o Thực thi truy vấn dữ liệu với hàm pgr_TSP trong pgRouting
- Các nội dung được trình bày trong cuốn báo cáo luận
văn o Chương 01: Bài toán tìm đường đi (TSP)
Sau một thời triển khai luận văn tác giả đã hoàn thành được các hạng mục đã thống nhấtvới giảng viên hướng dẫn với kết quả tốt và đúng tiến độ đề ra
Trang 7Tóm tắt kết quả đạt được của luận văn
- Về Cơ sở lý thuyết: Luận văn đã thực hiện
o Tìm hiểu được các nội dung cơ sở lý thuyết theo mục tiêu đề ra và phần lý thuyết do Giảng viên hướng dẫn giao phó.
o Xây dựng cuốn báo cáo toàn văn và cuốn báo cáo tóm tắt luận văn
- Về Thực nghiệm: Luận văn đã thực hiện được
Cài đặt thành công các thư việc xây dựng nên môi trường của một hệ thống thông tin địa địa lý cho thực nghiệm bài toán
Cấu hình CSDL cho phép triển khai dữ liệu mẫu
Thực nghiệm thành công các hàm cài đặt bài toán TSP trong thư viện pgRouting
Xây dựng được ứng dụng web nhỏ cho truy vấn dữ liệu mẫu
Trang 8Trang 7
Chương 01: Giới thiệu bài toán tìm đường đi 1.1 Giới thiệu bài toán TSP
1.1.1 Bài toán TSP
Traveling Salesman Problem (TSP): Dựa trên công việc của nhân viên giao hàng
Anh ta xuất phát từ cửa hàng tới các điểm giao hàng (thành phố), mỗi thành phố chỉ đượcphép đi qua một lần và quay trở lại thành phố xuất phát Anh ta sẽ phải tìm ra đường đi đểtổng chiều dài tới các thành phố là nhỏ nhất
- Phát biểu bài toán TSP [2]: Cho đồ thị trọng số G = (V, E), trong đó trọng số Cij
(cung nối giữa điểm i với điểm j) là một số không âm Tìm ra đường đi tới toàn bộ các
node còn lại với tổng chi phí là nhỏ nhất.
- Giải thuật hình thức giải quyết bài toán TSP
Input: n node mảng giá trị trọng số c(i,j) i, j=1, n /* Bắt đầu với node 1*/
Output: tập vector của các node và tập tổng chi phí tương ứng.
/* khởi đầu các giá trị */
C=0; cost=0 ; visits=0; e=1; /* e = vị trí thăm node 1*/
for r = 1 to n-1 do{ /* tính chi phí */
chọn node j với
minimum = c(e,j) = min(c(e,k); visits(k) = 0 và k = 1, ,n);
cost = cost+ minimum; e = j; C(r) = j
}
C(n)=1; cost=cost+ c(e,1);
Bài toán TSP được xếp vào lớp bài toán tối ưu và độ phức tạp nằm trong lớp các bài toánNP-hard [1] Với giải thuật thông thường thì có N! trường hợp tìm kiếm và độ phức tạptương ứng O(N!)
- Một số ứng dụng: TSP là một bài toán được xếp vào trong lớp bài toán tìm kiếmtối ưu Bài toán được ứng dụng trong nhiều lĩnh vực, khi gặp bài toán có phát biểu tương
tự Bài toán có thể giải quyết các vấn đề như lập lịch, tìm đường đi trong bản đồ, thiết kế mạch điện tử, bài toán nhân viên đi giao hàng …
Trang 91.1.2 Một số giải thuật giải quyết bài toán TSP
a) Các thuật toán cơ bản giải quyết TSP:
- Thuật toán Branch-Bound [3]: Duyệt đồ thị theo chiều sâu (đi theo một nhánh),chuyển nhánh mới khi gặp trường hợp giải quyết bài toán hoặc vượt giá trị ngưỡng (cận).Luôn duy trì đường đi ngắn nhất và chỉ cập nhật khi tìm ra trường hợp giải quyết(đường
đi có chi phí thấp hơn) có đường đi tốt hơn
Tìm k-1 khả năng để thêm k cho tất cả vị trí có thể có trong tour
Trong tất cả các tour tìm ra một tour sao cho độ dài < B hiện tại
Search(k+1,T(k)); /*tìm nhánh mới*/
}
Bản chất của thuật toán Branch-Bound là chuyển tìm kiếm trên đồ thị thành việctìm kiếm theo nhánh dựa trên cây tìm kiếm (Branch), với phương pháp tìm kiếm theo độsâu (bound) nhất định Mỗi một nhánh là một trường hợp giải quyết bài toán Nếu vượtquá ngưỡng hoặc tìm thấy lời giải cho bài toán thì chuyển sang nhánh mới Việc xây dựnghàm đánh giá độ sâu quyết định đến thời điềm dừng thuật toán hoặc chuyển sang nhánhmới để tìm lời giải tiếp theo Từng bài toán cụ thể có thể cài đặt hàm đánh giá Khi xâydựng cần phải kiểm soát được độ sâu trong quá trình tìm kiếm Nếu không kiểm soátđược hoặc để độ sâu không hợp lý sẽ làm cho thuật toán có lời giải kém hiệu quả, thậm trí
là không thể tìm ra được lời giải Nếu để độ sâu lớn thì có nghĩa làm việc tìm kiếm sẽ cóchi phí tốn kém hơn như bùng nổ không gian bộ nhớ hoặc tăng các thao tác tính toán khithực hiện theo nhánh hiện tại Thông thường các thuật toán tìm theo độ sâu được cài đặt
dễ nhất bằng chiếm lược dùng đệ qui
Trang 10Trang 9
- Thuật toán Heuristic: với ý tưởng cơ bản là tìm kiếm một lời giải tối ưu hơn
theo các lời giải trước Thông thường mỗi một giải thuật thường đi kèm với hàm đánh giá
hàm Huristic cho biết thuật toán có thể dừng và đánh giá là tốt hơn hay không Với mỗitrường hợp cụ thể thì việc xây dựng hàm Huristic dựa trên các đối và lựa chọn các hằng
số sẽ hướng việc đánh giá cho chiến lược tốt hơn, thậm trí làm tăng hiệu quả thuật toán
Giải thuật được dựa trên chiến lược cụ thể với hàm kinh nghiệm (heuristic).Heuristic có nhiều giải thuật Ở đây tác giả cung cấp giải thuật Nearest NeighborAlgorithm [1] để minh họa giải thuật Heuristic:
Chọn điểm j sao cho
minimum = c (e, j) = min{c (e, k); visits (k) = 0 và 1 ≤ k ≤ n }
cost ← cost + minimum – cost;
Trang 11Giải thuật: Nearest Neighbor Algorithm cho phép cài đặt bài toán TSP
Giải thuật cố gắng bổ xung một node mới vào trong tập các node hiện tại sao cho
đường đi tới nó là nhỏ nhất, sau đó kiểm tra tập node mới tạo ra có phải là một lời giài( kết
quả) hay không Nếu không phải thì tiếp tục bổ sung node mới (node này chưa được bổ
sung) Thuật toán chỉ dừng khi hết node được bổ xung hoặc đã tìm ra lời giải Thao tác quan
trọng là tìm ra node được bổ sung với đường đi tới nó là nhỏ nhất Với bước đầu để tìm ra
node này sẽ gặp khó khăn với số lượng lớn các node chưa được bổ sung
Bước 1 Bắt đầu với vector trọng số trong đồ thị G
Bước 2 Thêm node mới với đường đi tới nó là nhỏ nhất (cung) và node này chưa
được thêm
Bước 3 Tiếp tục bước 02 cho tới khi có chu trình Hamilton.
-Thuật toán GA: là một trong các thuật toán được cài đặt và giải quyết bài toán TSP một
các rất hiệu quả Với độ phức tạp thời gian và lưu trữ chấp nhận được GA dựa trên ý
tưởng tiến hóa tự nhiên Cho phép giải quyết bài toán TSP GA được trình bày cụ thể
trong phần 1.2 của chương này
b) So sánh giữa các thuật toán
Một số giải thuật giải quyết bài toán TSP với độ phức tạp thuật toán tương ứng được trình
Trang 131.2 Giải thuật Genertic TSP
1.2.1 Giới thiệu giải thuật GA
- Giới thiệu: Thuật toán GA (Genetic Algorithm) được ra dựa trên học tuyết tiến
hóa của Charles Darwin Theo thuyết này con sinh ra được thừa hưởng các ưu điểm (gen)vượt trội của cha và mẹ
- Ý tưởng: Dựa trên tập dân số cha mẹ Tiến hành lai tạo hai cá thể cha mẹ theogen để tạo ra thế hệ mới (đột biến) Thay thế thế hệ mới cho cha và mẹ nếu có đặc tính tốthơn cha mẹ, lặp lại quá trình lai tạo cho tới khi tìm ra tập dân số hoàn toàn mới Đột biến thể hiện thế hệ sau tốt hơn thế hệ trước
- Thuật toán: [2]
B1[initial] Tạo ra dân số ngẫu nhiên của n nhiễm sắc thể.
B2 [Huấn luyện/fitness] Đánh giá hàm huấn luyện f(x) cho mỗi nhiễm sắc thể X cho tập
dân số
B3 [Tạo dân số mới] Tạo tập dân số mới bằng các lặp đi lặp lại các bước sao cho tạo ra
tập dân số hoàn toàn mới
B3.1 [Lựa chọn/Selection] Chọn hai nhiễm sắc thể từ nhiễn sắc thể cha/mẹ từ tập
dân số với f(x) (Thể lực tốt hơn, cơ hội lựa chọn cao hơn)
B3.2 [Chéo hóa/Crossover] Chéo hóa nhiễn sắc thể từ cha mẹ để tạo ra con mới
Nếu chéo hóa không được thực hiện thì con sẽ được sao y hệt đặc tính cha mẹ.
B3.3 [Đột biến/mutivation] xác xuất đột biến khi con được sinh ra (Tại vị trí nhiễn
sắc thể x).
B3.4 [Chấp nhận/acception] Đặt con mới vào tập dân số mới
B4 [Thay thế/Replation] Sử dụng dân số mới cho hoạt động tiếp theo của thuật toán B5 [Thử] Nếu điều kiện cuối cùng là hài lòng, dừng lại, quay trở lại với giải thuật tốt nhất
cho dân số hiện tại
B6 [Lặp lại] trở lại bước B2
Trang 14+) Chéo hóa đơn: thể hiện phân tích Gen cha/mẹ thành 2 thành phần (đầu, cuối).
Thực hiện chéo hóa nối phần đầu của cha với phần đầu của mẹ và ngược lại sinh ra 2 conmới
Kết quả chép hóa phụ thuộc vào vị trí x trong chuỗi Gen của cha và của mẹ Vị tríthích hợp thì xác xuất xảy ra đột biến tốt sẽ nhiều hơn
Ví dụ về chéo hóa đơn: trong ví dụ (xem hình 2.1) tác giả sử dụng chuỗi các bit nhị phân
để mã hóa các gen của cá thể cha/mẹ thực hiện chéo hóa
Hình 2.1:Chéo hóa đơn
+) Chéo hóa bội: thực hiện chia Gen cha/mẹ thành nhiều thành phần hơn (từ 3
phần riêng biệt trở nên), ví dụ ( xem hình 2.2) Chéo hóa thực hiện thao tác tương tự nhưchéo hóa đơn là tuần tự lấy thành phần gen của cha nối với thành phần tiếp theo là gencủa mẹ ghép lại để tạo ra con chung có đặc tính tốt hơn cha mẹ Hiệu quả của chéo hóa
Trang 15bội phụ thuộc chia số lượng các thành phần chéo hóa và vị trí chéo hóa Nếu số thànhphần càng lớn thì tạo con chung càng lớn và như vậy thao tác chéo hóa sẽ diễn ra vớinhiều thao tác hơn mới có thể kết thúc.
Hình 2.2: Chéo hóa bội
- Tính xác xuất đột biến: xây dựng hàm tính toán để xác định con chung sau khi
chéo hóa có đặc tính tốt hơn( trường hợp tốt hơn) để lựa chọn vào thay thế cha/mẹ trongtập dân số ban đầu Tiến trình thao tác đột biến sẽ thực hiện ngay sau tiến trình chéo hóa.Việc xây dựng thao tác đột biến cần phải chú ý tới các yêu cầu nhỏ như
+) Trong quá trình chạy cho phép đạt tới bất kỳ điểm mong muốn nào
+) Kiểm soát được kích thước nhiễn sắc thể và số lượng đem chéo hóa
+) Kiểm tra sự hợp lệ của gen: Gen được tạo thành phải được kết hợp từ gen cha/mẹ và có độ dài bằng độ dài cha mẹ
+) Xác suất đột biến phải được chạy từ mức thấp
b) Các thao tác phụ
- Biểu diễn tập dân số: Dựa trên các đặc tính cha mẹ sẽ đưa ra phương pháp biểu
diễn nhằm thuận tiện cho quá trình lựa chọn, lai tạo có kết quả tốt Có thể biểu diễn dân
số theo các phương pháp dùng chuỗi nhị phân, các số nguyên hoặc chuỗi ký tự để biểudiễn
- Lựa chọn: lấy cặp cá thể cha mẹ ngẫu nhiên thực hiện thao tác lai tạo (chéo
Trang 16về kích thước các node (vài nghìn node) và thời gian tìm ra kết quả chỉ mất vài phút Độphức tạp của GA khi cài đặt TSP chỉ là hàm đa thức.
- Ý tưởng: Dựa trên sự lựa chọn các tuyến đường ngẫu nhiên Lấy ra hai tuyếnđường ngẫu nhiên và tiến hành chéo hóa sẽ có thể tạo ra tuyến đường mới (đột biến) tốthơn Nếu có có kết quả tốt hơn thì thực hiện thay thế tuyến đường cũ bằng tuyến đườngmới
- Thuật toán: [2]
Bước 01: Tạo lập các tuyến đường ngẫu nhiên (mỗi tuyến một chuỗi các node),
tạo ma trận giá trị đường đi từ thành phố i tớ thành phố j.
Bước 02: Tạo hàm huấn luyện f(x) = 1/x giá trị hàm này là tiêu trí X là tổng
chi phí đường đi tới thành phố xác định Tính các tiêu trí phụ thuộc vào giá trịcủa đường đi nếu nó gần với một giá trị ngưỡng
Bước 3: Tạo ra tập đường đi mới từ hai hai đường đi ngẫu nhiên (tập cha mẹ)
qua thao tác chéo hóa
Bước 4: Đưa ra tập mới nếu cần thiết Tập này được cho là ưu việt hơn từ
tập cũ, và có mặt của phần tử đột biến.
Bước 5: Lặp lại Bước 3 và Bước 4 cho tới khi gặp một giải pháp mới tốt hơn.
Các thao tác trong thuật toán GA TSP
+ Tạo lập tập các tuyến đường ngẫu nhiên: thực hiện xây dựng các tuyến đường
ngẫu nhiên tới các node
Trang 17+ Chéo hóa: Thực hiện lấy ra hai tuyến đường trong tập các tuyết đường ngẫu
nhiên.Coi các tuyến đường này như một Gen Sau đó thực hiện thao tác chéo hóagiữa hai tuyến đường để tạo ra các tuyến đường mới từ hai tuyến đường ngẫunhiên ở trên
+ Tính toán đột biến: Sau khi thực hiện chéo hóa xong Tính lại độ dài đường đi
và thực hiện thay thế nếu có đường đi ngắn hơn
1.3 Ứng dụng của TSP trong hệ thống thông tin địa
Trong thệ thống thông tin địa lý cụ thể là ứng dụng giải quyết một số bài toán liên quanđến bản đồ Bài toán TSP cho phép tìm ra đường đi (tour) tối ưu giữa các các điểm đượcđánh dấu trên bản đồ Có thể kể ra các bài toán có thể giải quyết
- Tìm lộ trình ngắn nhất giữa các nơi giao hàng trên bản đồ cho nhân viên đi giao hàng với chi phí (theo khoảng cách) là nhỏ nhất
- Tìm ra lộ trình cho các tuyến xe bus trong một thàng phố
- Tìm ra lộ trình lái xe cho các lái xe qua các điểm giao thông
Trang 18Trang 16
Chương 02: Hệ quản trị CSDL không gian 2.1 Hệ thống thông tin địa lý
2.1.1 Giới thiệu về hệ thống thông tin địa lý
- Hệ thống thông tin: là một thệ thống bao gồm phần cứng, phần mềm và mạng
máy tính được tổ chức theo kiến trúc nhất định nhằm giải quyết một vấn đề cụ thể một cách hiệu quả Một hệ thống tin có thể bao gồm thêm yếu tố con người thao tác trên hệ
thống Một số hệ thống thông tin thể hiện về bản đồ địa lý, địa chất, không gian …
Đặc điểm hệ thống thông tin:
o Hệ thống thường lớn về khả năng tính toán, lưu trữ, xử lý, khả năng đáp ứng nhanh, có thể mở rộng kiến trúc
o Thiết các thành phần đặc thù: phần cứng, phần mềm
o Giải quyết, đáp ứng các bài toán cụ thể
- Ứng dụng hệ thống thông tin địa lý (Geomtry information system viết tắt
GIS): hệ
thống thông tin được thiết lập cho phép thu thập, tiền xử lý, tổ chức, lưu trữ, đảm bảo,truy vấn dữ liệu … liên quan đến dữ liệu địa lý toàn cầu Thông tin về địa lý có thể baogồm các thông tin về vị trí, địa hình, định vị (vệ tinh), bản đồ, thời tiết, rừng, biển, đất,sông ngòi …
+ Thu thập: cho phép phát hiện, thu nhận các thông tin dạng thô
+ Tiền xử lý: Các bước loại bỏ dữ liệu không cần thiết, trùng lặp, thông tin/dữ liệu sai
+ Tổ chức: Các thao tác tổ chức thông tin chưa có cấu trúc thành các thông tin lưu trữ
có cấu trúc Các thông tin này được lưu trữ trong cơ sở dữ liệu (CSDL)
+ Đảm bảo: Thực hiện các thao tác nhằm mục đích dữ liệu luôn sẵn sàng Phục vụ các thao tác khác một cách chính xác, kịp thời, nhanh chóng
Trang 192.1.2 Kiến trúc cơ bản một hệ thống thông tin địa lý
Một thệ thống thông tin địa lý cơ bản bao gồm khối (xem trong hình 2.1)
- Kkối server: Lưu trữ, tổ chức, thực thi, cung cấp giao diện (interface) cho các
khối khác Khối trung tâm chứa dữ liệu, chứa module phần mềm xử lý dữ liệu GIS Khốinày được xây dựng thành các dịch vụ nhằm mục đích hỗ trợ các tương tác phía ngườidùng theo từng mục đích Nhiện vụ chính để xử lý dữ liệu cỡ lớn và các thao tác nội tại
- Khối Client: Giao diện trực quan hỗ trự người dùng thao tác với server Khối này
được xây dựng trên nền tảng ứng dụng winform hoặc webform Nhiệm vụ chủ yếu hiểnthị giao diện biểu diễn thông tin, hỗ trợ thao tác của người dùng tới khối server
- Khối Mobile: Cho phép truy cập trên nền tảng mobile Khối cho phép xây dựng
các ứng dụng Mobile với tài nguyên hạn chế Cho phép tương tác hệ thống với các tiệních di động
Hình 2.3 Kiến trúc hệ thống thông tin địa lý
Trang 20Trang 18
2.1.3 Bản đồ
- Bản đồ (map): thể hiện đối tượng dữ liệu được biểu diễn một cách trực quan
thông qua vị trí của đối tượng Các đối tượng luôn chứa các thông tin của nó và thông tin
về vị trí Các phầm mềm hiển thị dữ liệu bản đồ cung cấp giao diện trực quan bằng hìnhảnh để biểu diễn dữ liệu như GoogleMap, BingMap, YahooMap…
- Dữ liệu bản đồ: là dữ liệu được tích hợp từ nhiều loại dữ liệu khác nhau Để
lưu
trữ người ta xếp dữ liệu cùng mục đích vào cùng một layer (tầng dữ liệu) Hình 2.2 Mô tả biểu diễn dữ liệu bản đồ được theo các layer
Hình 2.4: Layer cơ bản trong dữ liệu bản đồ
o Realworld: bản đồ thật Sự kết hợp của các layer khác
o Land: bản đồ thể hiện dữ liệu về đất đai và vùng miền theo biên giới
o Elevation: thể hiện vùng đất cao thấp theo độ cao
o Parcels: thể hiện bản đồ theo lô đất/ vùng đất
o Stresst: thể hiện đường đi trên bản đồ
Trang 212.2 CSDL không gian PostGres và PostGIS
cụ thể, trong luận văn là hệ trục tọa độc cực OXY b) Hệ quản trị CSDL không gian
Hệ quản trị CSDL không gian là hệ quản trị CSDL cho phép tổ chức, lưu trữ, xử lý, truyvấn, đảm bảo… CSDL không gian
- PostGres là hệ quản trị CSDL quan hệ, hướng đối tượng Dùng bảng để lưu trữ
đối tượng dữ liệu không gian Đối tượng cho phép định nghĩa kế thừa
- PostGis: thư viện mở rộng dựa trên PostGres, bao gồm các hàm thư viện chuyênthao tác với dữ liệu GIS Các hàm cho phép tổ chức, trích rút, chuyển đổi, truy vấn,… dữliệu không gian