MapWindow và các plug-in để mở rộng chức năng

Một phần của tài liệu (LUẬN văn THẠC sĩ) phân cụm dữ liệu địa lý và áp dụng trong phân tích một số chỉ số kinh tế xã hội của các địa phương ở việt nam 01 (Trang 31 - 35)

CHƯƠNG 1 : DỮ LIỆU ĐỊA LÝ VÀ PHÂN CỤM DỮ LIỆU ĐỊA LÝ

2.1 MapWindow và các plug-in để mở rộng chức năng

Mục tiêu của luận văn là ứng dụng phân cụm dữ liệu địa lý để nghiên cứu một số chỉ tiêu kinh tế - xã hội ở Việt Nam:

 Sử dụng các thuật toán đã trình bày ở chương trước để thực hiện phân cụm

 Dữ liệu nghiên cứu lấy từ nguồn website của Tổng cục thống kê Việt Nam. Đây là các dữ liệu của từng địa phương trong cả nước về nhiều chỉ tiêu khác nhau và trong các khoảng thời gian khác nhau, ví dụ như: diện tích rừng bị chặt; diện tích rừng bị cháy; diện tích rừng trồng mới; lực lượng lao động; giá trị sản xuất công nghiệp; giá trị sản xuất xây dựng; FDI được cấp phép, v.v…

 Kết quả phân cụm cần được lưu giữ vào CSDL địa lý đồng thời hiển thị trực quan trên bản đồ, dễ hiểu, tiện cho người sử dụng không chuyên CNTT (các nhà quản lý, hoạc định chính sách …) khai thác sử dụng.

Phần lớn các phần mềm GIS đều cho phép bổ sung mở rộng thêm chức năng mong muốn bằng các plug-in. Chọn giải pháp này cho bài toán đặt ra ở trên là cách làm hợp lý. Dưới đây sẽ giới thiệu khái quát về các hệ thống GIS và lý do chọn MapWindow để thực hành.

2.1.1 Các phần mềm GIS

GIS ngày càng phát triển và được ứng dụng vào nhiều lĩnh vực của đời sống kinh tế - xã hội, kéo theo là sự ra đời của các phần mềm GIS. Hiện nay có rất nhiều phần mềm GIS được xây dựng cả trên nền desktop và nền web. Một số phần mềm GIS gồm có:

 Phần mềm viết trên nền Desktop:

o GRASS GIS – Do U.S. Army Corps of Engineers phát triển.

gvSIG – Viết bằng ngôn ngữ JAVA, có thể chạy trên HĐH Linux, Mac,Window

o ILWIS (Integrated Land and Water Information System) – Tích hợp hình ảnh, vector và dữ liệu chuyên đề.

o MapWindow GIS – Ứng dụng desktop mã nguồn mở

o QGIS (previously known as Quantum GIS) – Chạy trên hệ điều hành Linux, Unix, Mac OS X và Windows.

o SAGA GIS (System for Automated Geoscientific Analysis) o uDig – API.

 Ngoài ra có một số tool GIS mã nguồn mở khác:

o Capaware – A C++ 3D GIS Framework: Có cấu trúc đa plugin để phân tích một cách trực quan biểu đồ địa lý.

o FalconView – Hệ thống bản đồ do viện nghiên cứu kỹ thuật Georgia tạo ra. o Kalypso – Uses Java and GML3.

o TerraView – Handles.

o Whitebox GAT – Cross-platform.

 Phần mềm GIS viết trên nền web:

o GeoServer – Written in Java and relies on GeoTools. Allows users to share and edit geospatial data.

o MapGuide Open Source – Runs on Linux or Windows, supports Apache and IIS web servers, and has APIs (PHP, .NET, Java, and JavaScript) for application development.

o Mapnik – C++/Python library for rendering - used by OpenStreetMap. o MapServer – Written in C. Developed by the University of Minnesota. o Spatial database management systems[edit]

o PostGIS – Spatial extensions for the open source PostgreSQL database, allowing geospatial queries.

o SpatiaLite – Spatial extensions for the open source SQLite database, allowing geospatial queries.

o TerraLib – Provides advanced functions for GIS analysis.

2.1.2 Phần mềm GIS MapWindow

MapWindow GIS là một ứng dụng GIS mã nguồn mở tập hợp các thành phần lập trình lập bản đồ, do nhóm phát triển MapWindow OSS Team xây dựng.

Mapwindow GIS có các tính năng cơ bản của một phần mềm GIS như biên tập và hiển thị dữ liệu, truy xuất dữ liệu đa dạng, thao tác tạo và chỉnh sửa dữ liệu dạng shapefile, thao tác với bảng dữ liệu thuộc tính, truy vấn lọc thông tin đối tượng…Ngoài ra, MapWindow còn có một số các chức năng khác như: xử lý hình học (đo khoảng cách, tính diện tích …), phân tích không gian (union, intersect, clipping, …), hỗ trợ tích hợp công cụ đo GPS.

