Lập trình ArcGis Engine: Xây dựng công cụ hỗ trợ biên tập bản đồ số

MỤC LỤC

Các hệ thống tương tác

Con người

Dữ liệu

Phần cứng

Phần mềm

Việc sử dụng ảnh vệ tinh hay ảnh chụp từ máy bay được xem là nguồn dữ liệu quan trọng khi nghiên cứu tài nguyên thiên nhiên và đo vẽ bản đồ địa hình. Quá trình phân tích trên cơ sở các cách nhìn khác nhau đòi hỏi dữ liệu phải được biểu diễn và tổ chức cho phù hợp.

Lưu trữ và truy cập dữ liệu

Thông thường CSDL GIS cho khả năng quản trị cả hai mô hình không gian nói trên, khi xây dựng CSDL không gian thì nhất thiết phải liên kết bảng dữ liệu liên quan đến hiện tượng tương ứng. Phương tiện truy nhập trong CSDL GIS bao gồm cả phương tiện có sẵn của CSDL quan hệ chuẩn và khả năng xây dựng câu hỏi truy vấn để tìm thông tin mà giá trị của chúng bằng hoặc nằm trong khoảng xác định.

Tìm kiếm và phân tích dữ liệu không gian

Networks là kỹ thuật được ứng dụng rất rộng rãi trong giao thông, phân phối hàng hoá và dịch vụ, vận chuyển nước hay xăng dầu trong các đường ống dài, trao đổi thông tin qua mạng viễn thông… Trong GIS, networks được mô hình dưới dạng các đồ thị. Trong định dạng này, thông tin được mô tả có tính chính xác cao đồng thời tiết kiệm không gian lưu trữ.

Hình 1. 6: Kết quả tìm kiếm trên mạng giao thông d. Chồng phủ bản đồ (Overlay)
Hình 1. 6: Kết quả tìm kiếm trên mạng giao thông d. Chồng phủ bản đồ (Overlay)

Hệ toạ độ địa lý

Tuy nhiên đôi khi người ta cũng sử dụng mặt cầu để công việc tính toán dễ dàng hơn. Nếu mặt cầu dựa trên hình tròn thì mặt Ellipsoid lại có cơ sở là hình Ellip.

Hình 1. 11: Hệ toạ độ địa lý
Hình 1. 11: Hệ toạ độ địa lý

Hệ toạ độ quy chiếu

Các đường kinh tuyến sau khi chiếu mặt nón sẽ thành những đường thẳng đứng, các đường vĩ tuyến sẽ tạo thành những đường tròn. Phép chiếu này thường được dùng cho việc chiếu các vùng có các vĩ tuyến trung bình chạy qua và. Giống như phép chiếu mặt nón, phép chiếu này cũng có một đường thẳng tiếp tuyến.

Trong phép chiếu này, các đường kinh tuyến sẽ được chiếu thành những đường thẳng đứng cách đều nhau, các đường vĩ tuyến sẽ trở thành những đường nằm ngang khoảng cách không đều nhau;.

Hình 1. 13: Minh hoạ cách chiếu bề mặt cong lên mặt phẳng
Hình 1. 13: Minh hoạ cách chiếu bề mặt cong lên mặt phẳng

ARCGIS

ArcGIS 9

- Cấu hình/tuỳ chỉnh các ứng dụng ArcGIS như ArcMap, ArcCatalog - Mở rộng thêm kiến trúc và mô hình dữ liệu của ArcGIS. - Xây dựng và triển khai một ứng dụng desktop với ArcGIS Engine - Xây dựng một ứng dụng web và dịch vụ web với ArcGIS Server. Một hệ thống ArcGIS được xây dựng và sử dụng các thành phần trong bộ thư viện ArcObjects.

ArcGIS Server cho phép các lập trình viên có thể xây dựng máy chủ trung tâm để.

Hình 2. 2: Các  công cụ trong ArcGIS
Hình 2. 2: Các công cụ trong ArcGIS

ArcGIS Engine

ArcGIS Engine Developer Kit cho phép truy cập đến tập hợp nhiều các thành phần GIS, với các thành phần mở rộng (components) hỗ trợ cho việc tạo ra bản đồ với giao. ArcGIS Engine Runtime là một nền tảng để xây dựng các ứng dụng GIS, cho phép người dùng ứng dụng ArcGIS Desktop có thể chạy và tuỳ chỉnh ứng dụng trên ArcGIS Engine nếu như được sự cho phép của người lập trình ứng dụng ArcGIS Engine. - Geodatabase Update extension: Thành phần cập nhật cơ sở dữ liệu bản đồ (Geodatabase Update Extension) cho ArcGIS Engine Runtime có khả năng tạo và cập nhật cơ sở dữ liệu địa lý đa người dùng được quản lý bằng ArcSDE, nó.

Network Analyst Extension cho phép lập trình viên tạo và triển khai ứng dụng chuyên về: giao thông, phản ứng khẩn cấp, hoả hoạn, quân sự và một số lĩnh vực khác.

Ai có thể sử dụng ArcGIS Engine?

- Spatial extension: cung cấp các chức năng mạnh mẽ cho phép ứng dụng tạo, truy vấn, xử lý đến từng ô nhỏ nhất trong mô hình dữ liệu dạng raster. PageLayoutControl cung cấp để có thể làm việc với các tài liệu được tạo trong ArcMap, SceneControl và GlobeControl dùng để hiện thị tài liệu. ArcGIS Server cung cấp Web server cho các ứng dụng ArcGIS Engine, nó cho phép bạn tích hợp các chức năng ở ứng dụng ArcGIS Desktop với các chức năng ở server, bởi vì tất cả các ứng dụng trong bộ thư viện ArcGIS đều giao tiếp với nhau qua ArcObjects.

Thành phần mở rộng 3D Visualization cho phép xây dựng ứng dụng với hình ảnh 3D, có khả năng phân tích bề mặt trái đất sử dụng điều khiển SceneControl và.

Hình 2. 4: Phát triển ứng dụng sử dụng ArcGIS Người dùng ArcGIS Desktop
Hình 2. 4: Phát triển ứng dụng sử dụng ArcGIS Người dùng ArcGIS Desktop

Kiến trúc phần mềm ArcGIS [3]

• Modularity: Một module hệ thống phụ thuộc giữa các thành phần (component) được xác định trong một hệ thống linh hoạt. • Scalability: ArcObjects phải hoạt động tốt trong tất cả các môi trường hệ điều hành, từ ứng dụng người dùng đơn giản đến các ứng dụng đa luồng, ứng dụng chạy trên máy chủ. • Multiple Platform Support: ArcObjects và Server có khả năng chạy trên nhiều nền tảng máy tính.

• Compatibility: ArcObjects có thể hoạt động được cùng với ứng dụng sử dụng ArcObjects phiên bản thấp hơn.

Giao diện lập trình ArcGIS

Ví dụ Icurve kế thừa từ Igeometry, Visual Basic sẽ không thể cài đặt được giao diện này. • Tham số của phương thức sử dụng kiểu dữ liệu không hỗ trợ trong Visual Basic. Điều này có nghĩa là một phần của kiến trúc ArcObjects không thể mở rộng thêm được.

ToolbarControl cùng với các điều khiển ArcGIS khác, cung cấp một môi trường làm việc phong phú.

Thư viện ArcGIS Engine

System

SystemUI

Geometry

Display

Server

Output

GeoDatabase

Ngoài ra, nó còn có thể tuỳ chỉnh dữ liệu nguồn vector được thêm vào sử dụng đối tượng PlugInDataSource. Các kiểu dữ liệu được hỗ trợ trong GeoDatabase không cho phép mở rộng.

GisClient

DataSourcesFile

DataSourcesGDB

DataSourcesOleDB

DataSourcesRaster

GeoDatabaseDistributed

Carto

Một đối tượng Map, cùng với một đối tượng PageLayout có thể được chứa trong cùng một thành phần. Nhà phát triển thường sử dụng các đối tượng như MapControl, PageLayoutControl cho ứng dụng của họ, những đối tượng này sẽ giúp các lập trình viên đơn giản hoá.

Hình 2. 9: Các thư viện trong ArcGIS Engine - tiếp
Hình 2. 9: Các thư viện trong ArcGIS Engine - tiếp

Location

NetworkAnalyst

NetworkAnalysis

Control

Các điều khiển ArcGIS sẽ đơn giản hoá quá trình phát triển ứng dụng với ArcObjects và cung cấp một giao API ở mức thấp. Mặc dù các điều khiển được gói trong ArcObjects ở mức cao, nhưng nó không hạn chế truy cập. ReaderControl bao gồm cả 2 đối tượng Map và PageLayout và cung cấp một API đơn giản khi làm việc với các điều khiển.

GeoAnalyst

GlobeCore

Thư viện GlobeCore có một điều khiển cho lập trình viên cùng với các lệnh và.

SpatialAnalyst

Map document có thể được thiết lập ở khâu thiết kế qua các thuộc tính của MapControl và PageLayoutControl, các thuộc tính này có thể thiết lập “link” hoặc. Khi MapControl và PageLayoutControl chứa map document, nó sẽ sao nội dung của map document và sẽ không hiển thị bản cập nhật nào của map document từ thời điểm đó trở đi. Cả 2 điều khiển đều cài đặt giao diện ImxdContents để cho phép đối tượng MapDocument ghi nội dung của MapControl và PageLayoutControl vào một map document mới.

Globe và Scene document kết hợp với ứng dụng ArcGlobe và ArcScene để tải vào các điều khiển GlobeControl và SceneControl tương ứng nhằm giảm bớt công việc lập trình của lập trình viên.

Hình 2. 10: Xây dựng ứng dụng sử dụng MapControl
Hình 2. 10: Xây dựng ứng dụng sử dụng MapControl

ReaderControl

TOCControl

ToolbarControl

LicenseControl

Điều khiển LicenseControl có thể nhìn thấy khi thiết kế, nhưng sẽ không nhìn thấy khi chương trình chạy, không giống như các điều khiển khác, LicenseControl không có.

XÂY DỰNG CÔNG CỤ HỖ TRỢ BIÊN TẬP BẢN ĐỒ SỐ

    Bước 1: Cài đặt bộ thư viện ArcGIS Engine bao gồm các công cụ: ArcMap, ArcCatalog, ArcReader, thư viện cung cấp các hàm, các điều khiển hỗ trợ phát triển ứng dụng GIS. Sau khi xây dựng và đóng gói công cụ, ta có thể sử dụng công cụ trong nhiều ứng dụng khác nhau, trong công cụ ArcMap của ESRI hoặc trong ứng dụng tự phát triển. Các polygons định nghĩa một vùng ở bên trong so với đối tượng thực hiện buffer và khoảng cách thực hiện buffer đối tượng đó, và vùng bên ngoài với khoảng cách lớn hơn khoảng cách thực hiện buffer đối tượng.

    • ArcGIS Engine Developer Kit: là công cụ để xây dựng và triển khai một ứng dụng ArcGIS Desktop trên nền tảng thư viện ArcObjects trên các môi trường phát triển ứng dụng khác nhau (VB 6, .NET, Java, C++). Khi lựa chọn cài ArcGIS Engine Developer Kit trên môi trường phát triển ứng dụng .NET, các thư viện và điều khiển của ArcGIS Engine sẽ tự động được cài đặt vào Visual Studio như các thành phần mở rộng. Ta chọn ArcMap, MapControl or PageLayoutControl Command để có thể sử dụng được trên ArcMap và cả trên ứng dụng tự phát triển (gồm các điều khiển MapControl, PageLayoutControl, TOCControl, ToolbarControl…).

    Hình 3. 1: Minh họa trực quan các đối tượng đường phố có độ rộng khác nhau
    Hình 3. 1: Minh họa trực quan các đối tượng đường phố có độ rộng khác nhau