Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Арсенальная башня
  
Содержание



 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  08:38[Войти] | [Зарегистрироваться]

Использование картографии в своих приложениях, с помощью NGIS компонент

Nigmet Tokabayev
дата публикации 31-01-2005 02:42

Использование картографии в своих приложениях, с помощью NGIS компонентNGIS компоненты предназначены для отображения визуальной информации в Delphi-проектах. Например, возьмем задачу автоматизации электросети города, где для пользователя естественно работать с информацией в виде карты, чтобы можно сразу наглядно видеть местоположение объектов.

Есть много различных программ, таких крупных компаний как, MapInfo, ArcGis, ESRI для встраивания карт в приложения. В качестве инструментов разработчикам предлагаются MapX и MapObject, выполненные в виде ActiveX компонентов. При использовании их в среде Delphi возникают некоторые неудобства, мешает недостаток гибкости при работе.

По этой причине, для обеспечения свободы действия, было решено создать свои компоненты, которые бы устанавливались в среду разработки и давали следующие основные возможности:

  • прорисовывать любые дополнительные объекты или анимацию на карте,
  • иметь прямой доступ к данным геообъектов.
  • поддерживать самый распространенный формат геоданных MapInfo,
  • обеспечивать прорисовку всех основных используемых объектов.
  • обеспечивать прорисовку всех используемых штриховок областей и различных стилей линий,
  • реализовывать навигационные функции увеличения/уменьшения
  • обеспечивать выделение объектов на карте.

При создании компонентов был использован широко известный класс TCanvas, который дает возможность для отображения любой информации. Также была реализована возможность загрузки нескольких карт в виде слоев. Данная возможность реализована с помощью класса TCollection.

Краткое описание использования компонент:

  1. Создайте новый проект и откройте новую форму.
  2. Выберите компонент TNMap в закладке и растяните его на своей форме.
  3. Двойным нажатием на компоненте вызовите пустой список слоев, добавьте новый слой в компонент. Компонент поддерживает отображение нескольких карт (слоев). В данном редакторе можно добавлять и удалять слои, а также изменять их последовательность. Также важен порядок следования слоев, отображение которых идет в соответствии с данным порядком.
  4. Выделите нужный вам слой и зайдите в Object Inspector, в свойстве "FileName" укажите имя файла. Для отображения слоя установите свойство "ShowMap" в "True".
  5. Есть три способа указать местоположения данных для картографического слоя. Самый первый способ был упомянут выше. Второй способ: для удобства переноса приложения на другой компьютер можно указать путь к географическим данным через реестр системы, для этого заполните путь свойства "NRegistryRoot", "NRegistryPath", "NRegistryName". При заполнение данных свойств, в свойстве "FileName" можно использовать ключевое слова %REG%, при открытии слоя ключевое слово, будет заменяться значением из реестра.
  6. Третий способ: сохранять географические данные в ресурсах формы в файле DFM, в этом случае при компилировании приложения географические данные будут находиться в исполняемом файле, и приложение будет более независимое. Можно создавать приложение, которое будет состоять только из одного исполняемого файла. Для этого в слое укажите путь к данным через свойство "FileName", установите свойство "ShowMap" в истину и далее установите свойство "SaveToDFM" в истину, данные слоя будут сохранены как ресурс в DFM. Теперь вы можете убрать значение свойства "FileName", так как оно уже не используется слоем.
  7. Также можно установить начальное положение карты при загрузке. Для этого есть удобный редактор настройки начального положения карты, нажмите правую кнопку на компоненте и в выпадающем меню выберите пункт "Set position ...". С помощью данного редактора можно увеличивать, уменьшать и двигать карту. После выбора нужного Вам масштаба нажмите кнопку "Set position" в редакторе и будут установлены начальные параметры масштаба карты в следующие свойства "NStartWidth", "NStartX", "NStartY".
  8. С каждым географическим объектом на карте есть связанная запись в табличных данных. Для каждого слоя на карте можно настроить вывод тестовой информации (меток) (Например: название городов, улиц и т.д.). Для отображения меток зайдите на нужный слой и настройте поле, которое вы хотите вывести "LabelParams->FieldName", дополнительно вы можете настроить шрифт меток. После всех настроек установите свойство "DrawLabels" в истину и метки будут отображены на карте.
  9. Для каждого слоя карты можно настраивать масштаб видимости, что позволит делать карты более информативными. Например, если взять карту города при начальной загрузке, на карте показаны крупные районы города, основные улицы и проспекты, то по мере увеличения масштаба будут показываться более детальные слои мелкие улицы, переулки и дома. Для настройки масштаба показа установите в свойствах "NmaxWidth", "NminWidth" диапазон показа слоя.



Смотрите также материалы по темам:
[Взаимодействие с ГИС]

 Обсуждение материала [ 29-03-2009 14:21 ] 16 сообщений
  
Время на сайте: GMT минус 5 часов

Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования