1. Trang chủ
  2. » Luận Văn - Báo Cáo

thuật toán tìm đường đi tối ưu trong gis

83 1,3K 5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 83
Dung lượng 2,96 MB

Nội dung

Thuật toán tìm đường đi tối ưu trong GIS, hiện nay đang được triển khai rộng rãi trong các ứng dụng quan trọng trên thực tế như lập kế hoạch vận chuyển, điều khiển giao thông,… Trên đây

Trang 1

§¹i häc Th¸i Nguyªn Khoa c«ng nghÖ th«ng tin

Trang 2

§¹i häc Th¸i Nguyªn Khoa c«ng nghÖ th«ng tin

Ph¹m ThÞ H»ng Nga

ThuËt to¸n t×m ®­êng ®i tèi ­u trong gis

Chuyªn ngµnh: Khoa häc m¸y tÝnh

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan bản luận văn “Thuật toán tìm đường đi tối ưu trong GIS” là công trình nghiên cứu của tôi dưới sự hướng dẫn khoa học của PGS.TS Đặng Văn Đức, tham khảo các nguồn tài liệu đã được chỉ rõ trong trích dẫn và danh mục tài liệu tham khảo Các nội dung công bố và kết quả trình bày trong luận văn này là trung thực và chưa từng được ai công bố trong bất cứ công trình nào

Thái Nguyên, tháng 10 năm 2010

Phạm Thị Hằng Nga

Trang 4

Lời cảm ơn

Tôi xin gửi lời cảm ơn sâu sắc tới PGS TS Đặng Văn Đức, người đã tận tình

có những chỉ bảo cần thiết để giúp đỡ tôi trong suốt quá trình nghiên cứu và phát triển luận văn

Xin chân thành cảm ơn quý Thầy cô trong khoa Sau đại học trường Đại học Thái Nguyên đã nhiệt tình giảng dạy, trang bị cho tôi những kiến thức quý báu trong suốt thời gian học tập tại trường

Xin chân thành cảm ơn các bạn cùng lớp, đồng nghiệp và đơn vị nơi tôi công tác đã tạo điều kiện cho tôi hoàn thành luận văn này

Xin gửi lời cảm ơn tới gia đình tôi đã động viên tôi trong suốt quá trình học

và hoàn thành luận văn

Trang 5

MỤC LỤC

LỜI CAM ĐOAN i

MỞ ĐẦU 1

CHƯƠNG 1 - TỔNG QUAN VỀ GIS 4

1.1 Định nghĩa, các thành phần, chức năng GIS 4

1.1.1 Định nghĩa 4

1.1.2 Các thành phần 9

1.1.3 Chức năng của Gis 12

1.2 Cấu trúc dữ liệu không gian véctơ và các thuật toán liên quan 14

1.2.1 Các thành phần dữ liệu 14

1.2.2 Các phép toán phân tích không gian trên mô hình Vector 18

1.3 Các ứng dụng GIS 22

CHƯƠNG 2 – MỘT SỐ THUẬT TOÁN TÌM ĐƯỜNG ĐI TỐI ƯU ỨNG DỤNG TRONG GIS 24

2.1 Một số thuật toán cơ sở: Disktra, Floy, A* 24

2.1.1 Phát biểu bài toán 24

2.1.2 Thuật toán Dijkstra 25

2.1.3 Thuật toán Bellman-Ford 34

2.1.4 Thuật toán A* 37

2.2 Ứng dụng logíc mờ trong tìm đường đi tối ưu 46

2.2.1 Giới thiệu Logic mờ 46

2.2.2 Ứng dụng logic mờ trong tìm đường đi tối ưu 50

2.3 Nhận xét đánh giá 53

CHƯƠNG 3 – PHÁT TRIỂN CHƯƠNG TRÌNH THỬ NGHIỆM 56

3.1 Giới thiệu bài toán tìm đường đi tối ưu 56

3.1.1 Lý do xây dựng chương trình 56

Trang 6

3.1.2 Mục tiêu, nhiệm vụ của chương trình 56

3.2 Các công nghệ sử dụng 57

3.2.1 MapInfo Professional 57

3.2.2 Thư viện hỗ trợ xây dựng ứng dụng bản đồ MapXtreme 60

3.2.3 Hệ quản trị cơ sở dữ liệu Access 64

3.2.4 Ngôn ngữ lập trình Microsoft Visual C#.NET 64

3.3 Thiết kế, lập trình hệ thống demo 65

3.3.1 Thiết kế 65

3.3.2 Lập trình demo 67

3.4 Đánh giá kết quả thu được 72

KẾT LUẬN 73

HƯỚNG PHÁT TRIỂN 74

TÀI LIỆU THAM KHẢO 75

Trang 7

DANH MỤC HÌNH VẼ

Hình 1.1 Hệ thống thông tin tin địa lý 6

Hình 1.2 Tầng bản đồ 7

Hình1.3 Các hoạt động chính của GIS 8

Hình 1.4 Các thành phần của GIS 9

Hình 1.5 Phần cứng GIS 11

Hình 1.6 Phần mềm của GIS 12

Hình 1.7 Các nhóm chức năng trong GIS 13

Hình 1.8 Các thành phần hình học cơ sở 14

Hình 1.9: Số liệu vector được biểu thị dưới dạng điểm (Point) 15

Hình 1.10: Số liệu vector được biểu thị dưới dạng Arc 16

Hình 1.11: Số liệu vector được biểu thị dưới dạng vùng (Polygon) 17

Hình 1.12 Một số khái niệm trong cấu trúc cơ sở dữ liệu bản đồ 17

Hình 1.13 Phép toán Buffer 18

Hình 1.14 Phép toán Difference 18

Hình 1.15 Phép toán Clip 19

Hình 1.16 Phép toán Intersect 19

Hình 1.17 Phép toán Convex hull 19

Hình 1.18 Phép toán Symmetric difference 20

Hình 1.19 Phép toán cut 20

Hình 2.1 Đồ thị minh họa thuật toán Dijkstra 28