Các chức năng của Mapwindow GIS được thể hiện ở trên thanh công cụ, trong Plugin và trong Toolbox. Trong MapWindow GIS đã được cài đặt sẵn một số Plug-in lõi, như “Shapefile Editor”, cung cấp một số chức năng cơ bản cho việc phân tích, xử lý dữ liệu GIS. Ngoài ra các chức năng và giao diện chính có thể được mở rộng thông qua các Plug-in hoặc kịch bản do người dùng tự thêm vào. Các ứng dụng mặc định của MapWindow cũng có thể thay đổi được để phù hợp với nhu cầu sử dụng của người dùng. Việc cho phép mở rộng và chỉnh sửa các chức năng thông qua Plug-in là một điểm rất mạnh để người dùng có thể phát triển thêm các công cụ hoặc xây dựng các ứng dụng tùy biến theo yêu cầu để đáp ứng nhu cầu sử dụng. Vì thế, luận văn chọn cách tiếp cận sẽ xây dựng một plug-in cho phép thực hiện phân cụm dữ liệu địa lý, sử dụng các thuật toán đã trình bày ở trên.

Một lý do để chọn phần mềm GIS MapWindow là môi trường phát triển ứng dụng trên nền Window, có sẵn nhiều công cụ hỗ trợ, quen thuộc với nhiều người.

 MapWinGIS ActiveX cung cấp các giao diện lập trình (API - Application Programming Interface) cho Shapefile và Grid data

 Ngôn ngữ: Visual C++, C#, Visual Basic, Visual Basic .NET and Delphi.

2.1.3 Xây dựng và sử dụng plug-in với MapWindow

2.1.3.1 Quy tắc chung

Plug-in trong MapWinGIS có thể là một file .dll hoặc là một thư mục chứa nhiều tập tin .dll.

Plug-in có thể được viết và biên dịch ngay trong trình soạn thảo Plug-in của MapWindow hoặc là một file .dll được xây dựng từ bên ngoài bằng cách sử dụng các ngôn ngữ tương thích của DOTNET như C# hay VB.Net.

Tích hợp plug-in với MapWindow rất đơn giản. Hiện nay, với các phiên bản mới, để plug-in được MapWindow nhận biết và tự động tải lên mỗi khi khởi chạy

chương trình thì chỉ cần sao chép tệp dll vào thư mục quy định. Đó là thư mục Plugins, nằm trong thư mục nhà nơi MapWindow được cài đặt. Ví dụ:

C:\Program Files (x86)\MapWindow\Plugins

Việc bật/tắt các plug-in thực hiện đơn giản bằng cách chọn vào mục Plug-ins từ Menu chính và nhấp chuột vào các plug-in muốn kích hoạt. Các plug-in này vẫn được kích hoạt cả với dự án mới cho đến khi nhấp chuột lại một lần nữa vào nó. Một plug-in khi được kích hoạt sẽ hiển thị các nút thanh công cụ hoặc menu mới cho phép người dùng sử dụng chức năng đó.

2.1.3.2 Các bước cụ thể

Dưới đây sẽ hướng dẫn cụ thể các bước cần thực hiện để viết plug-in trong môi trường phát triển quen thuộc là Microsoft Visual Studio 2013, sử dụng ngôn ngữ VB.net, framework .Net 3.5.

- Cài đặt Microsoft Visual Studio, có thể tải về từ liên kết sau: http://www.microsoft.com/en-us/download/details.aspx?id=43721 , và framework .Net 3.5.

- Sau khi cài đặt các chương trình, cần tạo reference từ MapWinGIS ActiveX control đến project trên Microsoft Visual Studio. Các bước thực hiện:

 Bước 1: Tạo một project trên VS, chọn ngôn ngữ VB.NET, loại Class Library, framework .Net 3.5

 Bước 2: Cần thêm MapWinGIS ActiveX control vào tool box của Microsoft Visua Studio bằng cách:

o Bấm Chuột phải vào tên project, chọn Properties

o Trên form Properties, chọn tab Reference, click nút Add. Tại form Reference Manager, chọn nenu Browse, click nút Browse đến thư mục C:\Program Files (x86)\MapWindow, check chọn 2 thư mục: MapWinGIS.ocx và MapWininterfaces.dll

 Bước 3: Quay trở lại form Reference Manager, chọn Menu Assemblies\Framework, check chọn System.Drawing, bấm OK để add vào Reference

Có thể thiết lập đường dẫn để build file dll bằng cách: Tại menu Compile, lưu đường dẫn đến thư mục Plugins của MapWindow trên máy tính, ví dụ như C:\Program Files (x86)\MapWindow\Plugins, như vậy, sau khi build project, file dll sẽ tự động được thêm vào thư mục Plugins và tự động cập nhật thay đổi sau mỗi lần build.

 Bước 4: Quay trở lại màn hình Code, thêm dòng “Implements MapWindow.Interfaces.Iplugin” bên dưới dòng “Public Class”, rồi nhấn enter để chương trình tự gen ra các đoạn code.

 Bước 5: Tìm đến thuộc tính Name tại màn hình code, chèn thêm dòng Return “Tên_plug-in” vào giữa cặp Get/End Get, sau đó build project.

 Bước 6: Nếu không thực hiện bước thiết lập đường dẫn build file dll như bên trên, có thể thêm plug-in vừa tạo vào chương trình MapWindow GIS bằng cách copy file dll vừa tạo vào thư mục C:\Program Files (x86)\MapWindow.

Khởi chạy lại chương trình MapWindow GIS, sẽ thấy plug-in vừa tạo xuất hiện trong menu Plug-ins của chương trình.

Một phần của tài liệu (LUẬN văn THẠC sĩ) phân cụm dữ liệu địa lý và áp dụng trong phân tích một số chỉ số kinh tế xã hội của các địa phương ở việt nam 01 (Trang 31 - 35)