Поделиться через


GIS4U – добавление пространственных данных, анализа и карт в приложение с помощью DotSpatial

Грэг Дункан

Особенность сегодняшнего сообщения в том, что это ГИСовский набор утилит и инструментов с открытым исходным текстом. Может не так занимательно, как игры и прочее, но занимательность зависит от точки зрения наблюдателя (или кого то вроде него…clip_image002).

DotSpatial

Что такое DotSpatial?

DotSpatial разработан членами опенсорсной команды MapWindow GIS и членами широкого сообщества OSGeo .NET-разработчиков. Пожалуйста, присоединяйтесь к списку рассылки OSGeo .NET. Также вы можете познакомиться со списком членов управляющего комитета и присоединиться к растущему перечню добровольцев.

Представление проекта: DotSpatial предназначен, чтобы обеспечить бесплатный, согласованный и заслуживающий доверия набор библиотек с открытым исходным кодом для .NET, Silverlight и Mono, позволяющий разработчикам легко инкорпорировать пространственные данные, анализ и карты в собственные приложения, высвободив таким образом недюжинный потенциал ГИС в решениях для организаций и сообществ всех типов безо всяких ограничений.

Видеодемонстрации: Если вы новичок в работе с DotSpatial, начните с просмотра этих видео. Заметьте, что пространства имен слегка изменились с момента съемки, но это прекрасный способ увидеть, что такое DotSpatial.

clip_image004

Пример стандартной архитектуры

Схема двойных карт

 

Чтобы увидеть, как просто это использовать, посмотрите это руководство на CodeProject.

Основы настольного картографирования DotSpatial

DotSpatial – проект с открытым исходным кодом, содержащий элементы управления, которые используются для обработки и отображения географической информации. В статье содержится беглый обзор и функциональный код, который поможет начать работать с DotSpatial. Некоторые базисные операции, которые могут быть выполнены, включают: загрузку файла форм, панорамирование и изменение масштаба.

  • Загрузка DotSpatial
  • Создание проекта
  • Изменение целевого окружения
  • Добавление элементов Toolbox
  • Конструирование пользовательского интерфейса
  • Добавление ссылок DotSpatial
  • Настойка свойств элементов управления

И вы получите простой действующий пример приложения DotSpatial. Только дайте ему соответствующие данные (для которых ссылки также предоставлены).

Демонстрационное приложение, включенное в загрузку проекта на CodePlex, позволяет увидеть эти возможности в действии. Вот его снимки с двумя наборами данных, загруженными с сайтов Natural Earth Data, 1:10m Physical Vectors и Diva-GIS.

Если вы новичок в GIS, то это игра со слоями. Каждый набор данных является отдельным слоем. Так что вы создаете новую карту, а затем добавляете слои. Слои – это то, что вы загружаете с Natural Earth Data. (Вам не надо выполнять команду File/Open для загруженных данных, вы добавляете слой и выбираете загруженные данные…это понятно?)

clip_image006

Проект содержит инструменты пользовательского интерфейса и добавляет эти возможности в приложение (отметим, что при условии соблюдения лицензии LGPLv2.1).

Взглянем мельком на реальный проект. Интересен список сборок поддержки и сторонних фирм:

clip_image008

Вот обзор исходного кода:

clip_image010

Наконец, снимок решения:

clip_image012

Как можно видеть, это сложный проект. Прекрасно то, что сложность не играет роли, если вы просто используете двоичные сборки (как показано в проекте на CodePlex). Весь код на месте, если вы решите заняться спелеологией, однако, если всё, что вам требуется, заключается в добавлении к своему приложению клевой GIS, исполняемые коды ждут вас…