Hình 2.2 Đồ thị minh họa thuật toán Bellman-Ford 35

Hình 2.3: Minh hoạ phép toán hợp trên tập mờ 50

Hình 2.4: Minh hoạ phép toán giao trên tập mờ 50

Hình 2.5: Đồ thị mờ G minh hoạ thuật toán FSA 51

Hình 2.6: Các đường đi mờ ngắn nhất của đồ thị mờ G 53

Trang 8

Hình 3.1 Sơ đồ phân cấp chức năng 65

Hình 3.2 Bảng dữ liệu 66

Hình 3.3 Giao diện tìm kiếm đường đi ngắn nhất 71

Hình 3.4 Giao diện kết quả tìm kiếm 72

Trang 9

MỞ ĐẦU

Từ xa xưa, thông tin địa lý đã là nhu cầu cần thiết của mọi người trong mọi sinh hoạt hàng ngày tại những vị trí khác nhau Mỗi người trong xã hội luôn luôn có nhu cầu cần biết về thế giới thực xung quanh mình Con người muốn được hiểu biết về các thực thể, các sự kiện, các hiện tượng như thế nào, xảy ra ở đâu, xảy ra khi nào, và tại sao như vậy Ở quy mô rộng lớn hơn, những nhà lãnh đạo một địa phương, một quốc gia, một khu vực luôn luôn cần có thông tin địa lý một cách đầy đủ, chính xác, kịp thời để ra những quyết sách đúng đắn, phù hợp lòng dân, làm cho địa phương, quốc gia ngày càng phát triển Những nhà quân sự cần có thông tin địa lý để có những phương án chiến lược, chiến thuật bảo vệ lãnh thổ Những nhà đầu tư cần thông tin địa lý

để tính toán những khả năng và hiệu quả đầu tư, những nhà kinh doanh cần có thông tin địa lý để qui hoạch chiến lược thị trường, làm cho hàng hóa được tiêu thụ nhanh chóng Những nhà quản lý công trình giao thông đô thị cần thông tin địa lý để cơ cấu lại phương tiện giao thông công cộng theo hướng giảm ách tắc giao thông, tiết kiệm nhiên liệu, giảm ô nhiễm môi trường,…

Ngày nay, với sự phát triển của công nghệ thông tin, đặc biệt là từ khi xuất hiện ngành đồ họa vi tính cũng như sự gia tăng vượt bậc những khả năng phần cứng, hệ thống thông tin địa lý (GIS) đã ra đời và phát triển nhanh chóng cả về mặt công nghệ cũng như ứng dụng Hệ thống thông tin địa lý đã chứng tỏ khả năng ưu việt hơn hẳn các hệ thông tin bản đồ truyền thống nhờ vào khả năng tích hợp thông tin mật độ cao, cập nhật thông tin dễ dàng cũng như khả năng phân tích, tính toán của nó Do đó, hệ thống thông tin địa lý đã nhanh chóng trở thành một công cụ trợ giúp quyết định cho tất cả các ngành

từ quy hoạch đến quản lý, tất cả các lĩnh vực từ tài nguyên thiên nhiên, môi trường, đất đai, hạ tầng kỹ thuật đến xã hội nhân văn Có thể nói ngày nay

Trang 10

không có lĩnh vực nào không có hoặc không thể ứng dụng công nghệ GIS Cũng chính vì thế, công nghệ thông tin địa lý (công nghệ GIS) được tiếp cận

từ nhiều hướng khác nhau và do đó cũng có nhiều định nghĩa khác nhau về GIS

Thuật toán tìm đường đi tối ưu trong GIS, hiện nay đang được triển khai rộng rãi trong các ứng dụng quan trọng trên thực tế như lập kế hoạch vận chuyển, điều khiển giao thông,…

Trên đây đã điểm qua tầm quan trọng của hệ thông tin địa lý, đặc biệt là thuật toán tìm đường đi tối ưu trong Gis đã cho ta thấy rõ tính cần thiết cũng như tính thời sự của vấn đề, đồng thời có ý nghĩa khoa học và thực tiễn Vì

thế, tôi đã thực hiện đề tài luận văn: “Thuật toán tìm đường đi tối ưu trong Gis”

Mục tiêu đề tài là tìm hiểu các thuật toán áp dụng trong đồ thị Đề tài cũng bước đầu xây dựng một chương trình tìm kiếm đường đi tối ưu giúp cho những người tham gia giao thông, hay khách du lịch ở thành phố Hải Phòng chọn được hướng đường đi tối ưu nhất, nhằm tiết kiệm thời gian và công sức

Bố cục của luận văn bao gồm phần mở đầu, phần kết luận và ba chương nội dung được tổ chức như sau:

Chương 1: Tổng quan về GIS

Chương này trình bày tổng quan về hệ thống thông tin địa lý bao gồm các thành phần, chức năng và các ứng dụng của GIS Hơn nữa, đề cập đến một số vấn đề về cấu trúc dữ liệu không gian vectơ và các thuật toán liên quan…

Chương 2: Một số thuật toán tìm kiếm đường đi tối ưu ứng dụng trong GIS

Trang 11

Trong chương này tập trung vào một số thuật toán tìm đường đi ngắn nhất trong đồ thị như thuật toán Dijkstra, thuật toán A*, thuật toán Floyd,…

Chương 3: Phát triển chương trình thử nghiệm

Trong chương này phát triển ứng dụng về thuật toán tìm đường đi tối

ưu trong thực tế Cụ thể là cài đặt và thử nghiệm với thuật toán Floyd để tìm kiếm đường đi có khoảng cách ngắn nhất giữa các điểm đường trên đồ thị của thành phố Hải Phòng

Xây dựng chương trình dựa trên cơ sở dữ liệu đã tạo trên MapInfo, với công cụ lập trình là Visual C#.NET và MapXtreme Thiết kế, đặc tả chức năng, cách thức lập trình, cài đặt và thử nghiệm, giao diện chương trình

Trang 12

CHƯƠNG 1 - TỔNG QUAN VỀ GIS

