VKA software

English | Russian

Документация DATAMAP™ small logo

Краткий обзор возможностей

Цель создания данного набора компонентов - предоставить в руки разработчиков картографических программ простой в использовании и недорогой инструмент, который мог бы позволить им в кратчайшие сроки создать свою картографическую программу с учетом своих потребностей или потребностей заказчика. Если в вашем городе еще не создана электронная карта, то Вы вполне можете взяться за эту работу вместе с этим пакетом компонентов. Разместив на форме компонент DataMap вы практически сразу получаете готовую электронную карту с возможностями редактирования, печати поиска объектов и др. функциям, при этом не написав ни строчки кода для функционирования векторного вьювера/редактора.

Естественно, представленный набор компонентов не может составить конкуренцию профессиональным ГИС программам, таким как ArcInfo, MapInfo, да и в принципе поднять подобную задачу одному разработчику я думаю не под силу, но если ваши потребности не столь велики, то возможно эти компоненты подойдут для Вас.

Предлагаемый вашему вниманию набор компонент DataMap предоставляет простые средства для создания схем городов с возможностью их связи с базами данных любых поддерживаемых BDE-драйверами форматов, а также вашими собственными. Практически, главный компонент включает в себя векторный редактор-векторизатор карт, поддержку пространственной индексации, блок печати и другие функции. В отличие от многих других компонентов векторной графики, редактирование объектов в DataMap полностью интерактивно, вы можете вращать объекты, масштабировать, группировать, выравнивать и т.п. прямо в рабочем окне редактора не прибегая к редакторам свойств. Специальные методы пространственной индексации позволяют комфортно работать с большими схемами содержащими миллионы объектов без потери производительности. Развитая система свойств и событий компонента позволяет разработчику гибко управлять поведением приложения. разработчик может легко создавать новые объекты как программным способом так и при помощи встроенного векторного редактора. Векторный редактор имеет мощную функцию UNDO (отмены действий пользователя) которая сильно упростит создание сложных схем. Имеется система загрузки обновлений схем, которая позволяет создавать компактные обновления схем в которых содержится только информация по изменениям в схеме, эта функция позволяет сократить накладные расходы на пересылку обновлений вашим пользователям через сеть Интернет.

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

С учетом вышеизложенного в компонент были включены следующие возможности:

  • поддержка следующих типов объектов: линия, полигон, эллипс, заметка, текстовая метка;
  • редактирование векторных объектов как при помощи встроенного редактора так и программным способом;
  • векторизация карт с растров;
  • сохранение карт в файлы и потоки;
  • хранение вместе с векторными объектами адресов;
  • определение вхождения заданных точек в объекты;
  • расчет площадей графических объектов;
  • расчет кривой безье проходящей через заданные точки;
  • расчет расстояний;
  • поддержка пространственной индексации - позволяет работать с очень большими схемами содержащими несколько миллионов объектов без потери производительности;
  • настраиваемая печать (печать как всей карты, так и заданного участка) в заданном масштабе;
  • автогенерация уникальных кодов объектов карты для связи с реляционными базами данных;
  • слоевое размещение объектов (позволяет гибко управлять перекрытием объектов);
  • поддержка категорий объектов (улица, квартал, река и т.п.).
  • фильтрация при выводе на экран по заданным пользователем критериям или категориям объектов.
  • работа с группированными объектами.
  • вывод объектов схем в 3D виде

 

Скриншот

На этом экране вы можете видеть как компонент отображает большое количество объектов (в этом экране приблизительно около 5000 объектов), часть объектов размеры которых меньше заданного порога отображения не отрисовываются, это позволяет гибко настраивать производительность программы без участия пользователя и без специальной подготовки слоев карты. Компонент сам определяет видимость объектов.

Существует несколько версий компонентов для разных типов приложений. Для разработчиков карт городов подойдет версия использующая для описания точек объектов тип single. Эта версия компонентов позволяет работать с диапазоном координат карты +/-300000. Данный диапазон перекрывает требования любого существующего города с учетом планов его окрестностей, при этом схема получается очень компактной и достаточной точности. Для разработчиков использующих компоненты в качестве визуализатора протяженных схем, например, областей и краев есть вариант компонентов DataMap использующих тип double для хранения точек объектов. В этом случае диапазон возможных координат +/-500000000. Этого диапазона достаточно для того чтобы сделать карту всего мира сразрешением в 9-10 см. сами понимаете, что диапазон "с запасом".

Также, компоненты DataMap предоставляют разработчикам возможность вывода 3D объектов, например зданий с учетом их этажности (высоты), причем со стороны разработчика для этого практически не требуется прикладывать никаких усилий, достаточно только через обработчик события OnHeightObject передать высоту объекта, все операции по выводу объекта в 3D возьмет на себя DataMap.

Скорость работы компонента DataMap по отображения векторной графики впечатлит любого разработчика сталкивавшегося с рисованием векторной графики в GDI, компонент использует массу специальных алгоритмов оптимизации вывода графики благодаря чему скорость отрисовки больших схем крайне высока. В качестве наглядного примера предлагаю вам скачать демо-пример в котором по заданным вами параметрам формируются более 100 тыс.объектов, вы можете посмотреть насколько быстро происходит скроллинг экрана, перемещение отдельных объектов.

На странице "Ссылки на ресурсы в сети" есть подборка уже существующих в сети электронных карт городов выполненые сторонними разработчиками, вы можете скачать их и сравнить с такими же картами городов выполненными с использованием DataMap компонентов, думаю что вы согласитесь, что качество программ выполненых на DataMap ничуть не хуже, а во многом функциональность выше аналогичных программ.

Используя компоненты DataMap для разработки своих программ вы сразу получаете функциональность к которой другие разработчики шли месяцы и годы, а также бесплатную техподдержку и обновления. Сегодня, на рынке ПО для создания электронных карт, никто не предложит более выгодный для Вас вариант.

Впрочем ознакомиться с возможностями компонента вы сможете загрузив демо версию с ограниченными возможностями.

Ограничения демо версии:

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

Полнофункциональная версия.

Если Вас заинтересовал данный набор компонентов и Вы решили его приобрести, то свяжитесь со мной по e-mail: vastikov@mail.ru , мы договоримся о форме оплаты и варианте доставки, стоимость компонентов -$100 (распространяется без исходных текстов).

Зарегистрированным пользователям подверсии предоставляются бесплатно, т.е. если вы приобрели версию 1.0, то все подверсии продукта 1.x вы получите бесплатно, версию 2.X и выше вы можете получить со скидкой 20 %. Естественно, что увеличение базового номера версии будет производиться только в случае серьезных изменений в структуре компонента и добавл ения большого количества новых функций.

Заключение

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

С уважением,

Константин Васьтиков

 

 

 

 

| ©2004 VKA software

Используются технологии uCoz