Khóa luận Phát triển hệ thống hỗ trợ tìm đường trên các thiết bị di động có GPS

Khóa luận này trình bày những hiểu biết cơ bản về một hệ thống thông tin địa lý (GIS), cũng như các khái niệm liên quan. Qua việc xem xét một số hệ thống GIS tiêu biểu, để có thể hình dung được cách thức lưu trữ, quản lý dữ liệu trong một dữ liệu không gian, nhằm phục vụ hiệu quả cho việc quản lý dữ liệu địa lý. Khóa luận cũng trình bày chi tiết về cấu trúc đánh chỉ số R-tree –một cấu trúc được dùng phổ biến cho các CSDL không gian. Một số phương pháp xử lý truy vấn trong CSDL không gian cũng được đưa ra ở mức tìm hiểu sơ qua. Phần cuối của khóa luận trình bày về việc xây dựng ứng dụng bản đồ trên thiết bị di động hổ trợ GPS. Bằng việc sử dụng GoogleMaps đểcung cấp các chức năng GIS cơ bản cho người dùng, như hiển thị bản đồ, hướng dẫn lộ trình, tìm lộ trình theo vị trí hiện tại, điểm đầu điểm cuối.

pdf58 trang | Chia sẻ: lvbuiluyen | Lượt xem: 2134 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Khóa luận Phát triển hệ thống hỗ trợ tìm đường trên các thiết bị di động có GPS, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
i ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Văn Bách Phát triển hệ thống hỗ trợ tìm đường trên các thiết bị di động có GPS KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI-2010 ii ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Văn Bách Phát triển hệ thống hỗ trợ tìm đường trên các thiết bị di động có GPS KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công Nghệ Thông Tin Cán bộ hướng dẫn: TS. Nguyễn Ngọc Hóa HÀ NỘI - 2010 iii Lời cảm ơn Trước tiên, tôi xin bày tỏ lòng cảm ơn chân thành đến TS.Nguyễn Ngọc Hóa, người đã hết lòng chỉ bảo, hướng dẫn, cho tôi các phương pháp tiếp cận vấn đề, giúp tôi giải đáp những thắc mắc, giải quyết các khó khăn mắc phải để có thể hoàn thành được khóa luận này. Tôi cũng xin chân thành cảm ơn các thầy cô ở khoa Công Nghệ Thông Tin đã hết lòng truyền đạt cho tôi những kiến thức nền tảng về CNTT, giúp tôi có đủ kiến thức để tiếp cận, hoàn thành được khóa luận này. Bên cạnh đó tôi cũng vin gửi lời cảm ơn đến sự sự giúp đở nhiệt tình của nhà trường tạo điều kiện tốt nhất cho tôi để hoàn thành khóa luận này. Tôi xin gửi lời cảm ơn sâu sắc đến những người thân trong gia đình, họ đã động viên rất nhiều về mặt tinh thần để tôi có đủ nghị lực để hoàn thành khóa luận này. Tôi cũng xin chân thành cảm ơn bạn bè tôi, những đã luôn luôn bên cạnh, động viên, tạo mọi điều kiện thuận lợi nhất cho tôi trong quá trình hoàn thành khóa luận. Hà Nội, tháng 5 năm 2010 Sinh viên Nguyễn Văn Bách iv TÓM TẮT KHÓA LUẬN Khóa luận này trình bày những hiểu biết cơ bản về một hệ thống thông tin địa lý (GIS), cũng như các khái niệm liên quan. Qua việc xem xét một số hệ thống GIS tiêu biểu, để có thể hình dung được cách thức lưu trữ, quản lý dữ liệu trong một dữ liệu không gian, nhằm phục vụ hiệu quả cho việc quản lý dữ liệu địa lý. Khóa luận cũng trình bày chi tiết về cấu trúc đánh chỉ số R-tree – một cấu trúc được dùng phổ biến cho các CSDL không gian. Một số phương pháp xử lý truy vấn trong CSDL không gian cũng được đưa ra ở mức tìm hiểu sơ qua. Phần cuối của khóa luận trình bày về việc xây dựng ứng dụng bản đồ trên thiết bị di động hổ trợ GPS. Bằng việc sử dụng GoogleMaps để cung cấp các chức năng GIS cơ bản cho người dùng, như hiển thị bản đồ, hướng dẫn lộ trình, tìm lộ trình theo vị trí hiện tại, điểm đầu điểm cuối. v DANH MỤC TỪ VIÊT TẮT Từ viết tắt Tiếng Anh Tiếng Việt GIS Geographic informations system Hệ thống thông tin địa lý OGC Open Geospatial Consortium ESRI Environmental Systems Research Institute GRASS Geographic Resources Analysis Support System CSDL Cơ sở dữ liệu NN Nearest Neighbor Hàng xóm gần nhất OR Obstacle range ONN Obstacle nearest neighbour ODJ Ostacle e-distance join vi MỤC LỤC Mở đầu............................................................................................................... 1 CHƯƠNG 1. TỔNG QUAN VỀ HỆ THỐNG THÔNG TIN ĐỊA LÝ ............... 2 1.1. Khái niệm về hệ thống thông tin địa lý .............................................................2 1.2. Lợi ích và hạn chế của việc sử dụng GIS ..........................................................3 1.3. OGC – OPENGIS.............................................................................................3 1.4. Khái niệm chung về bản đồ địa lý .....................................................................4 1.5. Tìm hiểu một số hệ thống GIS tiêu biểu............................................................5 1.5.1. MapInfo.....................................................................................................5 1.5.2. ArcViewcủa ESRI .....................................................................................5 1.6. MobileGIS........................................................................................................6 1.6.1. Hệ thống WebGIS .....................................................................................7 CHƯƠNG 2. TỔ CHỨC DỮ LIỆU TRONG GIS.............................................. 9 2.1. Tổ chức dữ liệu trong hệ thống thông tin địa lý.................................................9 2.1.1. Mô hình dữ liệu Vector............................................................................10 2.1.2. Hệ thống Raster .......................................................................................11 2.1.3. Mô hình TIN............................................................................................13 2.2. Điểm qua cách tổ chức dữ liệu trong một số hệ thống GIS thông dụng. ..........13 2.2.1. Tổ chức dữ liệu trong MapInfo ................................................................13 2.2.2. Tổ chức dữ liệu trong ArcGIS của ESRI..................................................14 2.2.3. Tổ chức dữ liệu trong GRASS .................................................................14 2.3. Tìm hiểu cấu trúc lưu trữ của Shapefile ..........................................................15 CHƯƠNG 3. XỬ LÝ TRUY VẤN KHÔNG GIAN......................................... 20 3.1. Cấu trúc R-Tree index.....................................................................................20 3.1.1. Cấu trúc của R-tree ..................................................................................20 3.1.2. Tìm kiếm và cập nhật trong R-tree...........................................................21 3.1.3. Cập nhật và các thao tác khác ..................................................................24 3.2. Tìm hiểu một số thuật toán xử lý truy vấn trong CSDL không gian ................26 3.2.1. Xử lý truy vấn trong không gian O-clit ....................................................27 3.2.2. Xử lý truy vấn trong mạng không gian.....................................................28 3.2.3. Tìm đường đi trong có không gian có chướng ngại vật ............................28 3.3. Tìm hiểu về PostGIS.......................................................................................32 3.3.1. Giới thiệu.................................................................................................32 3.3.2. Sử dụng các chuẩn OpenGIS ...................................................................32 vii 3.3.3. Import dữ liệu GIS...................................................................................32 3.3.4. Xuất bản dữ liệu GIS ...............................................................................32 3.3.5. Tạo indexs ...............................................................................................33 3.3.6. Một số truy vấn spatial SQL đơn giản......................................................33 CHƯƠNG 4. XÂY DỰNG ỨNG DỤNG......................................................... 36 Dựa trên những kiến thức thu được, trong chương này, tôi sẽ trình bày về hệ thống dẫn đường (navigator) thử nghiệm với mục đích minh họa những hiểu biết về hệ thống thông tin địa lý và các vấn đề xử lý truy vấn không gian..............................36 4.1. Một số ứng dụng dẫn đường phổ biến.............................................................36 4.1.1. Việt map..................................................................................................36 4.1.2. Pguider ....................................................................................................37 4.1.3. GoogleMaps cho mobile ..........................................................................37 4.2. Các chức năng của chương trình .....................................................................38 4.3. Mô hình đề xuất..............................................................................................39 4.4. Lựa chọn ngôn ngữ.........................................................................................41 4.5. Tìm hiểu cơ chế hoạt động của hệ thống GPS.................................................42 4.5.1. Đo khoảng cách từ máy thu đến các vệ tinh .............................................43 4.5.2. Xác định vị trí hiện tại của các vệ tinh .....................................................44 4.6. Thử nghiệm ứng dụng.....................................................................................44 4.6.1. Các lớp chính của chương trình ...............................................................44 4.6.2. Screenshot của chương trình ....................................................................44 4.7. Nhận xét .........................................................................................................49 CHƯƠNG 5. KẾT LUẬN................................................................................ 50 5.1. Kết quả đạt được.............................................................................................50 5.2. Hạn chế ..........................................................................................................50 5.3. Hướng phát triển.............................................................................................50 1 Mở đầu Ngày nay với sự phát triển mạnh mẽ của CNTT, các ứng dụng của CNTT đã được đưa vào hầu hết các lĩnh vực của cuộc sống. Với sự trợ giúp của máy tính, các công việc phức tạp được xử lý nhanh chóng và chính xác. Cùng với sự phát triển của Internet, việc chia sẽ thông tin giữa các cá nhân, tổ chức hay làm việc qua mạng đã trở nên dễ dàng và hiệu quả. Hệ thống thông tin địa lý (Geographic Information System – GIS) là một nhánh của CNTT đã trở thành một công cụ trợ giúp quyết định rất tốt cho các tổ chức, chính phủ trong các lĩnh vực liên quan đến thông tin địa lý. Để hoàn thành khóa học của mình, tôi nhận thấy GIS là một hệ thống thông tin rất thú vị, việc tìm hiểu về GIS sẽ giúp tôi có một cái nhìn sâu sắc hơn về một hệ thống thông tin, quản trị CSDL. Giúp tôi có được cái nhìn ban đầu về phương pháp tiếp cận để xây dựng, quản lý hiệu quả một hệ thống CSDL mô phỏng thực tế - hệ thống CSDL địa lý. Với động lực đó, khóa luận tốt nghiệp của tôi hướng đến mục tiêu nghiên cứu, tìm hiểu về hệ thống thông tin địa lý nói chung, từ đó ứng dụng trong bài toán phát triển hệ thống dẫn đường dựa trên các thiết bị di động có hỗ trợ định vị vệ tinh (GPS). 2 CHƯƠNG 1. TỔNG QUAN VỀ HỆ THỐNG THÔNG TIN ĐỊA LÝ 1.1. Khái niệm về hệ thống thông tin địa lý Hệ thống thông tin địa lý (Geographic Information System – gọi tắt là GIS) là một nhánh của công nghệ thông tin được hình thành vào những năm 1960 và phát triển rất rộng rãi trong 10 năm lại đây. GIS ngày nay là công cụ trợ giúp quyết định trong nhiều hoạt động kinh tế - xã hội, quốc phòng của nhiều quốc gia trên thế giới. GIS có khả năng cung cấp cho các cơ quan chính phủ, các nhà quản lý, các doanh nghiệp, các cá nhân … đánh giá được hiện trạng của các quá trình, các thực thể tự nhiên, kinh tế – xã hội của các vùng địa lý thông qua các chức năng thu thập, quản lý, truy vấn, phân tích và tích hợp các thông tin được gắn liền với một nền hình học (bản đồ) nhất quán trên cơ sở tọa độ của các dữ liệu đầu vào. Có nhiều cách tiếp cận khác nhau khi định nghĩa GIS. Nếu xét dưới góc độ hệ thống, thì GIS có thể được hiểu như một hệ thống gồm 5 thành phầm cơ bản: con người – chuyên viên, thiết bị - phần cứng, phần mềm, số liệu - cơ sở dử liệu và các quy trình kiến thức chuyên gia – nơi tập hợp các quy phạm, tiêu chuẩn, định hướng, chủ trương ứng dụng của nhà quản lý, các kiến thức chuyên ngành và các kiến thức về CNTT. Hình 1: Các thành phần thiết yếu cho công nghệ GIS Theo cách tiếp cận truyền thống, GIS 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 CSDL thông thường kết hợp với cho phép phân tích thống kê, phân tích không gian. 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 GIS có 3 phạm vi ứng dụng rộng rãi 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.2. Lợi ích và hạn chế của việc sử dụng GIS GIS là một công nghệ ứng dụng tiến bộ của khoa học máy tính, do đó việc sử dụng GIS trong các mục tiêu nghiên cứu so với các phương tiện cổ điển có thể mang lại hiệu quả cao. - Tiết kiệm thời gian và chi phí trong việc lưu trữ số liệu. - Có thể thu thập số liệu với số lượng lớn. - Cập nhật số liệu lưu trữ dễ dàng. - Chất lượng số liệu được bảo đảm (quản lý, xử lý, sửa chữa). - Dễ dàng truy cập, phân tích số liệu từ nhiều nguồn và nhiều loại khác nhau. - Tổng hợp số liệu nhanh chóng và dễ dàng. Bên cạnh những thuận lợi khi sử dụng GIS thì quá trình sử dụng kỹ thuật GIS cũng xuất hiện một số trở ngại, và những trở ngại này có ảnh hưởng đặc biệt quan trọng, do đó cần cân nhắc kỹ càng trước khi quyết định phát triển GIS. - Chi phí và những vấn đề kỹ thuật đòi hỏi trong việc chuẩn bị lại các số liệu thô hiện có, để chuyển từ bản đồ dạng thô (trên giấy) sang dạng số trên máy tính. - Đòi hỏi nhiều kiến thức của các kỹ thuật cơ bản về máy tính, và yêu cầu lớn về nguồn tài chính ban đầu. - Chi phí mua sắm, lắp đặt thiết bị và phần mềm GIS khá cao. - Trong một số lĩnh vực ứng dụng, hiệu quả tài chính thấp. 1.3. OGC – OPENGIS OGC – Open Geospatial Consortium là một tổ chức phi lợi nhuận, quốc tế, tự nguyện đang dẫn đầu trong việc đặt ra các tiêu chuẩn về không gian địa lý và các dịch vụ dựa trên vị trí. OpenGIS standard and Specifications là các tài liệu kỹ thuật đặc tả các giao diện hoặc bảng mã được dùng cho các nhà phát triển phần mềm để đưa các giao diện hoặc bản mã này vào sản phẩm hay dịch vụ của họ. Các đặc tả này cung cấp cho các nhà phát triển một khuôn mẫu giao diện chung, đầy đủ để có thể xây dựng các phần mềm hoạt động chung được với các phần mềm dạng OpenGIS khác. 4 Ưu điểm của OpenGIS Specification thể hiện qua các mặt sau: - Đối với người phát triển ứng dụng có thể dễ dàng và linh hoạt trong việc thiết kế các phần mềm truy cập đến cơ sở dữ liệu địa lý, sử dụng chung những nguồn tài nguyên địa lý. Từ đó có thể chọn môi trường phát triển hoặc cung cấp những nền tảng ứng dụng đa dạng mà vẫn có thể sử dụng lại. - Đối với các nhà quản lý thông tin: Giúp cho việc sử dụng hoặc phân phối cơ sở dữ liệu địa lý, cung cấp những khả năng xử lý địa lý tới khách hàng, tích hợp dữ liệu địa lý và xử lý vào một kiến trúc tính toán liên hợp. - Đối với người dùng cuối là những người hưởng lợi tối ưu, họ nhận được sự truy nhập một cách nhanh chóng đến một hệ thống thông tin rộng lớn với nhiều ứng dụng. Với việc ra đời của OGC - OpenGIS giúp xây dựng nên một ứng dụng có thể tổng hợp các thông tin từ nhiều hệ thống thông tin địa lý khác nhau. Ví dụ: cổng thông tin địa lý (GeoPortal), GeoPortal cho phép tổng hợp các thông tin từ các hệ thống địa lý khác nhau thông qua dịch vụ Web. 1.4. Khái niệm chung về bản đồ địa lý Định nghĩa: Bản đồ địa lý là sự biểu thị thu nhỏ qui ước của bề mặt trái đất lên mặt phẳng, xây dựng trên cơ sở toán học, sử dụng các ký hiệu quy ước để phản ánh sự phân bố, trạng thái và mối quan hệ tương quan của các hiện tượng thiên nhiên và xã hội. Trên bản đồ người ta thể hiện các đối tượng và hiện tượng có trên mặt đất trong thiên nhiên, xã hội và các lĩnh vực hoạt động của con người. Các yếu tố nội dung của bản đồ là: - Thủy hệ - Địa hình bề mặt. - Dân cư - Đường giao thông - Ranh giới hành chính – chính trị - Lớp phủ thổ nhưỡng – thực vật - Các đối tượng kinh tế xã hội Để phục vụ được công tác địa lý, GIS phải lưu trữ đầy đủ các thông tin địa lý này của bản đồ, cung cấp các chức năng giúp quản lý, phân tích và hiển thị thông tin địa lý. Các tri thức này được thể hiện qua các tập thông tin: 5 - Các bản đồ: giao diện trực tuyến với dữ liệu địa lý để tra cứu, trình bày kết quả và sử dụng như là một nền giao thức với thế giới thực. - Các thông tin địa lý: chứa trong các tệp tin trong cơ sở dữ liệu gồm các yêu tố cơ bản, mạng lưới, topology, địa hình, thuộc tính, … - Các mô hình xử lý: tập hợp các quy trình xử lý để phân tích tự động. - Các mô hình dữ liệu: GIS cung cấp các công cụ mạnh hơn là một CSDL thông thường, bao gồm các quy tắc và sự toàn vẹn dữ liệu giống như các hệ thống thông tin khác. - Siêu dữ liệu (metadata) hay tài liệu mô tả dữ liệu, cho phép người sử dụng tổ chức, tìm hiểu và truy nhập được tới tri thức địa lý. 1.5. Tìm hiểu một số hệ thống GIS tiêu biểu 1.5.1. MapInfo MapInfo là công cụ khá hữu hiệu để tạo ra và quản lý một CSDL địa lý trên máy tính cá nhân, là một phần mềm tương đối gọn nhẹ và dễ sử dụng. Đặc biệt, dùng cho mục đích giảng dạy và thành lập các bản đồ chuyên đề phân tích trong địa lý. MapBasic là 1 ngôn ngữ lập trình trong môi trường MapInfo cho phép phát triển các ứng dụng GIS. Nó tạo ra các hệ thống giao diện người dùng thuận lợi và nhanh chóng như tạo thanh menu mới, hộp thoại điều khiển như ý muốn cho phép tiết kiệm thời gian và tiện lợi cho việc triển khai ứng dụng. MapBasic cũng cung cấp công cụ xử lý dữ liệu, đáp ứng các yêu cầu đa dạng về dữ liệu. Nó cho phép truy vấn CSDL, lựa chọn và cập nhật dữ liệu bẳng các câu lệnh theo cú pháp SQL. Hiển thị kết quả truy vấn theo khuôn dạng mong muốn. Ngoài ra, MapBasic cho phép xây dựng chương trình có cấu trúc mở vì nó có khả năng liên kết với các ứng dụng khác. Chương trình MapBasic có thể gọi các thủ tục trong các thư viện các tệp liên kết động của Windows DLL hoặc sử dụng dữ liệu chuyển đổi động DDE (Dynamic Data Exchange) để lin kết với các phần mềm khác. 1.5.2. ArcViewcủa ESRI ArcView là phần mềm thương mại của ESRI về hệ thống thông tin địa lí (GIS). Các chức năng cơ bản của ArcView GIS bao gồm: - Chương trình ArcView GIS chạy trên nền Windows - Hiển thị các lớp bản đồ dạng vector - Tạo và thay đổi cơ sở dữ liệu của các đối tượng địa lí trong bản đồ 6 - Tạo các biểu đồ đơn giản dựa trên thuộc tính của các đối tượng trên bản đồ - Chuẩn bị các bản in ra giấy Hình – ArcView chạy trên Windows Ngoài ra ArcView GIS còn hỗ trợ chức năng lập trình thông qua ngôn ngữ lập trình Avenue, được tích hợp sẵn trong phần mềm. ArcView GIS cũng có khả năng cho phép lập trình liên kết với các ngôn ngữ khác như VB, VC++. ArcView GIS thích hợp cho những ứng dụng GIS nhỏ, đơn người dùng, thích hợp cho việc nghiên cứu về GIS và giảng dạy trong các trường Đại học, Cao đẳng. ArcView cung cấp ngôn ngữ kịch bản riêng của mình. Các kho tài nguyên scripts mẫu do ESRI cung cấp với ArcView. Nhiều scripts có thể tải về miễn phí từ trang web ArcScripts của ESRI và đưa vào chương trình. 1.6. MobileGIS Mobile GIS là phần mở rộng của hệ thông tin địa lý (GIS), cho phép các ứng dụng GIS có thể hoạt động trên thực địa thay vì hoạt động trong phòng. Mobile GIS cho phép người sử dụng ở bên ngoài thực địa thu thập, lưu trữ, cập nhật, thao tác, phân tích, và hiển thị các thông tin địa lý. 7 Mobile GIS tích hợp một hoặc nhiều các công nghệ sau: - Các thiết bị Mobile - Hệ thống định vị toàn cầu (GPS) - Công nghệ truyền thông không dây cho truy cập GIS Internet ArcPad là giải pháp toàn diện GIS cho thiết bị cầm tay với mục đích cập nhật dữ liệu cho hệ thống GIS như thu thập, truy vấn, phân tích và quản lý dữ liệu địa lý. ArcPad cung cấp các chức năng đồng bộ hóa dữ liệu với ArcGIS nhằm nâng cao chức năng xử lý dữ liệu địa lý, cùng với khả năng chuyển đổi dữ liệu. ArcPad là công cụ cho các chuyên gia về GIS bởi khả năng tích hợp hỗ trợ các thiết bị thu thập dữ liệu cầm tay tiện ích và hiện đại. Các khả năng chính - Được xây dựng với các công cụ cập nhật dữ liệu địa lý mạnh, quản lý dữ liệu không gian tốt, phục vụ quá trình chỉnh sửa, cập nhật thông tin cho dữ liệu không gian và thuộc tính. - Cho phép sử dụng với các thiết bị như PPC, Smart Phone, Pcphone. - Cho phép