Hệ Thông tin địa lý - GIS (Geographical Information System) là một công cụ máy tính để lập bản đồ và phân tích các sự vật, hiện tượng thực trên trái đất Công nghệ GIS kết hợp các thao tác cơ sở dữ liệu thông thường (như cấu trúc hỏi đáp) và các phép phân tích thống kê, phân tích địa lý, trong đó phép phân tích địa lý và hình ảnh được cung cấp duy nhất từ các bản đồ Những khả năng này phân biệt GIS với các hệ thống thông tin khác và khiến cho GIS có phạm vi ứng dụng rộng trong nhiều lĩnh vực khác nhau (phân tích các sự kiện, dự đoán tác động và hoạch định chiến lược)

1.1 Định nghĩa, các thành phần, chức năng GIS

là hai công việc tách biệt nhau Do vậy GIS có khả năng quan sát từ các góc

độ khác nhau trên cùng tập dữ liệu Sau đây là một vài định nghĩa về GIS hay được sử dụng:

 Định nghĩa của dự án The Geographer’s Craft, Khoa địa lý, Trường Đại học Texas

GIS là CSDL số chuyên dụng trong đó hệ trục tọa độ không gian là phương tiện tham chiếu chính GIS bao gồm các công cụ để thục hiện các công việc sau đây:

 Nhập dữ liệu từ bản đồ giấy, ảnh vệ tinh, ảnh máy bay, số liệu điều tra và các ngồn khác

Trang 13

 Lưu trữ dữ liệu, khai thác, truy vấn CSDL

 Biến đổi dữ liệu, phân tích, mô hình hóa, bao gồm cả dữ liệu thống kê và

dữ liệu không gian

 Lập báo cáo, bao gồm bản đồ chuyên đề, các bảng biểu, biểu đồ và kế hoạch

Từ định nghĩa trên thấy rõ ba vấn đề sau của GIS Thứ nhất, GIS có quan hệ với ứng dụng CSDL Toàn bộ thông tin trong GIS đều liên kết với tham chiếu không gian Có những CSDL chứa thông tin vị trí (địa chỉ đường phố…) nhưng CSDL GIS sử dụng tham chiếu khôn gian như phương tiện chính để lưu trữ và xâm nhập thông tin Thứ hai, GIS là công nghệ tích hợp

Hệ GIS đầy đủ có đầy đủ khả năng phân tích, bao gồm phân tích ảnh máy bay, ảnh vệ tinh hay tạo lập mô hình thống kê, vẽ bản đồ… Cuối cùng, GIS được xem như tiến trình không chỉ là phần cứng, phần mềm rời rạc mà GIS còn sử dụng vào trợ giúp quyết định Cách thức nhập, lưu trữ, phân tích dữ liệu trong GIS phải phản ánh đúng cách thức thông tin sẽ được sử dụng trong công việc lập quyết định hay nghiên cứu cụ thể

 Định nghĩa của Viện Nghiên cứu Hệ thống Môi trường ESRI, Mỹ

GIS là công cụ trên cơ sở máy tính để lập bản đồ và phân tích những cái đang tồn tại và các sự kiện xảy ra trên Trái đất công nghệ GIS tích hợp các thao tác CSDL như truy vấn và phân tích thống kê với lợi thế quan sát và phân tích thống kê bản đồ Các khả năng này sẽ phân biệt GIS với các hệ thông tin khác Có rất nhiều chương trình máy tính sử dụng dữ liệu không gian như AutoCAD và các chương trình thống kê, nhưng chúng không phải là GIS vì chúng không có khả năng thực hiện các thao tác không gian

Trang 14

 Định nghĩa của David Cowen, NCGIA, Mỹ

GIS là hệ thống phần cứng, phần mềm và các thủ tục được thiết kế để thu thập, quản lý, xử lý, phân tích, mô hình hóa và hiển thị các dữ liệu qui chiếu không gian để giải quyết các vấn đề quản lý và lập kế hoạch phức tạp

Độ phức tạp của thế giới thực là không gian hữu hạn Càng quan sát thế giới gần hơn càng thấy được chi tiết hơn Con người mong mỏi lưu trữ, quản

lý đầy đủ các dữ liệu về thế giới thực Nhưng sẽ dẫn đến phải có cơ sở dữ liệu lớn vô hạn để lưu trữ mọi thông tin chính xác về chúng Do vậy, để lưu trữ được dữ liệu không gian của thế giới thực vào máy tính thì phải giảm số lượng dữ liệu đến mức có thể quản lý được bằng tiến trình đơn giản hóa hay

trừu tượng hóa (Hình 1.1) Trừu tượng là đơn giản hóa một cách thông minh

Trừu tượng cho ta tổng quát hóa và “ý tưởng” hóa vấn đề đang xem xét Chúng loại bỏ đi các chi tiết dư thừa mà chỉ tập trung vào các điểm chính, cơ bản Các đặc trưng địa lý phải được biểu diễn bởi các thành phần rời rạc hay các đối tượng để lưu vào CSDL máy tính

Hình 1.1 Hệ thống thông tin tin địa lý

Ý nghĩa chủ yếu của tin học hóa thông tin địa lý là khả năng tích hợp các kiểu và nguồn dữ liệu khác biệt Mục tiêu của GIS là cung cấp cấu trúc một cách hệ thống để quản lý các thông tin địa lý khác nhau và phức tạp,

Phần mềm công cụ + CSDL

hóa hay đơn giản hóa

Người sử dụng

Kết quả

Thế giới thực

Trang 15

đồng thời cung cấp các công cụ, các thao tác hiển thị, truy vấn, mô phỏng… Cái GIS cung cấp là cách thức suy nghĩ mới về không gian Phân tích không gian không chỉ là truy cạp mà còn cho phép khai thác các quan hệ và tiến trình biến đổi của chúng

Hình 1.2 Tầng bản đồ

GIS lưu trữ thông tin thế giới thực thành các tầng (layer) bản đồ chuyên

đề mà chúng có khả năng liên kết địa lý với nhau Giả sử ta có vùng quan sát

