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.
58 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 2134 | Lượt tải: 3
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