Модераторы: Rickert

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Карта. Поиск улицы, дома. 
:(
    Опции темы
Mal Hack
Дата 22.3.2005, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: нет
Всего: 261



Хотелось бы узнать, как это реализовывается, т.е. как хранится сама карта города, как на ней ищутся здания, улицы и если найдены - выделяются.
PM ICQ   Вверх
podval
Дата 22.3.2005, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: нет
Всего: 62



Тема перенесена из раздела "Алгоритмы".
PM WWW ICQ   Вверх
podval
Дата 22.3.2005, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: нет
Всего: 62



Ищи по теме "Геоинформационные системы".
PM WWW ICQ   Вверх
Mal Hack
Дата 22.3.2005, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: нет
Всего: 261



podval
поискал в Я. Не очень долго правда, но на принцип работы так и неи натолкнулся, только уже на готовые системы.
Не подскажешь более детально куда копать?
PM ICQ   Вверх
chipset
Дата 24.3.2005, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 2
Всего: 164



Цитата(Mal @ 22.3.2005, 02:56)
Хотелось бы узнать, как это реализовывается, т.е. как хранится сама карта города, как на ней ищутся здания, улицы и если найдены - выделяются.

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



--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
podval
Дата 24.3.2005, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: нет
Всего: 62



Насчет ГИС обратись к Pegas
PM WWW ICQ   Вверх
Mal Hack
Дата 24.3.2005, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: нет
Всего: 261



chipset
понимаешь в чем фишка... Тупо по координатам сделать-то можно. НО. Яркий пример в МосГисе.. Дом. И не просто квадратик, а реальный дом, т.е. если дом угловой - изображение - угол, если 8 подъездом, то длинрный прямоугольник smile
так что тут не все так просто...

Цитата(podval @ 24.3.2005, 07:27)
Насчет ГИС обратись к Pegas

окей.
PM ICQ   Вверх
chipset
Дата 24.3.2005, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 2
Всего: 164



Цитата(Mal @ 24.3.2005, 04:33)
Тупо по координатам сделать-то можно. НО. Яркий пример в МосГисе.. Дом. И не просто квадратик, а реальный дом, т.е. если дом угловой - изображение - угол, если 8 подъездом, то длинрный прямоугольник smile

Усложнить структуру дома.
Сделать несколько заготовок, наиболее вероятно встречающихся домов или дать возможность пользователю самому определять форму дома, опять-же - мат уравнение.

Это сообщение отредактировал(а) chipset - 24.3.2005, 17:15


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
z-END
Дата 24.3.2005, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: нет
Всего: 102



Цитата(chipset @ 24.3.2005, 17:15)
Сделать несколько заготовок, наиболее вероятно встречающихся домо

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


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
Mal Hack
Дата 24.3.2005, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: нет
Всего: 261



Цитата(z @ 24.3.2005, 18:01)
2. массив с относительными координатами (например по часовой стрелке) в которых за систему исчисления координат взята точка привязки.
прорисовывается такой объект из точки 1 и потом черепашим методом в точку 2 и т.п. пока не будет достигнут последний элемент массива, после чего линия замыкается в п.1.

Но тут возникает вопрос, как пользователю добавлять этот самый дом. Ну не будет же он в ручную добавлять координаты smile
PM ICQ   Вверх
z-END
Дата 24.3.2005, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: нет
Всего: 102



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



--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
Medved
Дата 24.3.2005, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 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
Цитата(z @ 24.3.2005, 21:47)
ход моей мысли:
создаем примитивный векторный редактор который выполняет всего две функции - изменение координат элементов (точек) и добавления новых между двумя умеющимися.


Ты не первый кто так думает. Но я сразу скажу - эта идея обречена на провал. Здесь просто огромное количество ньюансов, которые не видны на первый взгляд. А представь что допустим в городе - несколько сот тысяч объектов. И как ты это будешь отрисовывать? Стандартными средствами у тебя все повиснет. Тут как минимум надо свой графический движек реализовывать. И это еще не самое страшное.

Это все равно что сказать "А, нафиг использовать чужую базу данных, например тот же Oracle? Я лучше сам ее напишу, что тут сложного?"


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
podval
Дата 24.3.2005, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: нет
Всего: 62



Pegas
Есть такая вещь, как слои. Многослойные карты - это присуще всем ГИС?
PM WWW ICQ   Вверх
Mal Hack
Дата 24.3.2005, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: нет
Всего: 261



Pegas
ага, кое-что проясняется.
Может знаешь, такая вещь, как МосГИС, на ней МЧС сидит. Так вот, возможно надо будет на карте показывать область хим. заражения. Само заражения и размер "облака" расчитывается другой программой. Дык вот, при переносе данные в МосГИС прорисовка ведется там, куда мышкой кликнешь, а надо как бы чтобы над тем объектом, где произошла авария. Т.е. надо увязать ту программу с МосГИСом, чтобы как бы совпадали координаты объектов, на карте и в программе.
Т.е. если, МосГИС использует клиент-серверную базу, где хранится данные объектов, то в принципе можно будет к ней (базе) подрубиться другой прогой, сохранить координаты объектов и затем испортировать на карту?
Правильно ли я мыслю?
PM ICQ   Вверх
Medved
Дата 25.3.2005, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: нет
Всего: 154



Цитата(podval @ 24.3.2005, 23:27)
Pegas
Есть такая вещь, как слои. Многослойные карты - это присуще всем ГИС?


Да, - это одно из основных особенностей ГИС. Иначе нельзя было бы получить карту, в том виде который требуется. Это очень важное условие. Иначе дороги и канавы к примеру окажутся поверх домов, ну и так далее.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема »


 




[ Время генерации скрипта: 0.0931 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.