![]() |
Модераторы: Rickert |
![]() ![]() ![]() |
|
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: нет Всего: 261 |
Хотелось бы узнать, как это реализовывается, т.е. как хранится сама карта города, как на ней ищутся здания, улицы и если найдены - выделяются.
|
|||
|
||||
podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: нет Всего: 62 |
Тема перенесена из раздела "Алгоритмы".
|
|||
|
||||
podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: нет Всего: 62 |
Ищи по теме "Геоинформационные системы".
|
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: нет Всего: 261 |
podval
поискал в Я. Не очень долго правда, но на принцип работы так и неи натолкнулся, только уже на готовые системы. Не подскажешь более детально куда копать? |
|||
|
||||
chipset |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 2 Всего: 164 |
Да собссна я с ГИС не имел дел, но я думаю что это обычная реляционная база где улицы описаны мат. формулами и обозначены точки соединения нескольких. Простейший рекурсер проходит по базе и отрисовывает последовательно улицы. Также можно указать масштаб для отдельного элемента, тогда реализовать LoD. Выделение мышкой обрабатывается также как и в любой игре, к примеру: проверяются координаты мыши и отсекаются области пока всё не доходит до конкретного обьекта. --------------------
|
||||
|
|||||
podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: нет Всего: 62 |
Насчет ГИС обратись к Pegas
|
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: нет Всего: 261 |
chipset
понимаешь в чем фишка... Тупо по координатам сделать-то можно. НО. Яркий пример в МосГисе.. Дом. И не просто квадратик, а реальный дом, т.е. если дом угловой - изображение - угол, если 8 подъездом, то длинрный прямоугольник ![]() так что тут не все так просто...
окей. |
|||
|
||||
chipset |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 2 Всего: 164 |
Усложнить структуру дома. Сделать несколько заготовок, наиболее вероятно встречающихся домов или дать возможность пользователю самому определять форму дома, опять-же - мат уравнение. Это сообщение отредактировал(а) chipset - 24.3.2005, 17:15 --------------------
|
||||
|
|||||
z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: нет Всего: 102 |
Мне почему-то кажется что все объекты на карте целесообразней хранить в виде: 1. точка привязки 2. массив с относительными координатами (например по часовой стрелке) в которых за систему исчисления координат взята точка привязки. прорисовывается такой объект из точки 1 и потом черепашим методом в точку 2 и т.п. пока не будет достигнут последний элемент массива, после чего линия замыкается в п.1. карту содержащую объекты в таком виде, имхо, гораздо проще не только увеличивать/уменьшать но еще и поворачивать -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: нет Всего: 261 |
Но тут возникает вопрос, как пользователю добавлять этот самый дом. Ну не будет же он в ручную добавлять координаты ![]() |
|||
|
||||
z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: нет Всего: 102 |
ход моей мысли:
создаем примитивный векторный редактор который выполняет всего две функции - изменение координат элементов (точек) и добавления новых между двумя умеющимися. далее: дом-замкнутая фигура соответсвенно в данном редакторе создаем квадрат и уже в нем изменяем координаты точек или добавляем новые, тем самым усложняя его форму. после чего задаем масштаб этого объекта и при необходимости его поворот. -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: нет Всего: 154 |
Есть много вариантов реализации ГИС.
Начиная с того, что электронная карта - это просто набор рисунков, и храниться в БД координаты требуемых областей. - Но это гемморой. На сегодняшней день ГИС - это популярно, поэтому существует несколько ГИС- ориентированных продуктов. 1. ArcInfo - это целый набор программных комплексов, для реализации практически любых задач связанных с ГИС. В основном это лидер рынка. Большинство компаний работающих в частной сфере отдают предпочтение этому программному комплексу. ArcObject - представляет наибольший интерес для программиста, так как это и есть объектная ArcInfo, с помощью которой можно строить свои ГИС приложения. 2. Geomedia - этот программный комплекс от компании, которая в основном выполняет оборонные заказы ведомств США, и славиться своими нотбуками, которые можно без боязни кидать в воду. Этот ПК для ГИС меньше распространен, чем ArcInfo, но достин внимания. 3. MapInfo - совсем слабенький ГИС. Очень глючный и не расчитан на большие объемы информации. Принцип работы у всех программ один: 1. Векторная электронная карта, состоящая из объектов, координаты которых храняться в БД. (улицы, переулки, дома и т.д.); Можно подцепить любую базу данных (Oracle, MS SQL, Informix. Access и т.д.). Хоть через ODBC, хоть на прямую. 2. К каждому объекту или группы объектов добавляется соответсвующая атрибутика. (для дорог к примеру ширина, тип покрытия и т.д.) 3. Любое действие с обектом на карте приводит к изменению в БД. Будь-то мы сдвинули обект, тем самым изменив его координаты в БД, либо добавляем обект на карту, что вызовет соответствующее добавление записи в БД. С помощь объектной модели любой из вышеперечисленных ГИС можно оперировать с этими объектами, их атрибутикой и их отображением. Но у всех этих софтин, есть одна ахиллесова пята. Они направлены в первую очередь на отображение поиск и т.д. информации, но не на ее ввод. Мы даже писали соответствющее прикладное ПО, чтобы максимально автоматизировать и облегчить этот процес. Но ГИС это не просто электронные карты. Это гораздо больше. Вот пример одной из многих задач, с которыми я сталкивался. Есть карта всех инженерных сетей города, мы конкретно будем рассматривать слйчай с отопительными водопроводами, по которым течет вода, которая затем попадает в наши батареи отопления. У каждой трубы - своя атрибутика (диаметр трубы, теплоизолиция и т.д) Мне надо было решить такой функционал, что если мы допустим случился прорыв, то какой ближний кран будет лучше всего отключать, показать какие районы города и дома останутся без отопления, и сколько кубоментров воды при этом придется слить. Задача я вам скажу интересная. Эту задачу необходимо было решить с помощью продуктов Geomedia, а там нет (по карйней мере не было в той версии), такого понятия, как топология сети (говоря проще стуктура сети, или еще проще, в каком направлении движется вода). А вот когда начал работать с ArcInfo - ребята что ее делали, об этом подумали. В принципе и в Geomedia это есть, но сделано через жопу. Это один маленький ньюанс, а таких в ГИС тысячи. Вообщем прежде чем приниматься за ГИС проект, необходимо его тщательно изучить, и выбрать именно тот продукт, который наиболее удволетворяет нуждам этого проекта. Но в большинстве случаев, как человек который работал и со всеми вышеперечисленными продуктами я все же посоветовал бы ArcInfo. Он очень интенсивно развивается, и на сегодняшний день много маленьких контор, которые пишут дополнения к этой системе. Добавлено @ 20:04
Ты не первый кто так думает. Но я сразу скажу - эта идея обречена на провал. Здесь просто огромное количество ньюансов, которые не видны на первый взгляд. А представь что допустим в городе - несколько сот тысяч объектов. И как ты это будешь отрисовывать? Стандартными средствами у тебя все повиснет. Тут как минимум надо свой графический движек реализовывать. И это еще не самое страшное. Это все равно что сказать "А, нафиг использовать чужую базу данных, например тот же Oracle? Я лучше сам ее напишу, что тут сложного?" -------------------- |
|||
|
||||
podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: нет Всего: 62 |
Pegas
Есть такая вещь, как слои. Многослойные карты - это присуще всем ГИС? |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: нет Всего: 261 |
Pegas
ага, кое-что проясняется. Может знаешь, такая вещь, как МосГИС, на ней МЧС сидит. Так вот, возможно надо будет на карте показывать область хим. заражения. Само заражения и размер "облака" расчитывается другой программой. Дык вот, при переносе данные в МосГИС прорисовка ведется там, куда мышкой кликнешь, а надо как бы чтобы над тем объектом, где произошла авария. Т.е. надо увязать ту программу с МосГИСом, чтобы как бы совпадали координаты объектов, на карте и в программе. Т.е. если, МосГИС использует клиент-серверную базу, где хранится данные объектов, то в принципе можно будет к ней (базе) подрубиться другой прогой, сохранить координаты объектов и затем испортировать на карту? Правильно ли я мыслю? |
|||
|
||||
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: нет Всего: 154 |
Да, - это одно из основных особенностей ГИС. Иначе нельзя было бы получить карту, в том виде который требуется. Это очень важное условие. Иначе дороги и канавы к примеру окажутся поверх домов, ну и так далее. -------------------- |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Программирование игр, графики и искуственного интеллекта" | |
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |