Đồ án Xây dựng ứng dụng bản đồ trực tuyến trên công nghệ CartoWeb

Hệ thống thông tin địa lý (GIS ư Geographic Information System) là một trong những ứng dụng rất có giá trị của công nghệ tin học trong ngành địa lý, điều tra cơ bản, quy hoạch đô thị, cảnh báo môi trường,. Sự phát triển không ngừng của công nghệ thông tin đã đưa tin học thâm nhập sâu vào nhiều lĩnh vực khoa học và đời sống, mở ra một giai đoạn mới trong quá trình phát triển khoa học, đặc biệt là sự phát triển của GIS trong việc khai thác thông tin địa lý.

pdf87 trang | Chia sẻ: vietpd | Lượt xem: 1667 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Đồ án Xây dựng ứng dụng bản đồ trực tuyến trên công nghệ CartoWeb, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Hoàng Anh Đức 1 Tin học Trắc địa K47 Mục lục Mục lục......................................................................................................... 1 Mở đầu........................................................................................................... 4 Ch−ơng I Giới thiệu chung về đồ án.............................................. 6 I.1 Giới thiệu chung về bản đồ ...................................................................... 6 I.1.1 Bản đồ thông th−ờng......................................................................... 6 I.1.2 Bản đồ số........................................................................................... 6 I.1.3 Bản đồ trực tuyến .............................................................................. 6 I.2 Mục đích, yêu cầu.................................................................................... 7 I.2.1 Tên đề tài........................................................................................... 7 I.2.2 Mục đích ........................................................................................... 7 I.2.3 Yêu cầu ............................................................................................. 7 Ch−ơng II Những khái niệm cơ bản liên quan đến hệ thống bản đồ trực tuyến................................................................... 9 II.1 Các thành phần có liên quan................................................................... 9 II.1.1 Phần mềm mã nguồn mở ................................................................. 9 II.1.2 Cơ sở dữ liệu .................................................................................. 10 II.2 Tổng quan về bản đồ............................................................................. 12 II.2.1 Bản đồ là gì .................................................................................... 12 II.2.2 Các yếu tố nội dung của bản đồ .................................................... 13 II.2.3 Các phép toán cơ bản trên bản đồ.................................................. 17 II.2.4 Các phép phân tích không gian trong GIS ..................................... 19 II.2.5 Tổng quan các kiến trúc chung của các WebGIS.......................... 21 II.3 Những khái niệm cơ bản về hệ thống bản đồ trực tuyến ...................... 24 II.3.1 Khái niệm Bản đồ trực tuyến (webmap)........................................ 24 Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Hoàng Anh Đức 2 Tin học Trắc địa K47 II.3.2 Giao thức IP (Internet Protocol - Giao thức Liên mạng) ............... 25 II.3.3 Tên miền (domain name)............................................................... 26 II.3.4 DNS (Domain Name Server) ......................................................... 28 II.3.5 Web Server..................................................................................... 29 II.3.6 Cơ sở dữ liệu thông tin địa lý......................................................... 30 II.3.7 Map server ..................................................................................... 32 II.3.8 Map Services.................................................................................. 33 II.3.9 Cartoweb........................................................................................ 34 Ch−ơng III Khảo sát các công nghệ trên thế giới và lựa chọn công nghệ để xây dựng đề tài........................................... 35 III.1 Khảo sát các website bản đồ trực tuyến trong n−ớc và trên thế giới... 35 III.1.1 Các phần mềm Web GIS hiện nay ............................................... 35 III.1.2 Khảo sát các trang web bản đồ trực tuyến trên thế giới ............... 38 III.1.3 Đánh giá ....................................................................................... 45 III.2 Lựa chọn công nghệ ............................................................................ 49 Ch−ơng IV : Phân tích và xây dựng ứng dụng bản đồ trực tuyến bằng công nghệ CartoWeb............................................... 50 IV.1 Phân tích hệ thống bản đồ trực tuyến.................................................. 50 IV.1.1 Sơ đồ khối chức năng hệ thống .................................................... 50 IV.1.2 Chức năng của hệ thống bản đồ trực tuyến.................................. 50 IV.1.3 Các yêu cầu .................................................................................. 53 IV.2 Xây dựng ứng dụng bản đồ trực tuyến bằng công nghệ Cartoweb ..... 58 IV.2.1 Hệ điều hành ................................................................................ 58 IV.2.2 Cài đặt Webmap Server................................................................ 58 IV.2.3 Cài đặt postgreSQL ...................................................................... 61 IV.2.4 Cài đặt postGIS............................................................................. 64 Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Hoàng Anh Đức 3 Tin học Trắc địa K47 IV.2.5 Cài đặt Cartoweb.......................................................................... 65 IV.3 Đ−a dữ liệu vào cơ sở dữ liệu.............................................................. 67 IV.4 Chuẩn hóa dữ liệu ............................................................................... 68 IV.5 Thiết lập các thông số cho Mapserver & CartoWeb để hiển thị thông tin địa lý....................................................................................................... 69 IV.5.1 Thiết lập thông số cho Mapserver................................................ 69 IV.5.2 Thiết lập thông số cho CartoWeb ................................................ 77 IV.6 Chỉnh sửa giao diện ng−ời dùng.......................................................... 79 IV.7 Một số hình ảnh demo ứng dụng bản đồ trực tuyến ........................... 80 Kết luận, kiến nghị và đánh giá ................................................... 82 Những kết quả đạt đ−ợc............................................................................... 82 H−ớng phát triển.......................................................................................... 82 Kết luận chung ............................................................................................ 83 Tài liệu tham khảo............................................................................... 85 Phụ lục........................................................................................................ 87 Các hình vẽ trong đồ án............................................................................... 87 Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Hoàng Anh Đức 4 Tin học Trắc địa K47 Mở đầu Hệ thống thông tin địa lý (GIS - Geographic Information System) là một trong những ứng dụng rất có giá trị của công nghệ tin học trong ngành địa lý, điều tra cơ bản, quy hoạch đô thị, cảnh báo môi tr−ờng,... Sự phát triển không ngừng của công nghệ thông tin đã đ−a tin học thâm nhập sâu vào nhiều lĩnh vực khoa học và đời sống, mở ra một giai đoạn mới trong quá trình phát triển khoa học, đặc biệt là sự phát triển của GIS trong việc khai thác thông tin địa lý. ở n−ớc ta, trong những năm gần đây đã ứng dụng hệ thống thông tin địa lý trong nhiều lĩnh vực, chủ yếu trong lĩnh vực quản lý nhà n−ớc về tài nguyên và môi tr−ờng: quản lý đất đai, đo đạc bản đồ, môi tr−ờng, tài nguyên n−ớc, khí t−ợng thủy văn, địa chất khoáng sản. Cùng với sự phát triển đó, việc đ−a thông tin địa lý lên Internet là điều dễ hiểu và đang đ−ợc phát triển khá mạnh. Tuy nhiên cũng ch−a có nhiều tổ chức xây dựng đ−ợc một hệ thống giúp cho việc tra cứu thông tin địa lý đ−ợc dễ dàng, nhanh chóng và chính xác. H−ớng đi nói chung để xây dựng hệ thống giúp cho việc tra cứu thông tin GIS trực tuyến một cách hiệu quả và nhanh chóng là xây dựng một website, trong đó ng−ời sử dụng có thể tra cứu các thông tin GIS trực tiếp trên bản đồ của khu vực mà họ quan tâm. Đứng tr−ớc yêu cầu thực tế đó, em đã chọn cho mình đề tài để làm luận văn tốt nghiệp là “Xây dựng ứng dụng bản đồ trực tuyến trên công nghệ CartoWeb”. Luận văn gồm: Phần I: Giới thiệu chung về đồ án Phần II: Những khái niệm cơ bản liên quan đến hệ thống bản đồ trực tuyến Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Hoàng Anh Đức 5 Tin học Trắc địa K47 Phần III: Khảo sát các công nghệ trên thế giới và lựa chọn công nghệ để xây dựng đề tài Phần IV: Phân tích và xây dựng ứng dụng bản đồ trực tuyến bằng công nghệ CartoWeb Xin trân trọng gửi lời cám ơn tới PGS, TS Lê Tiến V−ơng cùng Th.S Nguyễn Tiến H−ng, cũng nh− các anh trong phòng Quản lý Mạng thông tin và Cơ sở dữ liệu – Trung tâm thông tin Bộ tài nguyên và Môi tr−ờng đã h−ớng dẫn tận tình cho em hoàn thành luận văn này. Xin trân trọng cám ơn, Sinh viên thực hiện: Hoàng Anh Đức Lớp Tin học – Trắc Địa K47 Khoa Công Nghệ Thông Tin Tr−ờng Đại Học Mỏ - Địa Chất Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Hoàng Anh Đức 6 Tin học Trắc địa K47 Ch−ơng I Giới thiệu chung về đồ án I.1 Giới thiệu chung về bản đồ I.1.1 Bản đồ thông th−ờng Bản đồ thông th−ờng là bản vẽ đơn giản miêu tả một không gian, địa điểm và hiển thị những thông số liên quan trực tiếp đến vị trí ấy có liên quan đến khu vực xung quanh. Bản đồ thông th−ờng không thể dùng để tra cứu cùng một lúc và nhanh chóng các thông tin địa lý (nh− thông tin về số dân, diện tích, năm thành lập địa điểm, tổng thu nhập bình quân...) cũng nh− không có khả năng chỉ ra đ−ờng đi ngắn nhất giữa 2 điểm, tìm kiếm địa điểm... I.1.2 Bản đồ số Bản đồ số là 1 cơ sở dữ liệu l−u giữ các thông tin đã đ−ợc số hoá từ bản đồ th−ờng. Các thông tin này có thể là khoảng cách, các vật thể, độ cao (số hoá 3D) ... Bản đồ số có thể có một lớp hoặc nhiều lớp. Bản đồ số đ−ợc l−u trong cơ sở dữ liệu ( có thể là các file hình ảnh của các phần mềm đồ họa, hoặc là dữ liệu đ−ợc đ−a vào một hệ quản trị cơ sở dữ liệu nào đó), do đó, nó có thể có thêm nhiều thông tin khác ngoài thông tin hình ảnh của một bản đồ thông th−ờng. Bằng nhiều cách, bản đồ số có thể đ−ợc dùng làm công cụ để tra cứu thông tin địa lý một cách hiệu quả, thay thế một cách hoàn hảo cho bản đồ thông th−ờng. I.1.3 Bản đồ trực tuyến Là một dạng của bản đồ số, nh−ng có khả năng cơ động rất cao, chỉ cần máy tính có kết nối với Internet, với nhiều tính năng bản đồ trực tuyến Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Hoàng Anh Đức 7 Tin học Trắc địa K47 giúp ng−ời sử dụng rất thuận tiện trong việc tìm kiếm, tra cứu thông tin địa lý trên bản đồ. Với bản đồ trực tuyến, một đối t−ợng đ−ợc gắn liền với thông tin địa lý, do đó cho phép ng−ời sử dụng tra cứu thông tin rất nhanh chóng và hiệu quả, gần nh− làm việc với một ứng dụng bản đồ của máy tính thông th−ờng mà có khả năng tra cứu thông tin GIS. Với một số tính năng nh− in ấn, zoom phóng,... Bản đồ trực tuyến có thể đ−ợc chuyển thành dạng bản đồ giấy cho ng−ời dùng sử dụng lúc cần thiết qua thao tác in ấn bản đồ hoặc cũng có thể chuyển thành dạng bản đồ số khác nh− xuất ra các file dxf, jpg, bmp... Bản đồ trực tuyến đang là h−ớng đi đ−ợc phát triển mạnh, nhằm đ−a thông tin đến cho mọi ng−ời ở mọi lúc, mọi nơi. I.2 Mục đích, yêu cầu I.2.1 Tên đề tài “Xây dựng ứng dụng bản đồ trực tuyến trên công nghệ CartoWeb” I.2.2 Mục đích Xây dựng một ứng dụng bản đồ trực tuyến trên cơ sở mã nguồn mở bằng công nghệ CartoWeb, nhằm hộ trợ tối đa ng−ời sử dụng trong việc tìm kiếm thông tin địa lý của một khu vực trên nền bản đồ. I.2.3 Yêu cầu Xây dựng 1 website trong đó ng−ời sử dụng có thể thao tác với bản đồ nh− sau: − Có các công cụ điều khiển màn hình, nh−: phóng to, thu nhỏ, dịch chuyển, xem toàn bộ bản đồ, in ấn, quay về hình ảnh tr−ớc, tới hình ảnh sau, định vị điểm giữa,… Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Hoàng Anh Đức 8 Tin học Trắc địa K47 − Có các công cụ điểu khiển Layer (Lớp bản đồ): Các layer đ−ợc sắp xếp theo thứ tự định sẳn và có các công cụ tùy biến vị trí cũng nh− tắt mở theo yêu cầu ng−ời sử dụng. − Có màn hình bản đồ thu nhỏ − Có công cụ hiện thị chú giải các ký hiệu và hình thức hiện thị các lớp dữ liệu. − Có phần hiển thị tỷ lệ và tọa độ. − Các công cụ tìm kiếm theo các thông tin và liệt kê đối t−ợng trên bản đồ theo khung nhìn hiện tại. − Có công cụ tìm đ−ờng theo đ−ờng đi ngắn nhất từ 2 điểm trên bản đồ. Tính khoảng cách ... − Có thể xuất ra các định dạng pdf, html… Ra dạng ảnh bmp, jpg… Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Hoàng Anh Đức 9 Tin học Trắc địa K47 Ch−ơng II Những khái niệm cơ bản liên quan đến hệ thống bản đồ trực tuyến II.1 Các thành phần có liên quan II.1.1 Phần mềm mã nguồn mở Hiểu theo nghĩa rộng là một khái niệm chung đ−ợc sử dụng cho tất cả các phần mềm mà mã nguồn của nó đ−ợc công bố rộng rãi công khai và cho phép mọi ng−ời tiếp tục phát triển phần mềm đó. Các ứng dụng mã nguồn mở bao gồm: a. Ngôn ngữ lập trình web Việc xây dựng các trang web dựa trên công nghệ mã nguồn mở hiện nay đang là xu h−ớng mới và đang phát triển rất mạnh. Có nhiều ngôn ngữ lập trình web mã nguồn mở đang đ−ợc sử dụng rộng rãi nh− PHP, Ruby, Ruby on Rails... Đồ án đ−ợc xây dựng dựa trên ngôn ngữ lập trình mã nguồn mở PHP. PHP (Personal Home Page) đ−ợc phát triển từ một sản phẩm có tên là PHP/FI (Personal Home Page/Forms Interpreter). PHP/FI do Rasmus Lerdorf tạo ra năm 1995, ban đầu đ−ợc xem nh− là một tập con đơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng. Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools'. Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho ng−ời sử dụng phát triển các ứng dụng web từ đơn giản đến phức tạp. Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi ng−ời xem, sử dụng cũng nh− sửa các lỗi có trong nó đồng thời cải tiến mã nguồn. Trải qua quá trình phát triển hơn 10 năm, đến nay, PHP đã trải qua nhiều phiên bản, với nhiều Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Hoàng Anh Đức 10 Tin học Trắc địa K47 tính năng đ−ợc cải tiến, phiên bản hiện tại là PHP 5.2.2 đ−ợc công bố ngày 3/5/2007 trên trang web II.1.2 Cơ sở dữ liệu a. Cơ sở dữ liệu MySQL MySQL là một phần mềm mã nguồn mở, MySQL sử dụng GPL (GNU General Public License) để định nghĩa những gì bạn có thể và không thể làm với phần mềm trong các tr−ờng hợp khác nhau. MySQL Server hoạt động trong các hệ thống nhúng hoặc client/server Phần mềm cơ sở dữ liệu MySQL là một hệ thống client/server bao gồm một SQL server đa tiến trình hỗ trợ cho các ứng dụng ở các server khác nhau, nhiều ch−ơng tình và các th− viện phía client và các công cụ cho việc quản trị, và một khối l−ợng lớn các hàm APIs. MySQL hỗ trợ l−u trữ dữ liệu không gian theo chuẩn Open GIS của tổ chức OGC. Đây là một tổ chức quốc tế gồm hơn 250 công ty, chi nhánh và các tr−ờng đại học tham gia vào sự phát triển cho các giải pháp còn là ý niệm mà có thể sẽ hữu dụng với tất cả các loại ứng dụng quản lý dữ liệu không gian. MySQL cài đặt một phần môi tr−ờng SQL với kiểu dữ liệu hình học Geometry Types đ−ợc đ−a ra bởi OGC. Điều này muốn đề cập đến môi tr−ờng SQL đ−ợc mở rộng với một tập các kiểu dữ liệu hình học Geometry Type. Một sql column có kiểu là Geometry đ−ợc hiểu là column có kiểu là Geometry. Các đặc tả cho tập các kiểu dữ liệu SQL geometry, cũng nh− các hàm cho các kiểu dữ liệu này tạo và phân tích các giá trị Geometry. MySQL hỗ trợ l−u trữ dữ liệu không gian theo chuẩn Open GIS của tổ chức OGC. Đây là một tổ chức quốc tế gồm hơn 250 công ty, chi nhánh và các tr−ờng đại học tham gia vào sự phát triển cho các giải pháp còn là ý niệm mà có thể sẽ hữu dụng với tất cả các loại ứng dụng quản lý dữ liệu không gian. MySQL cài đặt một phần môi tr−ờng SQL với kiểu dữ liệu hình học Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Hoàng Anh Đức 11 Tin học Trắc địa K47 Geometry Types đ−ợc đ−a ra bởi OGC. Điều này muốn đề cập đến môi tr−ờng SQL đ−ợc mở rộng với một tập các kiểu dữ liệu hình học Geometry Type. Một sql column có kiểu là Geometry đ−ợc hiểu là column có kiểu là Geometry. Các đặc tả cho tập các kiểu dữ liệu SQL geometry, cũng nh− các hàm cho các kiểu dữ liệu này tạo và phân tích các giá trị Geometry. Một đặc tính của geometry là bất kỳ thứ gì mà có vị trí, có đặc tính có thể là: − Một thực thể: Ví dụ: một ngọn núi, một cái hồ, một thành phố − Một vùng: Ví dụ một vùng có cùng mã b−u điện, những vùng nhiệt đới. − Một vị trí có thể định nghĩa đ−ợc. Ví dụ, một ngã t−, là một nơi đặc biệt là nơi giao nhau giữa hai con đ−ờng. b. Cơ sở dữ liệu PostgreSQL Đề tài sử dụng PostgreSQL 8.2 làm ngôn ngữ quản trị cơ sở dữ liệu. PostgreSQL 8.2 là một ngôn ngữ quản trị cơ sở dữ liệu quan hệ đối t−ợng (ORDBMS). Ban đầu, PostgreSQL đ−ợc xây dựng trên nền tảng là hệ quản trị cơ sở dữ liệu POSTGRES phiên bản 4.2, đ−ợc phát triển ở tr−ờng đại học Công nghệ máy tính Berkeley California Mỹ. Postgres đã mở đ−ờng cho nhiều t− t−ởng chỉ có thể thực hiện đ−ợc ở một vài hệ cơ sở dữ liệu phát triển rất lâu sau này. PostgreSQL hỗ trợ phần lớn chuẩn SQL và cho phép nhiều công cụ hiện đại: − Các query phức tạp − Các khóa ngoài − Các trigger Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Hoàng Anh Đức 12 Tin học Trắc địa K47 − Các view − Giao dịch toàn vẹn (Transactional integrity) Hơn nữa, PostgreSQL có thể đ−ợc mở rộng bởi ng−ời sử dụng bằng nhiều cách, ví dụ nh− thêm mới: − Kiểu dữ liệu − Các hàm, các toán tử − Các hàm tập họp − Các ph−ơng thức chỉ mục − Các ngôn ngữ thủ tục PostgreSQL có thể đ−ợc sử dụng, sửa và phân bố một cách miễn phí. Vì thế, đề tài đã chọn lựa PostgreSQL để dùng làm cơ sở dữ liệu. II.2 Tổng quan về bản đồ II.2.1 Bản đồ là gì 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 với sự trợ giúp và sử dụng các ký hiệu qui −ớ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 đ−ợc lựa chọn và khái quát hoá để phù hợp với mục đích sử dụng và đặc tr−ng cho khu vực nghiên cứu. Hình 2.1. Biểu thị của bề mặt trái đất lên mặt phẳng Đồ án tốt nghiệp chuyên ngành Tin học Trắc địa Hoàng Anh Đức 13 Tin học Trắc địa K47 II.2.2 Các yếu tố nội dung của bản đồ a. Thuỷ hệ Gồm các đối t−ợng thuỷ văn: biển, sông, kênh, hồ, các hồ chứa n−ớc nhân tạo, mạch n−ớc, giếng, m−ơng máng, ... các công trình thuỷ lợi khác và giao thông thuỷ: bến cảng, cầu cống, thuỷ điện, đập. Theo giá trị giao thông chia sông thành tàu bè đi lại đ−ợc hay không, theo tính chất dòng chảy: có dòng chảy hoặc khô cạn một mùa,... nguồn n−ớc: tự nhiên nhân tạo các kiểu đ−ờng bờ. Khi thể hiện thuỷ hệ ng−ời ta dùng các ký hiệu khác nhau ho phép phản ánh đầy đủ nhất các đặc tính. Bằng những ký hiệu bổ sung, giải thích con số,... thể hiện các đặc tính nh−: chiều rộng, sâu tốc độ h−ớng dòng chảy, chất đáy, điểm đ−ờng bờ chất l−ợng n−ớc,... đối với những đối t−ợng quan trọng ta ghi chú tên gọi địa lý của chúng. Trên bản đồ sông đ−ợc thể hiện bằng một hoặc hai nét phụ thuộc vào độ rộng trên thực địa mức độ quan trọng và tỷ lệ bản đồ. b. Điểm dân c− Là một trong các yếu tố quan trọng nhất của bản đồ địa hình đ−ợc đặc tr−ng bởi kiểu c− trú: (TT,TN), dân số ý nghĩa hành chính chính trị. Đặc điểm của dân c− đ−ợc biểu thị bằng độ lớn màu sắc, kiểu dáng của ký hiệu và ghi chú tên gọi. Ví dụ: trên bản đồ địa hình tỷ lệ 1/5000 biểu thị tất cả các công trình xây dựng theo tỷ lệ, đặc tr−ng của vật liệu xây dựng ... Trên bản đồ 25.000 đến 100.000 biểu thị các điểm dân c− tập trung bằng các ô phố và khái quát đặc t