glosm - 3D рендер для OpenStreetMap

Одноэтажным зданиям кроме гаражей (можно, в принципе, добавить и остановки буде у них свой building=) прибавляется метр (по-хорошему надо не только одноэтажным, но там надо min_level тоже учитывать, а мне пока было лень) - это полезно одноэтажным магазинам (которые на самом деле даже 5 метров) и деревенским домам. Хотите однозначной интерпретации - меряйте и проставляйте height. Высотки нормальные, но обычно у них 1-2 технических этажа которые не считают в levels. Нужно придумать тэг и отмечать их тоже.

Уболтали, сам дурак - приношу свои извинения посчитавшим себя обиженными :slight_smile:

ЗЫ: Вопроос по высоте у меня не в одноэтажках, а в том, что высотки, даже пятиэтажки, у меня отоброжаются низенькими и толстенькими.

ЗЫ2: make uninstall только у меня не срабатвает?

А просто техэтажи и цокольные не проставлены нигде, наверное.
У меня в осмволкере тем, у кого не проставлены, прибавляется, вроде, по 3 метра. :3

Правда, из-за этого возникает проблема с киосками и тп.

panic, а какой именно участок интересует? Где пятиэтажки низкие.

Это эффект восприятия. Во-первых, мы их обычно видим с десятков метров и чтобы увидеть верх надо задрать голову - вот и кажется что они высокие. Кроме того, на торце 2 ряда окон, на которые мы прежде всего обращаем внимание, и у этого прямоугольника другие пропорции. А в реальности они действительно с торца почти квадратные, что легко проверяется измерением длины и высоты.

cmake не поддерживает make uninstall, см. его FAQ.

Не знаю, как насчет восприятия, но тут http://latlon.org/buildings?zoom=16&lat=51.64343&lon=39.23548&layers=BFT интересующий меня участок рендерится довольно похоже на правду, а в glosm мои пятиэтажки похожи на квадратные бруски :slight_smile:

Померяйте точные длины/высоты на местности и сравните с тем что рисует glosm - тогда будет о чём говорить.

Холодно блин вокруг дома с рулеткой бегать :slight_smile:
http://tipdoma.com/poisk/?materials=52&years=57&regions=66&levels=61&types=50 несколько типовых проектов, ни одна пятиэтажка не выглядит квадратом если рассматривать с боку

Дайте фото с угла дома. Лучше две штуки. Пропорции по фото определить и сравнить можно без проблем :3

Еще раз напоминаю про цокольный этаж и чердак/техэтаж. AMDmi13, они у тебя учитываются в каком-либо виде?

Для openSUSE (текущей и предыдущей версий) glosm собирается в моём уютненьком домашнем репозитарии на openSUSE Build Service. Для инсталяции достаточно воспользоваться поиском по репозитариям http://software.opensuse.org/search или вручную добавить репо и поставить (для 11.2):


zypper ar -f http://download.opensuse.org/repositories/home:/VasilevMaxim/openSUSE_11.2/ home:maksvasilev
zypper install glosm

Для 11.3 соответственно поменять в URL номер версии.

Для Factory:


zypper ar -f http://download.opensuse.org/repositories/home:/VasilevMaxim/openSUSE_Factory/ home:maksvasilev
zypper install glosm

Обновился - всё заработало. Скачал всё приморье - всё работает! Скорость - удобно.

Попробовал на московской области http://gis-lab.info/data/osm/mosobl/mosobl.osm.bz2 - грузит, рисует основное окно, потом вываливается в корку:

Program received signal SIGSEGV, Segmentation fault.
0xb7f9a040 in std::_List_const_iterator<Vector2 >::operator++() () from /home/serega/glosm/glosm/libgeomgen-default/libgeomgen-default.so
(gdb) bt
#0 0xb7f9a040 in std::_List_const_iterator<Vector2 >::operator++() () from /home/serega/glosm/glosm/libgeomgen-default/libgeomgen-default.so
#1 0xb7f94454 in CreateSmartVerticalLines(Geometry&, std::list<Vector2, std::allocator<Vector2 > > const&, int, int, float, OsmDatasource::Way const&) ()
from /home/serega/glosm/glosm/libgeomgen-default/libgeomgen-default.so
#2 0xb7f994b2 in WayDispatcher(Geometry&, OsmDatasource const&, OsmDatasource::Way const&) () from /home/serega/glosm/glosm/libgeomgen-default/libgeomgen-default.so
#3 0xb7f99a72 in DefaultGeometryGenerator::GetGeometry(Geometry&, BBox const&) const () from /home/serega/glosm/glosm/libgeomgen-default/libgeomgen-default.so
#4 0xb7fd75de in GeometryTile::GeometryTile(Projection const&, GeometryDatasource const&, Vector2 const&, BBox const&) () from /home/serega/glosm/glosm/libglosm-client/libglosm-client.so
#5 0xb7fd6c90 in GeometryLayer::GeometryLayer(Projection, GeometryDatasource const&) () from /home/serega/glosm/glosm/libglosm-client/libglosm-client.so
#6 0x0804a22c in real_main(int, char**) ()
#7 0x0804a43c in main ()
(gdb)

Просто москва http://fmesh.ru/osm/areas/moscow.osm.bz2:
Loading…
Exception: parsing error

И ещё, пожелание. А можно ли прикрутить карту рельефа? Это было бы совсем прекрасно. http://rutracker.org/forum/viewtopic.php?t=1686360
Я так понимаю liosha брал эти данные из открытых источников.

Рельеф бы очень сильно добавил реалистичности…

У меня не повторяется. Какая система, архитектура, md5 файла? Можете пересобрать с -DCMAKE_BUILD_TYPE=Debug и показать bt full ?

Этот файл битый.

Это в планах, но нескоро.

У меня не повторяется. Какая система, архитектура, md5 файла? Можете пересобрать с -DCMAKE_BUILD_TYPE=Debug и показать bt full ?

На выходных не будет. В понедельник постораюсь на работе сделать.

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

Потому что иначе она будет вылезать за пределы окна и нельзя будет повернуться куда хочется.

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

Все кнопки уже есть в WM. Может стоит в fullscreen по умолчанию запускать, но мне такая самодеятельность кажется странной.
Ближе к qt версии что-нибудь придумаю.

Просто надо сделать как во всех 3D просмотрщиках и редакторах, чтобы поворот камеры осуществлялся когда зажата правая клавиша мышки - и тогда пусть указатель пропадает и захватывается, а когда отпускаем, то возвращается туда где был изначально. Это 100% более верное поведение.

Собралось под Debian абсолютно без проблем, работает шустренько, даже на Intel GMA950 выдаёт 7 FPS.
Единственное - присоединяюсь к идее, что неудобно, когда отбирают мышь - скриншотики делать неудобно становится :slight_smile:

При чём тут скриншоты? Клавиатуру никто не отбирает.

ksnapshot без мышки малость неудобен :wink: