Хранение и использование векторных данных

DpoHro

Новичок
Хранение и использование векторных данных

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

Весь вопрос в том, как организовать и хранить на сервере векторную карту???

У меня небольшой опыт работы с PHP. Поэтому прошу совета у вас, дабы не затянуть разработку пробами...

Результат - либо отрисованый на сервере (средствами PHP) по векторам ррисунок, либо передача в браузер пользователя массивов векторов для их отрисовки там посредством JavaScript...

То есть главный вопрос: как хранить(БД, файлы), чтобы можно было реализовать отсечение ненужных участков (при разных масштабах) и чтобы все это работало быстро?

Во написал... Можно читать 1 и последний абзац...
Спасибо!
 

SiMM

Новичок
> как организовать и хранить на сервере векторную карту???
Flash наверно для пользователя будет более удобен.
пример
 

DpoHro

Новичок
Уау... Неплохо, исходничком не раздобритесь?
Второй вопрос, как хранить данные...
Насамом деле у меня задача не только маршруты но и адреса...
Конкретные дома, и тд... Вобщем... Данных много

-~{}~ 08.08.05 15:18:

:) Да... всеравно, идея хорошая
 

SiMM

Новичок
> Неплохо, исходничком не раздобритесь?
Не моё. Более того - ничего не понимаю во Flash ;)

> Насамом деле у меня задача не только маршруты но и адреса... Конкретные дома, и тд...
Поищи что-нибудь подобное в инете для начала (хотя бы как оно выглядит), да и на форуме помоему совсем недавно был "близкий" вопрос. С хранением самих домов то проблем никаких быть вроде не должно - нужны координаты - добавишь нужные поля.
 

DpoHro

Новичок
Домов - естессно, но есть же понятие не только точечных, но и полигональных объектов... То есть наборов точек...
 

phobos

Новичок
помочь не чем не могу, но дам ссылки на готовое может посмотришь как устроено.
у нас есть местная фирма которая э-картами занимается http://www.regio.ee/
вот пример её работы: http://otsing.delfi.ee/ru/m.php
там есть поиск и даже возможность отображать банкоматы и бензоколонки...
 

DpoHro

Новичок
Спасибо ребята буду думать...
Если еще кто чем поможет - буду рад :)
 

Alexandre

PHPПенсионер
если реализовывать правильно, то это делается так:
1) необходимо иметь геоинформационную систему (ГИС), которая должна содержать карту города
2) скрипт обращается к ГИС (у каждой ГИС свой интерфейс)
3) ГИС возвращает кусок JPG ( GIF), который нужно в последствии отобразить

далее тонкостей мало, НО:

весь вопрос упирается в наличие
а) электронной карты
б) наличия ГИС

из ГИС можно порекомендовать MAPInfo или MicrosoftMAP
или что найдешь :)

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

особенно если город большой, типа Питера
общий объем отсканированных файлов карта занимает 2GB
 

Ilya

Новичок
DpoHro

:)
помнишь я тебе говорил о целесообразности еще на другом форуме? :)
так вот. http://www.tvermap.ru
у нас уже такое есть.
там можно и посмотреть как сделано.
 

DpoHro

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

deek

Новичок
DpoHro

> То есть главный вопрос: как хранить(БД, файлы), чтобы можно было реализовать отсечение ненужных участков (при разных масштабах) и чтобы все это работало быстро?

на самом деле, когда нет денег, остаются только:
Mapserver + PHP/Mapscript + PostgreSQL/PostGIS

да, и забудь про Flash. карты на Flash - это вариант, ограниченный, прежде всего, производительностью. 2-мегабайтный XML/SVG на клиенте рендерятся явно больше 10 секунд.

Alexandre
имхо,

> со сканирование карты - мы уже проходили....
> получается плохо, много возни со склейкой...
> большие проблемы возникают на отображении "граничных" участков

во-первых, карта - это лицензионный материал, и сканировать их запрещено законом об авторском праве.

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

вместо сканирования можно купить TIFF бумажной карты у издателя.

> особенно если город большой, типа Питера
> общий объем отсканированных файлов карта занимает 2GB

и в третьих, если условием задачи (не в этом случае) является только показ карты, то нет ничего проще:

- сделать большой BMP + fseek в нем на нужные места + генерация GIF/JPG на лету, очень быстро;

- или сразу порезать все на N тысяч маленьких картинок, что сделано, например, на google maps;
 

SiMM

Новичок
> 2-мегабайтный XML/SVG на клиенте рендерятся явно больше 10 секунд.
Так клиенту не надо таких больших данных отдавать, да ещё и за раз. Ему же не всё и сразу нужно, а лишь по мере поступления его запросов :) То же самое будет и без Flash'а. Flash - только как рюшечка для визуального отображения данных.
 

deek

Новичок
> Так клиенту не надо таких больших данных отдавать, да ещё и за раз.

ну как сказать. все, что есть в доступном виде на Flash, подтормаживает быдь здоров как, по сравнению со статикой. какая уж тут интерактивность.

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

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

DpoHro

Новичок
Кстати, карта не будет очень подробная, но и не простой кусок с парой квадратиков...
 
Сверху