Бавлы.RUнеофициальный сайт города Прогноз предоставлен Гидрометцентром России
11.0512.0513.05
Облачно, небольшой дождьОблачно, небольшой дождьОблачно, небольшой дождьОблачно, небольшой дождьОблачно, небольшой дождьОблачно, небольшой дождь
11 °C3 °C15 °C0 °C12 °C1 °C
 1  2  3  4  5  6 
Обсуждаем проблемы создания электронных карт для интернета. ( Автор: Radimir)
Radimir
Администратор
( Автор темы )
написано 14.02.2009 10:29:19
Я задумался над проблемой создания электронной карты нашего города. Предлагаю обсудить здесь пути решения данной проблемы.
Radimir
Администратор
( Автор темы )
написано 18.02.2009 13:19:22
В общем, ход мысли у меня следующий.
1) Карту хранить в векторном формате в БД в двух таблицах. В одной таблице хранить перечень объектов. Во второй таблице координаты точек этих объектов.
Алгоритм выбирающий из базы только видимые на выбранном участке карты объекты уже работает.
2) За отображение карты, масштабирование, перемещение на клиентской стороне отвечает flash-плагин.
3) Координаты объектов передаются на клиентскую сторону в виде xml-файла генерируемого php-скриптом.
4) На время сессии на сервере создается временное хранилище, в котором сохраняются объекты, координаты которых уже передевались клиенту, таким образом снижается сетевой трафик.
unDEFER
Участник
написано 18.02.2009 14:25:23
По 4-му пункту -- а плагин будет все переданные объекты накапливать совсем не забывая до конца сессии??
Оно конечно при коротких сессиях работы с картой не важно. Но ведь надо предусматривать и длительные сессии..
Radimir
Администратор
( Автор темы )
написано 18.02.2009 15:08:54
Ну сессия, думаю, будет специфическая. Т.е. о ее начале будет говорить плагин клиента передачей спец. гет-запроса. Ну а при отсутствии активности клиента определенное время надо будет очищать буфер его запросов (таблица с переданными ему данными). А если клиент долго не активен, а потом вдруг возобновит сессию, тогда уж лишние данные вновь получит. Думаю, это не криминально. Если окажется, что из-за запоминания лишних данных плагин занимает слишком много памяти, тогда уж подумаю как решить эту проблему.
Radimir
Администратор
( Автор темы )
написано 04.03.2009 22:21:11
Ну что же. Наконец-то от теоретических раздумий я перешел к практической реализации. На данном этапе в базу закачал 10% от всей карты. Реализовал PHP-скрипт на запрос возвращающий XML-документ с координатами попавших в запрошенный квадрат объектов. Накидал наброски к клиентской части - FLASH-ролик, обращающийся к серверу. На основе полученных с сервера данных прорисовывает карту. Если честно, то я более чем доволен. Рисует! Рисует то что надо! Осталось "отшлифовать".
Потом будет самое работоемкое - окончательная закачка данных карты в базу.
Сложность вот в чем. Исходные данные хранятся в виде DXF-файла, описание этого формата весьма туманное. Решил использовать промежуточный формат - SVG. Он легко обрабатывается парсером XML. Однако, беда в том, что теряются текстовые данные, такие как названия улиц и номера домов. А это плохо. Т.е. придется вручную все эти данные в базы вбивать. Ужас!
unDEFER
Участник
написано 05.03.2009 09:09:10
Хм.. Неужели совсем в этот XML названия не конвертируются??
Или может они конвертируются тоже вектором?
Пробовал ли ты его растеризовать.. Скажем тем же Firefox'ом или Opera'ой?
Radimir
Администратор
( Автор темы )
написано 06.03.2009 08:07:30
unDEFER
Пробовал оперой. Только в том максимальном масштабе, в котором опера может показывать никаких надписей не видно.
Самое лучшее решение - разобраться в формате dxf. Видимо, все же придется мне поглубе с ним разобраться. А то ведь ни один месяц могу потратить на ручное вбивание подписей.
Radimir
Администратор
( Автор темы )
написано 11.03.2009 08:45:55
unDEFER
Да, ты оказался прав про надписи. Я разбил карту по слоям и в SVG преобразовал отдельно слой с наименованиями и слой с картой. В итоге векторный рисунок с картой весит полтора метра, а рисунок с надписями более 8 метров!
Еще посидел с DXF. Создал примитивный рисунок, в котором двели линии, квадратик и надпись. Стал смотреть исходни и стало мне ясно, что бесполезное это дело, пытаться вникнуть в "грамматику этого стандарта". Придется ручками названия вбить. А так я закачал облегченный вариант карты. Пробовал рисовать его на флеше - даже узнаю улицы.
unDEFER
Участник
написано 11.03.2009 08:52:35
Хм.. почему-то не помню уведомления о твоём сообщении от 6-го числа в этой ветке.
А в самом AutoCad эти надписи можно править как текст?
Если можно значит наверняка можно найти конвертор который надписи переведёт так как надо..
unDEFER
Участник
написано 11.03.2009 09:10:33
Например, можно попробовать вот это:
http://sourceforge.net/project/platformdownload.php?group_id=190631

Не знаю получится ли у тебя запустить jar файл без проблем. Но весит немного (1,2 Мб) попробовать можно.
 1  2  3  4  5  6 
Отменить форматирование Жирный шрифт Курсив Подчеркивание Зачеркнуто
Задать цвет
Выбрать цвет
Вставить ссылку Вставить внешний рисунок Цитата Программный код Зафиксировать формат
Улыбка Подмигивание Смех Улыбка в 32 зуба Дразнить Сходка Здорово! Плохо Удивление Огорчение Раздражение

Авторизация

Реклама

Панель авторизации

Регистрация
Забыл пароль
Посетителей за час:
93