như trên Hình 1.2 Mỗi nhóm người sử dụng sẽ quan tâm đến một hay là vài

loại thông tin Thí dụ, Sở giao thông công chính sẽ quan tâm nhiều đến hệ thống đường phố Sở nhà đất quan tâm nhiều đến các khu dân cư và công sở

Sở thương mại quan tâm nhiều đến phân bổ khách hàng trong vùng Tư tưởng tách bản đồ thành tầng tuy đơn giản nhưng khá mềm dẻo và hiệu quả, chúng

có khả năng giải quyết rất nhiều vấn đề về thế giới thực, từ theo dõi điều hành

xe cộ giao thông, đến các ứng dụng lập kế hoạch và mô hình hóa lưu thông

Ta có thể sử dụng tiến trình tự động, gọ là mã hóa địa lý (geocoding) để liên

kết dữ liệu bên ngoài với dữ liệu bản đồ Thí dụ sử dụng mã hóa địa lý để ánh

Trang 16

xạ thông tin bán hàng bằng mã bưu điện (ZIP) hay chỉ ra địa chỉ khách hàng trên bản đồ bằng các điểm

Hình1.3 Các hoạt động chính của GIS

Hiểu biết của chúng ta về trái đất là giới hạn vì thiếu thông tin cũng như thiếu chi thức Để quan sát vật thể quá nhỏ con người đã phát minh ra kính hiển vi, để quan sát vật thể quá lớn như toàn bộ Trái đất, con người đã sử dụng vệ tinh nhân tạo Hệ thông tin địa lý là công cụ tích hợp dữ liệu không gian theo tỷ lệ và thời gian khác nhau, theo các khuôn mẫu khác nhau Người

sử dụng thông tin địa lý như các nhà khoa học, giám sát tài nguyên môi trường, lập kế hoạch phát triển đô thị… đều làm việc theo vùng hay lãnh thổ

Họ quan sát và đo đạc các tham số môi trường Họ xây dựng các bản đồ biểu diễn một và đặc tính Trái đất Họ giám sát sự thay đổi xung quanh ta theo thời gian và không gian Cuối cùng, họ mô hình hóa các tác động, tiến trình trong

Trang 17

môi trường (hình 1.3) Hiệu quả cơ bản của các hoạt dộng này sẽ được nâng

cao nhờ sử dụng thông tin địa lý, một hình thức của hệ thống thông tin

+ Người sử dụng hệ thống (system user) là những người sử dụng GIS

để giải quyết các vấn đề không gian

+ Thao tác viên hệ thống (system operator) có trách nhiệm vận hành hệ

thống hàng ngày để người sử dụng hệ thống làm việc có hiệu quả

Trang 18

+ Nhà cung cấp GIS (GIS supplier) có trách nhiệm cung cấp phần

mềm cập nhật phần mềm, phương pháp nâng cấp cho hệ thống

+ Nhà cung cấp dữ liệu (data supplier) có thể là Tổ chức nhà nước hay

tư nhân

+ Người phát triển ứng dụng (application developer) là những lập trình

viên được đào tạo Họ xây dựng các giao diện người dùng, làm giảm khó khăn khi thực hiện các thao tác cụ thể trên hệ thống GIS chuyên nghiệp

+ Chuyên viên phân tích hệ thống GIS (GIS system analysts) là nhóm

người chuyên nghiên cứu thiết kế hệ thống

- Dữ liệu: là thành phần quan trọng nhất trong hệ thống GIS, chiếm khoảng 70% giá thành sản phẩm Dữ liệu thống kê gắn theo các hiện tượng tự nhiên với mức độ chính xác khác nhau Hệ thống thước đo của chúng bao gồm các biến tên, số thứ tự, khoảng và tỷ lệ Ngoài bốn loại biến dữ liệu này, các hệ GIS còn phân chia dữ liệu thành hai loại khác nhau:

+ Dữ liệu không gian (spatial): là thông tin về vị trí của các đối tượng trong thế giới thực trên mặt đất theo một hệ quy chiếu nhất định Thực thể không gian có thể cấu trúc theo hai cách: cấu trúc dạng vectơ và cấu trúc dạng raster

+ Dữ liệu phi không gian (non-spatial): còn gọi là dữ liệu thuộc tính, là những số hiệu, bảng biểu mô tả tính chất , đặc trưng của dữ liệu không gian

Nó được biểu thị dưới dạng những con số hoặc chữ mô tả số lượng, tính chất, thông số liên quan đến các đối tượng đó trên bản đồ

Dữ liệu phi không gian được kết nối logic với dữ liệu không gian Sự kết nối này là cơ sở để xác định chính xác các thông tin của đối tượng địa lý

Trang 19

và thực hiện phép phân tích tổng hợp trong hệ thống GIS Mỗi hệ GIS đều có các công cụ lưu trữ dữ liệu thuộc tính cùng với dữ liệu không gian

- Phần cứng: GIS đòi hỏi các thiết bị ngoại vi đặc biệt như bàn số hóa, máy vẽ, máy quét ảnh để vào ra dữ liệu Các thiết bị này có thể được nối với

nhau thông qua thiết bị truyền tin hay mạng cục bộ (hình 1.5)

Hình 1.5 Phần cứng GIS

- Công cụ phần mềm: Một hệ thống GIS bao gồm nhiều modul phần mềm Khả năng lưu trữ, quản lý dữ liệu không gian bằng hệ quản trị cơ sở dữ liệu địa lý là khía cạnh quan trọng nhất của GIS Các modul khác là công cụ phân tích dữ liệu, làm báo cáo và truyền tin

Trang 20

Hình 1.6 Phần mềm của GIS

- Giao diện người dùng: Giao diện đồ họa cho phép người dùng dễ dàng thực hiện các thao tác địa lý và các thao tác khác như truy cập cơ sở dữ liệu, làm báo cáo

1.1.3 Chức năng của Gis

GIS là hệ thống có khả năng tự động thực hiện những chức năng được phân chia như sau :

- Thu thập dữ liệu

- Xử lý sơ bộ dữ liệu

