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


Автор: B2_Russia 6.10.2008, 21:52
Создаю в своем проекте карту, и не могу пока понять как отрисовывают некоторые элементы на www kosmosnimki ru.

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

Автор: skyboy 6.10.2008, 22:21
я думаю,  что рисуются не улицы многоугольниками, а по координатам перекрестков рисуются многоугольники "жилых массивов", т.е. то, что улицами ограничено. вот, когда отрисовани все многоугольники кварталов, остается определить "тупики"(как на иллюстрации) и отрсовать их.

вопрос не имеет привязки к ЯП. кроме того, в PHP нет специализированных средств для поиска пересечений и прочих готовых решений в 
области планиметрии. Потому 

M
skyboy
делаю перенос из "PHP: Графика" в "Алгоритмы"

Автор: B2_Russia 7.10.2008, 00:02
А зря, я немного потумкал и думаю, что скорее всего улица рисуется 2 линиями, сначала коричневой толщиной к примеру 7 пикс, а по ней - белой толщиной 5 пикс.

Есть еще  вопросы, например как под углом выводить надписи, но это я думаю найду поиском скорее всего не сложно...

Автор: skyboy 7.10.2008, 00:31
да, наверное, ты прав.
только сначала надо проводить все "внешние" линии большей толщины, а потом - все "внутренние".
но в любом случае, от PHP тут практически ничего не зависит. http://php.net/imagecolorallocate + http://php.net/imagesetthinkness+ http://php.net/imageline. вот и весь PHP.

Автор: Earnest 7.10.2008, 14:56
B2_Russia, могут быть разные варианты. Самый простой - это когда полигоны улиц хранятся отдельно от границ (просто линий). В этом случае каждая улица может быть представлена своим полигоном, который отрисовывается без границы. А потом сверху рисуют декоративный слой границ, где линии могут быть скомпонованы как угодно. Т.е. в карте есть слои, хранящие сущностные объекты и декоративные слои. В зависимости от сложности геометрической модели они могут быть связаны друг с другом или нет - по картинке никак не поймешь. 

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