Xây dựng hệ thống quản lý dữ liệu bản đồ số dựa trên công nghệ MapServer

MỤC LỤC

Các tính chất của bản đồ

Căn cứ vào tỷ lệ, phép chiếu, vào thang bậc của các dấu hiệu qui ước, người sử dụng có khả năng xác định các trị số khác nhau như: toạ độ, biên độ, khoảng cách, diện tích, thể tích, góc. Chính nhờ tính chất này mà bản đồ được dùng làm cơ sở để xây dựng các mô hình toán học của các hiện tượng địa lý, giải quyết các bài toán khoa học và thực tiễn.

Cơ sở toán học của bản đồ địa lý Bao gồm

Cơ sở trắc địa – thiên văn của bản đồ

Cơ sở trắc địa - thiên văn được thể hiện bằng các điểm khống chế, các điểm khống chế là những điểm đã được cố định trên thực địa và được xác định toạ độ. Tuy được định nghĩa đơn giản như vậy song do sự phân bố không đồng đều của các khối vật chất trong vỏ quả đất làm biến đổi hướng trọng lực, nên bề mặt Geoid có dạng phức tạp về mặt hình học.

Hệ toạ độ

Vị trí của kinh độ và vĩ độ thực tế chỉ có tính cách tương đối, khoảng cách và diện tích phải được tính toán bằng việc dùng phương pháp tính toán địa lý không gian và bán kính của trái đất đến các điểm cần tính.Về mặt ứng dụng, vĩ độ và kinh độ thường được sử dụng trong việc mô tả các vùng đất chính. Qua bất kỳ một điểm nào đó trên bề mặt Elipxoid kẻ một đường thẳng đứng (pháp tuyến) hướng vào trong Elipxoid khi cắt mặt phẳng xích đạo, đường pháp tuyến tạo với nó một góc, đó chính là vĩ độ địa lý, được tính từ xích đạo, nhận giá trị từ 0 đến 900 lê bắc ký hiệu là N, hoặc Nam là S.

Các hệ quy chiếu bản đồ (Map Projection) 1. Lưới chiếu bản đồ (lưới kinh vĩ tuyến)

Phép chiếu bản đồ

Muốn xây dựng bản đồ một khu vực hoặc thế giới, ta căn cứ vào vị trí địa lý, đặc điểm hình học và kích thước to nhỏ của khu vực thiết kế bản đồ, căn cứ vào bố cục bản đồ mà chọn một trong những phương pháp chiếu đồ giữ góc, giữ diện tích, giữ chiều dài. Các bản đồ xuất bản thông thường chúng ta dùng lưới chiếu giữ hình dạng, đối với các mục đích nghiên cứu thường dùng lưới chiếu giữ diện tích.Việc phân loại chỉ là tương đối, hiện nay chúng ta đang áp dụng rộng rãi các phương pháp giải tích toán học để tính toán các phép chiếu mới có dạng lưới chuẩn.

Hình 3 : Phép chiếu bản đồ
Hình 3 : Phép chiếu bản đồ