- Lưu trữ và truy nhập dữ liệu

- Tìm kiếm và phân tích không gian

- Hiển thị đồ họa và tương tác

Hình 1.7 mô tả quan hệ giữa các nhóm chứa năng và cách biểu diễn

thông tin khác nhau của GIS

Hiển thị, làm báo cáo

Phân tích không gian

Thu thập dữ liệu

Chuyển đổi dữ liệu

Giao diện người dùng

Quản trị CSDL địa lý

Trang 21

Hình 1.7 Các nhóm chức năng trong GIS

Chức năng thu thập dữ liệu tạo ra dữ liệu từ các quan sát hiện tượng thế giới thực và từ các tài liệu, bản đồ giấy, đôi khi chúng có sẵn dưới dạng số Kết quả ta có tập “dữ liệu thô”, có nghĩa là dữ liệu này không được phép áp dụng trực tiếp cho chức năng truy nhập và phân tích của hệ thống Chức năng

xử lý sơ bộ dữ liệu sẽ biến đổi dữ liệu thô thành dữ liệu có cấu trúc để sử dụng trực tiếp các chức năng tìm kiếm và phân tích không gian Kết quả tìm kiếm và phân tích được xem như diễn giải dữ liệu, đó là tổ hợp hay biến đổi đặc biệt của dữ liệu có cấu trúc Hệ thống GIS phải có phần mềm công cụ để

tổ chức và lưu trữ các loại dữ liệu khác nhau, từ dữ liệu thô đến dữ liệu diễn giải Phần mềm công cụ này phải có các thao tác lưu trữ, truy nhập; đồng thời

có khả năng hiển thị, tương tác đồ họa với tất cả loại dữ liệu

Trang 22

1.2 Cấu trúc dữ liệu không gian véctơ và các thuật toán liên quan

Mô hình dữ liệu vectơ coi hiện tượng là tập các thực thể không gian cơ

sở và tổ hợp giữa chúng Trong mô hình 2D thì thực thể sơ đẳng bao gồm

điểm, đường và vùng; mô hình 3D còn áp dụng bề mặt ba chiều và khối (hình 1.8) Các thực thể sơ đẳng được hình thành trên cơ sở các vectơ hay tọa độ

của các điểm trong một hệ trục tọa độ nào đó

Hình 1.8 Các thành phần hình học cơ sở

1.2.1 Các thành phần dữ liệu

 Kiểu đối tượng điểm (Points)

Điểm được xác định bởi cặp giá trị các đối tượng đơn, thông tin về địa lý chỉ gồm cơ sở vị trí sẽ được phản ánh là đối tượng điểm Các đối tượng kiểu điểm có đặc điểm:

Trang 23

 Là toạ độ đơn (x,y)

 Không cần thể hiện chiều dài và diện tích

Hình 1.9: Số liệu vector được biểu thị dưới dạng điểm (Point)

Tỷ lệ trên bản đồ tỷ lệ lớn, đối tượng thể hiện dưới dạng vùng Tuy nhiên trên bản đồ tỷ lệ nhỏ, đối tượng này có thể thể hiện dưới dạng một điểm Vì vậy, các đối tượng điểm và vùng có thể được dùng phản ánh lẫn nhau

 Kiểu đối tượng đường (Arcs)

Đường được xác định như một tập hợp dãy của các điểm Mô tả các đối tượng địa lý dạng tuyến, có các đặc điểm sau:

 Là một dãy các cặp toạ độ

 Một arc bắt đầu và kết thúc bởi node

 Các arc nối với nhau và cắt nhau tại node

 Hình dạng của arc được định nghĩa bởi các điểm vertices

 Độ dài chính xác bằng các cặp toạ độ

Trang 24

Hình 1.10: Số liệu vector được biểu thị dưới dạng Arc

 Kiểu đối tượng vùng (Polygons)

Vùng được xác định bởi ranh giới các đường thẳng Các đối tượng địa lý

có diện tích và đóng kín bởi một đường được gọi là đối tượng vùng polygons,

có các đặc điểm sau:

 Polygons được mô tả bằng tập các đường (arcs) và điểm nhãn (label points)

 Một hoặc nhiều arc định nghĩa đường bao của vùng

 Một điểm nhãn label points nằm trong vùng để mô tả, xác định cho mỗi một vùng

Trang 25

Hình 1.11: Số liệu vector được biểu thị dưới dạng vùng (Polygon)

Hình 1.12 Một số khái niệm trong cấu trúc cơ sở dữ liệu bản đồ

Trang 26

1.2.2 Các phép toán phân tích không gian trên mô hình Vector

GIS cung cấp rất nhiều phép toán phân tích không gian trên mô hình dữ liệu vector Các phép toán này dựa trên cơ sở so sánh lôgic tập các đối tượng này với tập đối tượng khác

1.2.2.1 Buffer

Cho trước một đối tượng và một giá trị khoảng cách, phép toán buffer

sẽ tạo ra một vùng đệm là một vùng bao phủ xung quanh tất cả các điểm mà khoảng cách từ chúng đến đối tượng nhỏ hơn hoặc bằng khoảng cách đề ra

Trang 27

Hình 1.17 Phép toán Convex hull

Trang 28

1.2.2.6 Symmetric difference

Phép toán symmetric difference sẽ tiến hành so sánh vị trí hai đối tượng

và tạo ra một đối tượng mới từ hai đối tượng ban đầu và bỏ đi phần giao giữa chúng

Hình 1.18 Phép toán Symmetric difference

1.2.2.7 Cut

Cho một đường cong và một đối tượng, phép toán cut sẽ tách đối tượng này thành hai phần nửa phải và nửa trái theo hướng của đường cong Điểm và multipoint không được áp dụng Line và polygon phải cắt đường cong

Hình 1.19 Phép toán cut

1.2.2.8 Union

Phép toán này tiến hành so sánh vị trí tương đối của hai đối tượng và trả về một đối tượng trên cơ sở hợp hai đối tượng ban đầu

Trang 29

Hình 1.20 Phép toánUnion

