Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Системный анализ, проектирование и UML > Создание карты


Автор: tigger 26.9.2005, 15:33
Программеры существует такая проблема, имею карту своего города *.bmp хочу написать прогу типа gis системы с поиском домов, улиц, масштабирование (векторная реализация). Так вот опишите алгоритм действий с чего начать и т.д.

Заранее спасибо.

Автор: _hunter 26.9.2005, 15:43
начать с разбивки карты на слои, определения координат каждого объекта и ... все.

Автор: ~FoX~ 26.9.2005, 16:31
tigger
Поиск по форуму по словам "геоинформационная система"
А вообще, нудно это - приметивные преобразования (например Хафа), работают плохо....Реализовывать более серьъезные преобразоания (Вейльветы например), слишком накладно.
Можно взять готовые инструмент (от Corel например) который в вектор переваривает изображения и разобраться с его форматом, что тоже нудновато....
Хотя если переваривание в вектор разовая опирация, то можно и поразвликаться с оптимизацие какого нить алгоритма преобразования в вектор под твою задачу.
Ну а остальное дело техники. smile

Автор: tigger 27.9.2005, 12:44
__hunter

Для чего необходимо разбивать карту на слои, как это сделать и что будет например в каждом слое.

Как лучше организовать объекты как отдельные компаненты в компанете-карте или же создать один компанент-карту и уже на ней рисовать все объекты (дома). Тогда как можно отловить нажатие кнопки на каком нибудь объекте если он имеет сложную форму.

Заранее спасибо.

Автор: _hunter 27.9.2005, 12:55
потому как не все нужно видеть, например, пивные ларьки. этот слой можно будет не показывать...
слои -- это элементы компонента "карта" и рисуются им же.

Автор: ~FoX~ 27.9.2005, 13:24
Цитата(tigger @ 27.9.2005, 13:44)
Как лучше организовать объекты как отдельные компаненты в компанете-карте или же создать один компанент-карту и уже на ней рисовать все объекты (дома).

Объект карта должен быть контейнером для остальных объектов.
Цитата(tigger @ 27.9.2005, 13:44)
Тогда как можно отловить нажатие кнопки на каком нибудь объекте если он имеет сложную форму.

За нажатие на объект, его координаты, заливку и остальные свойства/методы дожен отвечать сам объект.

Автор: _hunter 27.9.2005, 13:42
ключевое слово должны smile -- лучший антипример -- MapInfo MapX

Автор: tigger 27.9.2005, 16:07
Спасибо начинаю делать а там будут вопросы задам.

Автор: ДЫМ 28.9.2005, 01:26
Ух и намучаешься ты. smile Я сам все лето делаю карту-схему что называется своими руками, а конца не видно. Готово где-то процентов на 90, но вообще-то, знаешь, поучительно - столько нового узнал. А начать предлагаю с векторизации bmp. Лучше все делать самому, чем разбираться с чужими форматами. Я, например, сначала написал редактор, где рисовал поверх bmp примитивы, а потом сохранял полученные координаты. К сожалению этот редактор чудовищно корявый, так как делал исключительно для себя, поэтому разобраться в нем нет никакой возможности. Так что задавай вопросы на форуме, постараюсь отвечать по мере сил, а может вместе что-нибудь узнаем.

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

P. S.
Правда есть хороший компонент для создания GIS- приложений, называется DataMap, но он стоит больше 100 баксов. Так что смотри сам.

Автор: tigger 28.9.2005, 15:15
ДЫМ не мог бы exe - ик показать

Автор: ДЫМ 29.9.2005, 02:58
Цитата(tigger @ 28.9.2005, 15:15)
ДЫМ не мог бы exe - ик показать


Какой exe? Не понял.

Автор: tigger 30.9.2005, 14:04
exe cвоей программы

Автор: Novator 22.11.2005, 01:05
Честно говоря, не хочу тебя разстраивать, мне кажетсья эта задача фактически непосильна, и не благодарна (написание собственной программы по векторизации карт - особенно в одиночку). Это тебе говорит человек, который заканчивает обучение по специальности ГИС. Если хочешь можешь скачать программу с сайта http:\\www.dataplus.ru называется EasyTrase. Она условна бесплатна. Ограничения невелеки помоему только на размер растра. Она позволит тебе в автоматическом, полу-атоматическом или ручном режиме векторизировать карту.

А вообще, если у тебя получится что-то дельное, ну или хотя бы работающее (не криво) дашь мне свой адресс, я прийду и лично тебе руку пожму! Дерзай.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)