Các phương pháp biểu thị hiện tượng trên bản đồ

    Các điểm được đặt lên bản đồ sẽ có sự phân bố không đồng đều và có mật độ khác nhau tương ứng với sự phân bố thực của hiện tượng, sự phản ánh đúng đắn sự phân bố của các đối tượng bằng phương pháp điểm chỉ có thể đạt được nếu trên lãnh thổ tiến hành thống kê hiện tượng theo những đơn vị đủ nhỏ. - Ký hiệu chữ: Ký hiệu gồm một, hai chữ cái đầu tiên tên gọi của đối tượng hoặc hiện tượng thường dùng để thể hiện các mỏ khoáng sản, các ký hiệu chữ dễ hiểu, dễ nhớ nhưng khó thể hiện chính xác vị trí của đối tượng thường được kết hợp với ký hiệu hình học.

    GIS - Hệ thống thông tin địa lý

    Khái niệm hệ thống thông tin địa lý .1 Định nghĩa GIS

    • Các thành phần của GIS

      Lưu trữ và quản lý cơ sở dữ liệu (Geographic database): Lưu trữ và quản lý cơ sở dữ liệu đề cập đến phương pháp kết nối thông tin vị trí và thông tin thuộc tính của các đối tượng địa lý (điểm, đường đại diện cho các đối tượng trên bề mặt trái đất). Để hoạt động thành công, hệ thống GIS phải được đặt trong 1 khung tổ chức phù hợp và có những hướng dẫn cần thiết để quản lý, thu thập, lưu trữ và phân tích số liệu, đồng thời có khả năng phát triển được hệ thống GIS theo nhu cầu.

      Dữ liệu trong GIS 1. Các dạng dữ liệu GIS

      • Mô hình thông tin không gian

        Đối với các đối tượng biểu diễn trên mặt phẳng, mỗi đối tượng điểm được biểu diễn bởi một cặp tọa độ (x, y); đối tượng đường được xác định bởi một chuỗi liên tiếp các điểm (vertex), đoạn thẳng được nối giữa các điểm (vertex) hay còn gọi là cạnh (segment), điểm bắt đầu và điểm kết thúc của một đường gọi là các nút (node); đối tượng vùng được xác định bởi các đường khép kín. Việc chọn của cấu trúc dữ liệu dưới dạng vector hoặc raster tuỳ thuộc vào yêu cầu của người sử dụng, đối với hệ thống vector, thì dữ liệu được lưu trữ sẽ chiếm diện tích nhỏ hơn rất nhiều so với hệ thống raster, đồng thời các đường contour sẽ chính xác hơn hệ thống raster. Tuy nhiên đối với việc sử dụng ảnh vệ tinh trong GIS thì nhất thiết phải sử dụng dưới dạng raster.Một số công cụ phân tích của GIS phụ thuộc chặt chẽ vào mô hình dữ liệu raster, do vậy nó đòi hỏi quá trình biến đổi mô hình dữ liệu vector sang dữ liệu raster, hay còn gọi là raster hoá.

        Hình 9: Đối tượng đường gồm các nút điểm cạnh
        Hình 9: Đối tượng đường gồm các nút điểm cạnh

        WebGIS – Công nghệ GIS qua mạng 1. Giới thiệu WebGIS

        • Các kiến trúc triển khai WebGIS
          • Trao đổi dữ liệu của hệ thống WebGIS

            Thách thức lớn của WebGIS là việc tạo ra một hệ thống phần mềm không phụ thuộc vào platform và chạy trên chuẩn giao thức mạng TCP/IP, có nghĩa là khả năng WebGIS được chạy trên bất kì trình duyệt web của bất kì máy tính nào nối mạng Internet. Máy khách phải có khả năng đủ mạnh để xử lý các yêu cầu này.Thay vì phải bắt máy chủ xử lý tất cả thì một số chức năng GIS sẽ được tải về máy khách, trú ngụ ở đó và dữ liệu được xử lý tại máy khách. Tuy nhiên thay vì trả về một ảnh bản đồ dạng đồ họa thì Web Feature Server sẽ gửi về thông tin không gian và thông tin thuộc tính có liên quan dưới dạng file GML (Geographic Markup Language) một dạng file XML, client sử dụng file XML này để tạo ra ảnh bản đồ.

            2.3.2. Sơ đồ hoạt động của WebGIS
            2.3.2. Sơ đồ hoạt động của WebGIS

            MapServer – WebGIS Application

            • Các thành phần của Mapserver
              • Tìm hiểu Mapfile

                Mapscript cung cấp môi trường thuận lợi cho việc phát triển các ứng dụng tích hợp các dữ liệu phân tán.Ta có thể lấy dữ liệu không gian qua các ngôn ngữ kịch bản và dựa vào Mapscript ta có thể tạo ra được ảnh bản đồ. Dữ liệu vector, Mapserver sử dụng ESRI shapefile làm dữ liệu mặc định.Ngoài ra các định dạng dữ liệu vector GIS phổ biến khác hiện nay, Mapserver đều có thể hiểu và tương tác được, như PostGIS, ESRI, ArcSDE, MapInfo… và nhiều định dạng khác thông qua thư viện OGR. Các chuỗi này sẽ được sử dụng, ví dụ chuỗi chỉ đường dẫn để lưu ảnh bản đồ do Mapserver tạo ra, hoặc chuỗi dùng để nhận diện các lớp nào sẽ được sắp xếp, …MapServer thay thế các giá trị hiện tại vào các các chuỗi này và gửi luồng dữ liệu về cho WebServer để WebServer tiếp tục chuyển về cho trình duyệt.

                3.3. Sơ đồ hoạt động của  Mapserver
                3.3. Sơ đồ hoạt động của Mapserver

                TOLERANCE 6

                Query Map Object

                - COLOR [r][g][b] : Khi xác định được đối tượng trên bản đồ, được chọn để truy vấn, Mapserver sẽ vẽ lại đối tượng này với màu là Color. - SIZE [x][y] : Phạm vi thực hiện truy vấn, ngoài phạm vi này các đối tượng sẽ không được chọn để truy vấn dữ liệu. - STYLE [normal|hilite|selected] : Quy định cách thức vẽ lại các đối tượng được chọn cho truy vấn, các đối tượng khác vẫn được vẽ lại như bình thường.

                Kết nối các loại dữ liệu

                  Trong đó DATA chỉ ra đường dẫn tới file ảnh raster, có thể là đường dẫn tuyệt đối hoặc tương đối theo SHAPEPATH khai báo trong đối tượng MAP. Ngoài các tham số trên một đối tượng layer dạng raster còn có thể thêm các thông tin PROJECTION, METADATA, MINSCALE, MAXSCALE và không có CONNECTION, CONNECTIONTYPE, FEATURE, LABEL…. Dữ liệu raster dưới dạng các pixel, do đó có thể chọn lọc dữ liệu cần dựa vào giá trị của các pixel, hoặc dựa theo bảng màu giá trị của pixel theo bộ ba giá trị r, g, b.

                  0 255 END END END

                  Kết nối dùng thư viện OGR

                  OGR hỗ trợ rất nhiều định dạng: ArcInfo Coverages, ESRI shapefiles, MapInfo, OGDI vectors, Oracle Spatial, PostgreSQL…. OGR được tích hợp thẳng vào source code của Mapserver, do đó để thực hiện kết nối một layer sử dụng OGR chỉ cần thay đổi và khai báo layer trong mapfile. - SQL SELECT: câu SQL SELECT được dùng, trong trường hợp dữ liệu được lưu trữ trong một cơ sở dữ liệu gồm nhiều bảng.

                  Kết nối dữ liệu dùng WMS

                  Cần đặt giá trị cho tham số IMAGEPATH trong đó đối tượng WEB của mapfile chỉ đến một thư mục hợp lệ và có thể ghi được. + “wms_name” (metadata): danh sách các layer được lấy từ WMS server, giá trị được dùng để đặt LAYERS và tham số QUERY_LAYERS WMS URL. + “wms_server_version” : phiên bản của giao thức WMS được hỗ trợ bởi WMS server, và WMS server sẽ dùng cho GetMap.

                  Xây dựng hệ thống quản lý bản đồ số dựa trên công nghệ MapServer

                  Bài toán xây dựng hệ thống quản lý bản đồ số

                  Với internet người sử dụng có thể dùng những ứng dụng bản đồ mà không cần phải cài đặt bất cứ phần mềm nào phức tạp và tốn kém. Trên tư tưởng đó, em muốn tìm hiểu xây dựng demo một website quản lý thông tin trên bản đồ, hiển thị các thông tin đó lên bản đồ, sử dụng công nghệ WebGIS mã nguồn mở MapServer. Các thông tin đó có thể là vị trí các điểm du lịch, nhà hàng, khách sạn….

                  Dữ liệu bản đồ 1. Shapefile

                  • Xây dựng các chức năng

                    - Layer Quận: Định nghĩa layer vẽ các quận, trong layer này định nghĩa các class như là class Quận Ba Đình, Quận Cầu Giấy, Quận Thanh Xuân… để mô tả chi tiết vẽ các quận phân biệt màu sắc, tên quận cho dễ nhận biết. Giải thuật: Lấy tên của lớp đó qua tên của checkbox, dùng hàm getLayerbyname để tạo một đối tượng layer tương ứng với lớp đó, tùy vào checkbox được check hay không thì dùng hàm set(‘status’,MS_ON||MS_OFF) với đối tượng layer đó. - Giải thuật: Tìm kiếm theo tên đối tượng trong cơ sở dữ liệu, nếu đối tượng tồn tại trong cơ sở dữ liệu, thì lấy ra tọa độ theo kinh độ và vĩ độ của đối tượng đó, chuyển tọa độ đó về tọa độ màn hình dùng hàm map2img, dùng hàm zoomPoint để thiết lập các thông số cho ảnh bản đồ hiển thị kết quả tìm kiếm.

                    Cài đặt chương trình và thử nghiệm 1. Cài đặt

                      - Hàm AddPoint(): Thêm các điểm trên bản đồ là vị trí của các nhà hàng, khách sạn theo kinh độ và vĩ độ của nhà hàng đó, được lưu trong cơ sở dữ liệu. Việc dịch chuyển với người dùng sẽ khó khăn trong việc xác định chính xác vị trí cần dịch chuyển. Chức năng được thực hiện tốt, nhà hàng được tìm thấy sẽ được dịch chuyển tới giữa khung ảnh cho người dùng.

                      Hình 22: Giao diện chính chương trình
                      Hình 22: Giao diện chính chương trình