Mô hình dữ liệu vectơ cho phép nhiều thao tác hơn trên các đối tượng

so với mô hình raster Việc đo diện tích, khoảng cách của các đối tượng được thực hiện bằng các tính toán hình học từ các tọa độ của các đối tượng thay vì việc đếm các tế bào của mô hình raster Rất nhiều thao tác trong mô hình này chính xác hơn Một số thao tác ở mô hình này thực hiện nhanh hơn như tìm kiếm đường đi trong mạng lưới giao thông hay hệ thống thủy lợi Một số thao tác khác có chậm hơn như nạp chồng các lớp, các thao tác với vùng đệm

Phương pháp vectơ hình thành trên cơ sở quan sát đối tượng của thế giới thực Quan sát các đặc trưng theo hướng đối tượng là phương pháp tổ chức thông tin trong các hệ GIS để định hướng các hệ quản trị cơ sở dữ liệu Chúng có ưu việt trong việc lưu trữ số liệu bản đồ bởi vì chúng chỉ lưu các đường biên của các đặc trưng, không cần lưu toàn bộ vùng của chúng Bởi vì các thành phần đồ họa biểu diễn các đặc trưng của bản đồ liên kết trực tiếp với các thuộc tính của cơ sở dữ liệu cho nên người sử dụng có thể dễ dàng tìm kiếm và hiển thị thông tin từ cơ sở dữ liệu

Trang 30

Hình 1.21 Biểu diễn bản đồ vectơ

1.3 Các ứng dụng GIS

Vì GIS được thiết kế như một hệ thống chung để quản lý dữ liệu không gian nên có rất nhiều ứng dụng trong các lĩnh vực thường thấy trong thực tế GIS đóng vai trò như là một công cụ hỗ trợ quyết định cho việc lập kế hoạch hoạt động [1]

- Quản lý và lập kế hoạch mạng lưới đường phố: bao gồm các chức năng tìm kiếm địa chỉ, tìm vị trí khi biết trước địa chỉ đường phố; điều khiển đường đi, lập kế hoạch lưu thông xe cộ; phân tích vị trí, chọn địa điểm xây dựng các công trình công cộng; lập kế hoạch phát triển đường giao thông

- Giám sát tài nguyên, thiên nhiên, môi trường: bao gồm các chức năng quản lý sông ngòi, các vùng lụt, vùng đất nông nghiệp, có mưa, đất rừng, sống hoang dã; phân tích tác động môi trường; vị trí của các công trình công cộng, …

- Quản lý đất đai: bao gồm các chức năng lập kế hoạch vùng, miền sử dụng đất; quản lý nước tưới tiêu; kiến trúc mặt bằng sử dụng đất …

Trang 31

- Quản lý và lập kế hoạch các dịch vụ công cộng: bao gồm các chức năng tìm địa điểm cho các công trình ngầm: ống dẫn, đường điện,…; cân đối tải điện; lập kế hoạch bảo dưỡng các công trình công cộng…

- Phân tích tổng điều tra dân số, lập bản đồ các dịch vụ y tế, bưu điện

và nhiều ứng dụng khác

Trang 32

CHƯƠNG 2 – MỘT SỐ THUẬT TOÁN TÌM ĐƯỜNG ĐI TỐI

ƯU ỨNG DỤNG TRONG GIS

2.1 Một số thuật toán cơ sở: Disktra, Floy, A*

2.1.1 Phát biểu bài toán

Các thuật toán đồ thị nổi tiếng xác định đường đi “ngắn nhất” giữa hai điểm A và B trên mạng lưới đường phố mà tiêu chuẩn “ngắn nhất” có thể được dựa trên khoảng cách, thời gian đi hoặc một số ràng buộc khác do người

sử dụng tự đặt ra

Giả sử cho trước đồ thị G trong đó mỗi cung (x, y) gắn với trọng số của cung a(x, y) Trong một số ứng dụng, chiều dài có thể là chi phí hoặc giá trị khác nào đó Chiều dài của đường đi được xác định bằng tổng chiều dài của các cung đơn trong đường đi Với hai đỉnh bất kỳ, s và t trong G, có thể tồn tại nhiều đường đi từ s đến t Bài toán đường đi ngắn nhất bao gồm tìm đường

đi từ s đến t sao cho chiều dài nhỏ nhất có thể

Bài toán này có thể chia làm hai loại sau:

 Tìm đường đi ngắn nhất từ một đỉnh nguồn đến các đỉnh còn lại của đồ thị

 Tìm đường đi ngắn nhất giữa mọi cặp đỉnh của đồ thị

Với hai loại bài toán này ta có thể phát biểu chung bài toán như sau:

Đầu vào: Cho một đồ thị có hướng có trọng số G = (V, E) (với V: tập

đỉnh, E: tập cạnh), một hàm trọng số w: E  [0, )

Đầu ra: Hãy tìm đường đi ngắn nhất giữa hai đỉnh (chẳng hạn (s, t))

trong đồ thị G

Trang 33

2.1.2 Thuật toán Dijkstra

Thuật toán này do nhà khoa học Hà Lan - ông Edsger Dijkstra đưa ra vào năm 1959 cung cấp nền tảng cơ bản cho thuật toán hữu hiệu nhất để giải quyết bài toán này Thuật toán Dijkstra được thiết kế dựa trên kỹ thuật tham

ăn để giải quyết bài toán tìm đường đi ngắn nhất từ một đỉnh nguồn trong đồ thị có hướng với trọng số không âm Thuật toán Dijkstra hoạt động dựa trên việc gán nhãn cho các đỉnh

2.1.2.1 Phát biểu bài toán

Đầu vào: Cho một đồ thị có hướng G = (V, E) (với V: tập đỉnh, E: tập cạnh),

từ s đến y bằng cách kết nối đường đi ngắn nhất từ s đến x với cung (x, y) cho tất cả các đỉnh x đã được gán nhãn Chọn đường đi ngắn nhất trong k đường

đi này và đặt nó là đường đi ngắn nhất từ s đến y

Vì vậy, nếu đã biết đỉnh thứ k gần đỉnh s nhất thì đỉnh thứ k+1 có thể được xác định như trên Bắt đầu với k=0, quá trình này có thể lặp đi lặp lại cho đến khi tìm ra đường đi ngắn nhất từ s đến t (tức là t đã được gán nhãn)

2.1.2.3 Thuật toán

 Thuật toán Dijkstra được thực hiện như sau:

Trang 34

Bước 1:

- Ban đầu, tất cả các cung và các đỉnh chưa được gán nhãn

- Với mỗi đỉnh x  V, gọi d(x) là nhãn được gán cho mỗi đỉnh x là độ dài đường đi ngắn nhất từ s đến x

- Khởi tạo, đặt d(s) = 0 và d(x) =  cho mọi đỉnh x  s

- Gọi y là đỉnh cuối cùng được gán nhãn

Gán nhãn đỉnh s và đặt y = s

Bước 2:

- Với mỗi đỉnh chưa được gán nhãn x, tính lại nhãn d(x) như sau:

d(x) = min{d(x), d(y) + a(x, y)} (2.1)

- Nếu d(x) =  với mọi đỉnh x chưa gán nhãn thì dừng lại vì không tồn tại đường đi từ s đến đỉnh bất kỳ chưa gán nhãn

- Ngược lại,

+ Gán nhãn cho đỉnh x chưa gán nhãn với giá trị d(x) nhỏ nhất + Gán nhãn cho cung có hướng đến đỉnh x từ đỉnh đã được gán nhãn với giá trị d(x) ở trên

Trang 35

Chú ý rằng bất cứ khi nào thuật toán gán nhãn cho đỉnh (ngoại trừ đỉnh s) thì cũng gán nhãn cho cung hướng về đỉnh này Vì vậy, mỗi đỉnh có tối đa một cung đã được gán nhãn hướng vào nó và các cung đã được gán nhãn không có chu trình vì không có cung nào được gán nhãn nếu cả hai điểm đầu cuối có cung đã được gán nhãn vốn gắn liền với nó Do đó, chúng ta có thể kết luận rằng các cung đã được gán nhãn tạo thành một dạng cây có gốc tại s Dạng cây này được gọi là cây đường đi ngắn nhất Đường đi duy nhất từ s đến bất kỳ điểm x nào khác nằm trong cây đường đi ngắn nhất là đường đi ngắn nhất từ s đến x

Nếu đường đi ngắn nhất từ s đến x trong cây đường đi ngắn nhất đi qua đỉnh y thì phần đường đi từ y đến x này là đường đi ngắn nhất từ y đến x Ngược lại thì tồn tại đường đi khác, thậm chí còn ngắn hơn đường đi từ y đến

x, điều này mâu thuẫn với đường đi ngắn nhất từ s đến x đã tìm ra

Vì các cung đã được gán nhãn luôn luôn tạo thành cây nên có thể xem thuật toán này như phát triển một cây có gốc tại đỉnh s Một khi đến được đỉnh t thì có thể kết thúc quá trình phát triển

 Mở rộng thuật toán:

Nếu muốn tìm đường đi ngắn nhất từ đỉnh s đến mọi đỉnh khác trong đồ thị thì tiếp tục quá trình phát triển cho đến khi tất cả các đỉnh được nằm trong cây đường đi ngắn nhất Trong trường hợp này, cây trở thành cây mở rộng (nếu cây tồn tại) Khi đó, bước 3 sẽ là:

Bước 3:

- Nếu tất cả các đỉnh đã được gán nhãn thì dừng lại vì đường đi duy nhất của các cung đã được gán nhãn từ s đến x là đường đi ngắn nhất từ s đến x với mọi đỉnh x

Trang 36

- Ngược lại, trở về bước 2

2.1.2.4 Ví dụ minh họa

Tìm đường đi ngắn nhất từ nút s đến nút t trong đồ thị G trong hình 2.1

sau bằng thuật toán Dijkstra:

Hình 2.1 Đồ thị minh họa thuật toán Dijkstra

Bước 1: Khởi tạo, d(s) = 0, d(x) =  với mọi x  s Đặt y = s

Bước 2: Tính lại khoảng cách cho các nút chưa gán nhãn:

d(1) = min{d(1), d(s) + a(s, 1)} = min{, 0 + 4} = 4

d(2) = min{d(2), d(s) + a(s, 2)} = min{, 0 + 7} = 7

d(3) = min{d(3), d(s) + a(s, 3)} = min{, 0 + 3} = 3

Vì khoảng cách nhỏ nhất trong các nút chưa gán nhãn là d(3) = 3 nên gán nhãn cho nút 3 và cung (s, 3) Cây đường đi ngắn nhất hiện tại chứa cung (s, 3) Đặt y = 3

Bước 3: Nút t chưa được gán nhãn nên quay lại bước 2

Bước 2: Tính d(4) = min{d(4), d(3) + a(3, 4)} = min{, 3 + 3} = 6

Trang 37

Khoảng cách nhỏ nhất trong các nút chưa gán nhãn là d(1) = 4 nên gán nhãn cho nút 1 và cung (s, 1) Cây đường đi ngắn nhất hiện tại chứa cung (s, 3) và (s, 1) Đặt y = 1

Bước 3: Đỉnh t chưa được gán nhãn nên quay lại bước 2

Bước 2: Tính d(2) = min{d(2), d(1) + a(1, 2)} = min{7, 4 + 3} = 7

d(4) = min{d(4), d(1) + a(1, 4)} = min{6, 4 + 2} = 6 Khoảng cách nhỏ nhất trong các nút chưa gán nhãn là d(4) = 6 nên gán nhãn cho nút 4 và cung (1, 4) hoặc (3, 4) vì cả hai đều bằng d(4)

Chọn tùy ý cung (3, 4) Khi đó, cây đường đi ngắn nhất chứa cung (s, 3), (s, 1) và (3, 4) Đặt y = 4

Bước 3: Đỉnh t chưa được gán nhãn nên quay lại bước 2

Bước 2: Tính d(t) = min{d(t), d(4) + a(4, t)} = min{, 6 + 2} = 8

Khoảng cách nhỏ nhất trong các nút chưa gán nhãn là d(2) = 7 nên gán nhãn cho nút 2 và cung (s, 2) Đường đi ngắn nhất hiện tại chứa cung (s, 3), (s, 1) (3, 4) và (s, 2) Đặt y = 2

Bước 3: Đỉnh t chưa được gán nhãn nên quay lại bước 2

Bước 2: Tính d(t) = min{d(t), d(2) + a(2, t)} = min{8, 7 + 2} = 8

Khi đó, nút t được gán nhãn cuối cùng và cung (4, t) cũng được gán nhãn là d(t) Do vậy, đường đi ngắn nhất cuối cùng chứa các cung (s, 3), (s, 1), (3, 4), (s, 2) và (4, t)

Đường đi ngắn nhất từ s đến t chứa các cung (s, 3), (3, 4) và (4, t) với chiều dài là 3 + 3 + 2 = 8 Đường đi này không chỉ là đường đi ngắn nhất duy nhất từ s đến t vì đường đi (s, 1), (1, 4) và (4, t) cũng có chiều dài bằng 8

Trang 38

int pre; /* Predecessor */

int length; /* Length between the nodes */

enum {perm,tent} label; /* Enumeration for permanent and tentative labels */ }state[MAX];

state[ds].length=0; /*Destination length set to 0 */

state[ds].label=perm; /*Destination set to be the permanent node*/

k=ds; /* initial working node */

/* Checking for a better path from the node k ? */

Trang 40

Thật vậy, tại bước k ta có giả thiết quy nạp sau:

(i) nhãn của đỉnh x trong S là độ dài của đường đi ngắn nhất từ đỉnh s đến đỉnh này và

(ii) nhãn của đỉnh x không thuộc S là độ dài của đường đi ngắn nhất từ đỉnh s tới đỉnh này và đường đi này chỉ chứa các đỉnh (ngoài chính đỉnh này) thuộc S

Khi k = 0, tức là khi chưa có bước lặp nào được thực hiện, S = {s}, vì thế độ dài của đường đi ngắn nhất từ s đến các đỉnh khác s là  và độ dài của đường đi ngắn nhất từ s đến chính nó bằng 0 (ở đây cho phép đường đi không

Ngày đăng: 05/03/2014, 10:30

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Đặng Văn Đức (2001), “Hệ thống thông tin địa lý”, NXB Khoa học và kỹ thuật, Hà Nội Sách, tạp chí
Tiêu đề: Hệ thống thông tin địa lý
Tác giả: Đặng Văn Đức
Nhà XB: NXB Khoa học và kỹ thuật
Năm: 2001
2. Đinh Mạnh Tường (2003), “Cấu trúc dữ liệu và thuật toán”, NXB Khoa học và kỹ thuật, Hà Nội Sách, tạp chí
Tiêu đề: Cấu trúc dữ liệu và thuật toán
Tác giả: Đinh Mạnh Tường
Nhà XB: NXB Khoa học và kỹ thuật
Năm: 2003
3. Kenneth H.Rosen (2000), “Toán học rời rạc ứng dụng trong tin học”, tr.494-711, NXB Khoa học và kỹ thuật, Hà Nội Sách, tạp chí
Tiêu đề: Toán học rời rạc ứng dụng trong tin học
Tác giả: Kenneth H.Rosen
Nhà XB: NXB Khoa học và kỹ thuật
Năm: 2000
4. Robert Sedgewick (1995), “Cẩm nang thuật toán”, tập 2, tr.81-186, NXB Khoa học và kỹ thuật, Hà Nội.Tiếng Anh Sách, tạp chí
Tiêu đề: Cẩm nang thuật toán"”, tập 2, tr.81-186, NXB Khoa học và kỹ thuật, Hà Nội
Tác giả: Robert Sedgewick
Nhà XB: NXB Khoa học và kỹ thuật
Năm: 1995
5. Petrik S., Mandarasz L., Adam N., Vokorokos L., Application of Shortest Path Algorithm to GIS using Fuzzy Logic, 4th International Symposium of Hungarian Researchers on Computational Intelligence, Budapest, Hungary. 2003 Sách, tạp chí
Tiêu đề: Application of Shortest Path Algorithm to GIS using Fuzzy Logic
6. Shashi Shekhar, Sanjay Chawla, Spatial Database: A Tour, Pearson Education, Inc., Upper Saddle River, New Jersey, USA, 2003 Sách, tạp chí
Tiêu đề: Spatial Database: A Tour
7. Philip Rigaux, Michel Scholl, Agnès Voisard (2002), Spatial Databases with application to GIS, Academic Press, USAWebsite Sách, tạp chí
Tiêu đề: Spatial Databases with application to GIS," Academic Press, USA
Tác giả: Philip Rigaux, Michel Scholl, Agnès Voisard
Năm: 2002
8. Võ Quang Minh, Cấu trúc cơ sở dữ liệu trong GIS , http://www.scribd.com/doc/4938563/Cu-truc-c-s-d-liu-trong-GIS 9. Phạm Ngọc Hà, Các mô hình dữ liệu GIS Link

HÌNH ẢNH LIÊN QUAN

Cỏc bảng chứa dữ liệu mà mong muốn hiển thị lờn bản đồ. Bảng bao gồm  cỏc  dũng  và  cỏc  cột  chứa  thụng  tin  mụ  tả  cỏc  thuộc  tớnh  bản  đồ  (feature) như là về hỡnh học, về cỏc kiểu, về cỏc thuộc tớnh (attribute) - thuật toán tìm đường đi tối ưu trong gis
c bảng chứa dữ liệu mà mong muốn hiển thị lờn bản đồ. Bảng bao gồm cỏc dũng và cỏc cột chứa thụng tin mụ tả cỏc thuộc tớnh bản đồ (feature) như là về hỡnh học, về cỏc kiểu, về cỏc thuộc tớnh (attribute) (Trang 69)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w