You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#51 2011-01-20 19:03:08

_panic_
Member
From: Voronezh, Russia
Registered: 2010-08-15
Posts: 127

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

Холодно блин вокруг дома с рулеткой бегать :-)
http://tipdoma.com/poisk/?materials=52& … 1&types=50 несколько типовых проектов, ни одна пятиэтажка не выглядит квадратом если рассматривать с боку

Offline

#52 2011-01-20 19:22:36

Hind
Member
From: Moscow
Registered: 2009-05-25
Posts: 3,950

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

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

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

Last edited by Hind (2011-01-20 19:24:01)

Offline

#53 2011-01-20 19:24:13

Max Vasilev
Member
Registered: 2009-06-16
Posts: 1,026
Website

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

Для 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

Last edited by Max Vasilev (2011-01-20 20:10:34)

Offline

#54 2011-01-21 04:31:37

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

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

AMDmi3 wrote:
_panic_ wrote:

Угу, после ldconfig запустилось, а разве оно не должно, по правилам хорошего тона, само из мейкфайла запускаться?

Нет, конечно.

progserega wrote:

В чём может быть проблема?

В целочисленном переполнении. Починил (в master).

Алсо, скорость теперь зависит от высоты, а начальная высота - от размеров области.

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

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

Program received signal SIGSEGV, Segmentation fault.
0xb7f9a040 in std::_List_const_iterator<Vector2<int> >::operator++() () from /home/serega/glosm/glosm/libgeomgen-default/libgeomgen-default.so
(gdb) bt
#0  0xb7f9a040 in std::_List_const_iterator<Vector2<int> >::operator++() () from /home/serega/glosm/glosm/libgeomgen-default/libgeomgen-default.so
#1  0xb7f94454 in CreateSmartVerticalLines(Geometry&, std::list<Vector2<int>, std::allocator<Vector2<int> > > 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<int> const&) const () from /home/serega/glosm/glosm/libgeomgen-default/libgeomgen-default.so
#4  0xb7fd75de in GeometryTile::GeometryTile(Projection const&, GeometryDatasource const&, Vector2<int> const&, BBox<int> 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 брал эти данные из открытых источников.

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


matrix.org: @progserega:rsprim.ru

Offline

#55 2011-01-21 15:06:28

AMDmi3
Member
From: Москва
Registered: 2009-08-12
Posts: 3,315

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

progserega wrote:

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

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

progserega wrote:

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

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

progserega wrote:

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

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

Offline

#56 2011-01-21 22:26:02

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

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

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

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


matrix.org: @progserega:rsprim.ru

Offline

#57 2011-01-22 00:34:53

Aleksandr Dezhin
Member
From: Msk
Registered: 2008-05-25
Posts: 2,109
Website

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

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


[ Проверка границ и НП | Дампы | Валидатор рек | Кое-что ещё ]
- Нет! Не надо пытаться. Делай. Или не делай. Не надо пытаться. (c) Йода

Offline

#58 2011-01-22 02:13:50

AMDmi3
Member
From: Москва
Registered: 2009-08-12
Posts: 3,315

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

Aleksandr Dezhin wrote:

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

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

Offline

#59 2011-01-22 02:21:10

Aleksandr Dezhin
Member
From: Msk
Registered: 2008-05-25
Posts: 2,109
Website

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

AMDmi3 wrote:

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

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


[ Проверка границ и НП | Дампы | Валидатор рек | Кое-что ещё ]
- Нет! Не надо пытаться. Делай. Или не делай. Не надо пытаться. (c) Йода

Offline

#60 2011-01-22 09:32:53

AMDmi3
Member
From: Москва
Registered: 2009-08-12
Posts: 3,315

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

Aleksandr Dezhin wrote:

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

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

Last edited by AMDmi3 (2011-01-22 09:38:54)

Offline

#61 2011-01-22 22:01:34

break1
Member
Registered: 2010-04-09
Posts: 86

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

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

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

Offline

#62 2011-01-23 16:37:52

Jekader
Member
From: Chisinau, Moldova
Registered: 2010-10-10
Posts: 167

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

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

Offline

#63 2011-01-23 18:25:03

AMDmi3
Member
From: Москва
Registered: 2009-08-12
Posts: 3,315

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

Jekader wrote:

Единственное - присоединяюсь к идее, что неудобно, когда отбирают мышь - скриншотики делать неудобно становится smile

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

Offline

#64 2011-01-23 18:39:29

Jekader
Member
From: Chisinau, Moldova
Registered: 2010-10-10
Posts: 167

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

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

Offline

#65 2011-01-24 00:44:14

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

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

progserega wrote:

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

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

bt full:

Program received signal SIGSEGV, Segmentation fault.
0xb7f9a040 in std::_List_const_iterator<Vector2<int> >::operator++ (this=0xbfffe584) at /usr/lib/gcc/i686-pc-linux-gnu/4.4.3/include/g++-v4/bits/stl_list.h:223
223             _M_node = _M_node->_M_next;
(gdb) bt full
#0  0xb7f9a040 in std::_List_const_iterator<Vector2<int> >::operator++ (this=0xbfffe584) at /usr/lib/gcc/i686-pc-linux-gnu/4.4.3/include/g++-v4/bits/stl_list.h:223
No locals.
#1  0xb7f94454 in CreateSmartVerticalLines (geom=..., vertices=..., minz=0, maxz=4000, minslope=5, way=...) at /home/serega/glosm/glosm/libgeomgen-default/src/DefaultGeometryGenerator.cc:91
        i = {_M_node = 0xf005d00}
        prev = {_M_node = 0xbfffe690}
        next = {_M_node = 0x0}
        cosminslope = 0.99619469809174555
#2  0xb7f994b2 in WayDispatcher (geom=..., datasource=..., way=...) at /home/serega/glosm/glosm/libgeomgen-default/src/DefaultGeometryGenerator.cc:516
        minz = 0
        maxz = 4000
        t = {_M_node = 0x0}
        vertices = {<std::_List_base<Vector2<int>, std::allocator<Vector2<int> > >> = {
            _M_impl = {<std::allocator<std::_List_node<Vector2<int> > >> = {<__gnu_cxx::new_allocator<std::_List_node<Vector2<int> > >> = {<No data fields>}, <No data fields>}, _M_node = {_M_next = 0xf005d00,
                _M_prev = 0xf007278}}}, <No data fields>}
#3  0xb7f99a72 in DefaultGeometryGenerator::GetGeometry (this=0xbfffe978, geom=..., bbox=...) at /home/serega/glosm/glosm/libgeomgen-default/src/DefaultGeometryGenerator.cc:553
        w = {_M_current = 0xabe3c248}
        ways = {<std::_Vector_base<OsmDatasource::Way, std::allocator<OsmDatasource::Way> >> = {
            _M_impl = {<std::allocator<OsmDatasource::Way>> = {<__gnu_cxx::new_allocator<OsmDatasource::Way>> = {<No data fields>}, <No data fields>}, _M_start = 0xab47e008, _M_finish = 0xac1a29f0,
              _M_end_of_storage = 0xac87e008}}, <No data fields>}
        temp = {lines_ = {<std::_Vector_base<Vector3<int>, std::allocator<Vector3<int> > >> = {
              _M_impl = {<std::allocator<Vector3<int> >> = {<__gnu_cxx::new_allocator<Vector3<int> >> = {<No data fields>}, <No data fields>}, _M_start = 0xa487a008, _M_finish = 0xa70985e0,
                _M_end_of_storage = 0xa787a008}}, <No data fields>}, triangles_ = {<std::_Vector_base<Vector3<int>, std::allocator<Vector3<int> > >> = {
              _M_impl = {<std::allocator<Vector3<int> >> = {<__gnu_cxx::new_allocator<Vector3<int> >> = {<No data fields>}, <No data fields>}, _M_start = 0xed01e58, _M_finish = 0xeec94d4,
                _M_end_of_storage = 0xf001e58}}, <No data fields>}, quads_ = {<std::_Vector_base<Vector3<int>, std::allocator<Vector3<int> > >> = {
              _M_impl = {<std::allocator<Vector3<int> >> = {<__gnu_cxx::new_allocator<Vector3<int> >> = {<No data fields>}, <No data fields>}, _M_start = 0xa1879008, _M_finish = 0xa35c28a8,
                _M_end_of_storage = 0xa4879008}}, <No data fields>}}
#4  0xb7fd75de in GeometryTile (this=0xbfffe958, projection=..., ds=..., ref=..., bbox=...) at /home/serega/glosm/glosm/libglosm-client/src/GeometryTile.cc:37
        g = {lines_ = {<std::_Vector_base<Vector3<int>, std::allocator<Vector3<int> > >> = {
              _M_impl = {<std::allocator<Vector3<int> >> = {<__gnu_cxx::new_allocator<Vector3<int> >> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0,
                _M_end_of_storage = 0x0}}, <No data fields>}, triangles_ = {<std::_Vector_base<Vector3<int>, std::allocator<Vector3<int> > >> = {
              _M_impl = {<std::allocator<Vector3<int> >> = {<__gnu_cxx::new_allocator<Vector3<int> >> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0,
                _M_end_of_storage = 0x0}}, <No data fields>}, quads_ = {<std::_Vector_base<Vector3<int>, std::allocator<Vector3<int> > >> = {
              _M_impl = {<std::allocator<Vector3<int> >> = {<__gnu_cxx::new_allocator<Vector3<int> >> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0,
                _M_end_of_storage = 0x0}}, <No data fields>}}
        translated = {<std::_Vector_base<Vector3<float>, std::allocator<Vector3<float> > >> = {
            _M_impl = {<std::allocator<Vector3<float> >> = {<__gnu_cxx::new_allocator<Vector3<float> >> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x1,
              _M_end_of_storage = 0x1}}, <No data fields>}
#5  0xb7fd6c90 in GeometryLayer (this=0xbfffe954, projection=..., datasource=...) at /home/serega/glosm/glosm/libglosm-client/src/GeometryLayer.cc:32
No locals.
#6  0x0804a22c in real_main (argc=2, argv=0xbfffea94) at /home/serega/glosm/glosm/viewer/Main.cc:238
        osm_datasource = {<OsmDatasource> = {_vptr.OsmDatasource = 0xb7fcde08}, <NonCopyable> = {<No data fields>}, nodes_ = {_vptr.id_map = 0xb7fcde50, static chunk_size = 1048576, nbuckets = 2097152,
            buckets = 0xb2348008, count = 2631861,
            chunks = {<std::_Vector_base<id_map<unsigned int, OsmDatasource::Node, 0, 1, 1048576>::hash_node*, std::allocator<id_map<unsigned int, OsmDatasource::Node, 0, 1, 1048576>::hash_node*> >> = {
                _M_impl = {<std::allocator<id_map<unsigned int, OsmDatasource::Node, 0, 1, 1048576>::hash_node*>> = {<__gnu_cxx::new_allocator<id_map<unsigned int, OsmDatasource::Node, 0, 1, 1048576>::hash_node*>> = {<No data fields>}, <No data fields>}, _M_start = 0x8073198, _M_finish = 0x80731a4, _M_end_of_storage = 0x80731a8}}, <No data fields>}, last_chunk_free = 513867, current_ptr = 0xb3371b58}, ways_ = {
            _vptr.id_map = 0xb7fcde40, static chunk_size = 1048576, nbuckets = 262144, buckets = 0xb518e008, count = 344537,
            chunks = {<std::_Vector_base<id_map<unsigned int, OsmDatasource::Way, 0, 1, 1048576>::hash_node*, std::allocator<id_map<unsigned int, OsmDatasource::Way, 0, 1, 1048576>::hash_node*> >> = {
                _M_impl = {<std::allocator<id_map<unsigned int, OsmDatasource::Way, 0, 1, 1048576>::hash_node*>> = {<__gnu_cxx::new_allocator<id_map<unsigned int, OsmDatasource::Way, 0, 1, 1048576>::hash_node*>> = {<No data fields>}, <No data fields>}, _M_start = 0x8073148, _M_finish = 0x807314c, _M_end_of_storage = 0x807314c}}, <No data fields>}, last_chunk_free = 704039, current_ptr = 0xb030c8b8}, relations_ = {
            _vptr.id_map = 0xb7fcde30, static chunk_size = 1048576, nbuckets = 8192, buckets = 0xde94388, count = 15313,
            chunks = {<std::_Vector_base<id_map<unsigned int, OsmDatasource::Relation, 0, 1, 1048576>::hash_node*, std::allocator<id_map<unsigned int, OsmDatasource::Relation, 0, 1, 1048576>::hash_node*> >> = {_M_impl = {<std::allocator<id_map<unsigned int, OsmDatasource::Relation, 0, 1, 1048576>::hash_node*>> = {<__gnu_cxx::new_allocator<id_map<unsigned int, OsmDatasource::Relation, 0, 1, 1048576>::hash_node*>> = {<No data fields>}, <No data fields>}, _M_start = 0xdcd8298, _M_finish = 0xdcd829c, _M_end_of_storage = 0xdcd829c}}, <No data fields>}, last_chunk_free = 1033263, current_ptr = 0xadf90c5c},
          InsideWhich = PreloadedXmlDatasource::NONE, tag_level_ = 0, last_node_ = {map = 0xbfffe8b8, current = 0xb3371b48}, last_way_ = {map = 0xbfffe8dc, current = 0xb030c888}, last_relation_ = {
            map = 0xbfffe900, current = 0xadf90c48}, bbox_ = {left = 349878700, bottom = 540648600, right = 403865200, top = 571340300}}
        geometry_generator = {<GeometryDatasource> = {_vptr.GeometryDatasource = 0xb7fa1e98}, datasource_ = @0xbfffe8b4}
        layer = {<Layer> = {_vptr.Layer = 0xb7fded28}, <NonCopyable> = {<No data fields>}, tile_ = {<Tile> = {_vptr.Tile = 0xb7fded98, reference_ = {x = 376871950,
                y = 555994450}}, <NonCopyable> = {<No data fields>}, lines_ = {_M_ptr = 0x0}, triangles_ = {_M_ptr = 0x0}, quads_ = {_M_ptr = 0x0}}, projection_ = {project_ = 0x804c124 <viewer+4>,
            unproject_ = 0xb7ff5b00}}
        height = 28512
#7  0x0804a43c in main (argc=2, argv=0xbfffea94) at /home/serega/glosm/glosm/viewer/Main.cc:262
No locals.
(gdb)

md5sum с отладочной информацией ( -DCMAKE_BUILD_TYPE=Debug ):
120d3a4416aa5d0b3e5e2ebce6454a23  ./glosm/viewer/glosm-viewer
Без:
md5sum glosm/viewer/glosm-viewer
900eaf8a19eb00be96adbf272ec5a73f  glosm/viewer/glosm-viewer

Бинарник:
file glosm/viewer/glosm-viewer
glosm/viewer/glosm-viewer: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped


Система:

emerge --info
Portage 2.1.8.3 (default/linux/x86/10.0, gcc-4.4.3, glibc-2.11.2-r3, 2.6.35-gentoo-r4 i686)
=================================================================
System uname: Linux-2.6.35-gentoo-r4-i686-Intel-R-_Pentium-R-_D_CPU_2.80GHz-with-gentoo-1.12.13
Timestamp of tree: Sun, 23 Jan 2011 17:00:22 +0000
distcc[29913] (dcc_trace_version) distcc 3.1 i686-pc-linux-gnu; built Oct 13 2009 16:39:59 [enabled]
ccache version 2.4 [enabled]
app-shells/bash:     4.1_p7
dev-java/java-config: 2.1.11-r1
dev-lang/python:     2.4.6, 2.6.5-r3, 3.1.2-r4
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.65-r1
sys-devel/automake:  1.9.6-r2, 1.10.2, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       3.4.6-r2, 4.3.4, 4.4.3-r2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
sys-devel/make:      3.81-r2
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA @FSF-APPROVED googleearth AdobeFlash-10.1"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -O3 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=pentium4 -O3 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests ccache distcc distlocks fixpackages metadata-transfer news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://mirror.yandex.ru/gentoo-distfiles/ http://mirror.yandex.ru/gentoo-distfiles/  ftp://gentoo.arcticnetwork.ca/pub/gentoo/ ftp://mirrors.tera-byte.com/pub/gentoo ftp://distro.ibiblio.org/pub/linux/dist … ns/gentoo/ ftp://de-mirror.org/distro/gentoo/  http://ftp.jaist.ac.jp/pub/Linux/Gentoo/ ftp://ftp.jaist.ac.jp/pub/Linux/Gentoo/ ftp://ftp.cs.pu.edu.tw/Linux/Gentoo/ "
LANG="ru_RU.UTF-8"
LC_ALL=""
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="ru"
MAKEOPTS="-j20"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/sabayon /var/lib/layman/sunrise /var/lib/layman/mozilla /var/lib/layman/piczu /var/lib/layman/rion /usr/local/portage"
SYNC="rsync://jabber.rs.int/gentoo-portage"
USE="7zip X Xaw3d aac aalib accessibility acpi ads aesicm alsa artist-screen bash-completion berkdb bindist bzip2 cairo cli colors consolekit cpudetection cracklib crypt cue cups curl cxx cyrillic dbus detex dirac directfb djvu dri dtmf dvd dvdr dvdread enca enchant encode exif expat extra extras ffmpeg fits flac gdal gdbm geolocation geos gif git gnutls gphoto2 graphics gsm gtk gtk2 h224 h281 h323 hddtemp hdf5 hlapi iceweasel iconv ilbc jabber jbig jingle jpeg jpeg2k key-screen kpathsea lame latex ldap lensfun logrotate lua lyrics-screen mad mmx mng mod_irc mod_muc mod_pubsub modules mouse mp3 mpd mpeg mudflap musepack musicbrainz ncurses netcdf new-login nfs nls nptl nptlonly ntpl ntplonly nvidia ogdi ogg openal opengl openmp pam parted pcre perl pipe plugins png pppd python qt3support qt4 readline replytolist rss rtc samba sasl sdl search-screen session sidebar sipim song-screen sox speex spell sql srt srtp sse sse2 ssl stats subversion svg sysfs syslog tcpd tex4ht theora threads tiff tordns truetype unicode usb utf8 v4l v4l2 video vorbis vp8 vpx web webkit win32codecs winbind wmf x264 x86 xcb xetex xml xorg xscreensaver xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ru" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


matrix.org: @progserega:rsprim.ru

Offline

#66 2011-01-24 00:45:54

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

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

Jekader wrote:

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

# import -window root screenshot.png ? :-)


matrix.org: @progserega:rsprim.ru

Offline

#67 2011-01-24 01:45:17

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

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

AMDmi3,

А если, к примеру, мосту/виадуку проставить height и min_height - будут ли они отрисовываться как объёмная дорожка, висящая в воздухе? Можно ли это добавить, если не будет?

П.С. Запостил в карту, жду выгрузку для проверки...


matrix.org: @progserega:rsprim.ru

Offline

#68 2011-01-24 02:12:22

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

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

Сделал выгрузку через экспорт отсюда: http://osm.org/go/5@OzCD9O

Валится в корку:

Starting program: /home/serega/glosm/glosm/viewer/glosm-viewer /tmp/map.osm
Loading...
Loaded XML in 0.050 seconds

Program received signal SIGSEGV, Segmentation fault.
0xb7f9a040 in std::_List_const_iterator<Vector2<int> >::operator++ (this=0xbfffe524) at /usr/lib/gcc/i686-pc-linux-gnu/4.4.3/include/g++-v4/bits/stl_list.h:223
223             _M_node = _M_node->_M_next;
(gdb) bt full
#0  0xb7f9a040 in std::_List_const_iterator<Vector2<int> >::operator++ (this=0xbfffe524) at /usr/lib/gcc/i686-pc-linux-gnu/4.4.3/include/g++-v4/bits/stl_list.h:223
No locals.
#1  0xb7f94454 in CreateSmartVerticalLines (geom=..., vertices=..., minz=0, maxz=12000, minslope=5, way=...) at /home/serega/glosm/glosm/libgeomgen-default/src/DefaultGeometryGenerator.cc:91
        i = {_M_node = 0x8135510}
        prev = {_M_node = 0xbfffe630}
        next = {_M_node = 0x0}
        cosminslope = 0.99619469809174555
#2  0xb7f994b2 in WayDispatcher (geom=..., datasource=..., way=...) at /home/serega/glosm/glosm/libgeomgen-default/src/DefaultGeometryGenerator.cc:516
        minz = 0
        maxz = 12000
        t = {_M_node = 0x0}
        vertices = {<std::_List_base<Vector2<int>, std::allocator<Vector2<int> > >> = {
            _M_impl = {<std::allocator<std::_List_node<Vector2<int> > >> = {<__gnu_cxx::new_allocator<std::_List_node<Vector2<int> > >> = {<No data fields>}, <No data fields>}, _M_node = {_M_next = 0x8135510,
                _M_prev = 0x8127ca8}}}, <No data fields>}
#3  0xb7f99a72 in DefaultGeometryGenerator::GetGeometry (this=0xbfffe918, geom=..., bbox=...) at /home/serega/glosm/glosm/libgeomgen-default/src/DefaultGeometryGenerator.cc:553
        w = {_M_current = 0x8149640}
        ways = {<std::_Vector_base<OsmDatasource::Way, std::allocator<OsmDatasource::Way> >> = {
            _M_impl = {<std::allocator<OsmDatasource::Way>> = {<__gnu_cxx::new_allocator<OsmDatasource::Way>> = {<No data fields>}, <No data fields>}, _M_start = 0x8144e60, _M_finish = 0x814aae0,
              _M_end_of_storage = 0x814ee60}}, <No data fields>}
        temp = {lines_ = {<std::_Vector_base<Vector3<int>, std::allocator<Vector3<int> > >> = {
              _M_impl = {<std::allocator<Vector3<int> >> = {<__gnu_cxx::new_allocator<Vector3<int> >> = {<No data fields>}, <No data fields>}, _M_start = 0x8194518, _M_finish = 0x81a4460,
                _M_end_of_storage = 0x81ac518}}, <No data fields>}, triangles_ = {<std::_Vector_base<Vector3<int>, std::allocator<Vector3<int> > >> = {
              _M_impl = {<std::allocator<Vector3<int> >> = {<__gnu_cxx::new_allocator<Vector3<int> >> = {<No data fields>}, <No data fields>}, _M_start = 0x813e9d8, _M_finish = 0x81412c4,
                _M_end_of_storage = 0x81419d8}}, <No data fields>}, quads_ = {<std::_Vector_base<Vector3<int>, std::allocator<Vector3<int> > >> = {
              _M_impl = {<std::allocator<Vector3<int> >> = {<__gnu_cxx::new_allocator<Vector3<int> >> = {<No data fields>}, <No data fields>}, _M_start = 0x817c510, _M_finish = 0x818fbc0,
                _M_end_of_storage = 0x8194510}}, <No data fields>}}
#4  0xb7fd75de in GeometryTile (this=0xbfffe8f8, projection=..., ds=..., ref=..., bbox=...) at /home/serega/glosm/glosm/libglosm-client/src/GeometryTile.cc:37
        g = {lines_ = {<std::_Vector_base<Vector3<int>, std::allocator<Vector3<int> > >> = {
              _M_impl = {<std::allocator<Vector3<int> >> = {<__gnu_cxx::new_allocator<Vector3<int> >> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0,
                _M_end_of_storage = 0x0}}, <No data fields>}, triangles_ = {<std::_Vector_base<Vector3<int>, std::allocator<Vector3<int> > >> = {
              _M_impl = {<std::allocator<Vector3<int> >> = {<__gnu_cxx::new_allocator<Vector3<int> >> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0,
                _M_end_of_storage = 0x0}}, <No data fields>}, quads_ = {<std::_Vector_base<Vector3<int>, std::allocator<Vector3<int> > >> = {
              _M_impl = {<std::allocator<Vector3<int> >> = {<__gnu_cxx::new_allocator<Vector3<int> >> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0,
                _M_end_of_storage = 0x0}}, <No data fields>}}
        translated = {<std::_Vector_base<Vector3<float>, std::allocator<Vector3<float> > >> = {
            _M_impl = {<std::allocator<Vector3<float> >> = {<__gnu_cxx::new_allocator<Vector3<float> >> = {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x1,
              _M_end_of_storage = 0x1}}, <No data fields>}
#5  0xb7fd6c90 in GeometryLayer (this=0xbfffe8f4, projection=..., datasource=...) at /home/serega/glosm/glosm/libglosm-client/src/GeometryLayer.cc:32
No locals.
#6  0x0804a22c in real_main (argc=2, argv=0xbfffea34) at /home/serega/glosm/glosm/viewer/Main.cc:238
        osm_datasource = {<OsmDatasource> = {_vptr.OsmDatasource = 0xb7fcde08}, <NonCopyable> = {<No data fields>}, nodes_ = {_vptr.id_map = 0xb7fcde50, static chunk_size = 1048576, nbuckets = 2048,
            buckets = 0x807ebb0, count = 3567,
            chunks = {<std::_Vector_base<id_map<unsigned int, OsmDatasource::Node, 0, 1, 1048576>::hash_node*, std::allocator<id_map<unsigned int, OsmDatasource::Node, 0, 1, 1048576>::hash_node*> >> = {
                _M_impl = {<std::allocator<id_map<unsigned int, OsmDatasource::Node, 0, 1, 1048576>::hash_node*>> = {<__gnu_cxx::new_allocator<id_map<unsigned int, OsmDatasource::Node, 0, 1, 1048576>::hash_node*>> = {<No data fields>}, <No data fields>}, _M_start = 0x8073118, _M_finish = 0x807311c, _M_end_of_storage = 0x807311c}}, <No data fields>}, last_chunk_free = 1045009, current_ptr = 0xb531def8}, ways_ = {
            _vptr.id_map = 0xb7fcde40, static chunk_size = 1048576, nbuckets = 512, buckets = 0x80d9488, count = 592,
            chunks = {<std::_Vector_base<id_map<unsigned int, OsmDatasource::Way, 0, 1, 1048576>::hash_node*, std::allocator<id_map<unsigned int, OsmDatasource::Way, 0, 1, 1048576>::hash_node*> >> = {
                _M_impl = {<std::allocator<id_map<unsigned int, OsmDatasource::Way, 0, 1, 1048576>::hash_node*>> = {<__gnu_cxx::new_allocator<id_map<unsigned int, OsmDatasource::Way, 0, 1, 1048576>::hash_node*>> = {<No data fields>}, <No data fields>}, _M_start = 0x80731d8, _M_finish = 0x80731dc, _M_end_of_storage = 0x80731dc}}, <No data fields>}, last_chunk_free = 1047984, current_ptr = 0xb2315f08}, relations_ = {
            _vptr.id_map = 0xb7fcde30, static chunk_size = 1048576, nbuckets = 2, buckets = 0x80e12d8, count = 4,
            chunks = {<std::_Vector_base<id_map<unsigned int, OsmDatasource::Relation, 0, 1, 1048576>::hash_node*, std::allocator<id_map<unsigned int, OsmDatasource::Relation, 0, 1, 1048576>::hash_node*> >> = {_M_impl = {<std::allocator<id_map<unsigned int, OsmDatasource::Relation, 0, 1, 1048576>::hash_node*>> = {<__gnu_cxx::new_allocator<id_map<unsigned int, OsmDatasource::Relation, 0, 1, 1048576>::hash_node*>> = {<No data fields>}, <No data fields>}, _M_start = 0x80dee48, _M_finish = 0x80dee4c, _M_end_of_storage = 0x80dee4c}}, <No data fields>}, last_chunk_free = 1048572, current_ptr = 0xb0f0e058},
          InsideWhich = PreloadedXmlDatasource::NONE, tag_level_ = 0, last_node_ = {map = 0xbfffe858, current = 0xb531dee8}, last_way_ = {map = 0xbfffe87c, current = 0xb2315ed8}, last_relation_ = {
            map = 0xbfffe8a0, current = 0xb0f0e044}, bbox_ = {left = 1319310000, bottom = 431046700, right = 1319436000, top = 431186600}}
        geometry_generator = {<GeometryDatasource> = {_vptr.GeometryDatasource = 0xb7fa1e98}, datasource_ = @0xbfffe854}
        layer = {<Layer> = {_vptr.Layer = 0xb7fded28}, <NonCopyable> = {<No data fields>}, tile_ = {<Tile> = {_vptr.Tile = 0xb7fded98, reference_ = {x = 1319373000,
                y = 431116650}}, <NonCopyable> = {<No data fields>}, lines_ = {_M_ptr = 0x0}, triangles_ = {_M_ptr = 0x0}, quads_ = {_M_ptr = 0x0}}, projection_ = {project_ = 0x804c124 <viewer+4>,
            unproject_ = 0xb7ff5b00}}
        height = 7124
#7  0x0804a43c in main (argc=2, argv=0xbfffea34) at /home/serega/glosm/glosm/viewer/Main.cc:262
No locals.
(gdb)


matrix.org: @progserega:rsprim.ru

Offline

#69 2011-01-24 16:54:40

AMDmi3
Member
From: Москва
Registered: 2009-08-12
Posts: 3,315

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

progserega wrote:

А если, к примеру, мосту/виадуку проставить height и min_height - будут ли они отрисовываться как объёмная дорожка, висящая в воздухе? Можно ли это добавить, если не будет?

Не будет. Добавить будет непросто, потому что нет способа указать насколько один объект выше другого в какой-то точке, а для мостов и точки такой быть не может. height для дорог малоприменимы, объекты мостов не приняты. Пока планируется только что-то на базе layer.

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

Offline

#70 2011-01-24 21:21:57

break1
Member
Registered: 2010-04-09
Posts: 86

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

AMDmi3 что скажете на счет управления камерой только при зажатой правой клавиши мыши? ( писал выше что имею ввиду, чтобы курсор не пропадал )

Offline

#71 2011-01-24 22:33:15

AMDmi3
Member
From: Москва
Registered: 2009-08-12
Posts: 3,315

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

Сотни вариантов управления будут когда оформится что-то более Google Earth образное. Сейчас есть более важные задачи, но patches, как водится, welcome.

Offline

#72 2011-01-25 01:17:32

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

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

AMDmi3 wrote:
progserega wrote:

А если, к примеру, мосту/виадуку проставить height и min_height - будут ли они отрисовываться как объёмная дорожка, висящая в воздухе? Можно ли это добавить, если не будет?

Не будет. Добавить будет непросто, потому что нет способа указать насколько один объект выше другого в какой-то точке, а для мостов и точки такой быть не может. height для дорог малоприменимы, объекты мостов не приняты. Пока планируется только что-то на базе layer.

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

Значит если отрисовывать мосты или переходы сейчас, то только из "маленьких кусочков building=yes с указаными размерами и высотами". Хотя это всё конечно несколько поспешно, хотя и забавно :-)

Сегфолт полечился. И на карте приморья и на мособласти. Спасибо.


matrix.org: @progserega:rsprim.ru

Offline

#73 2011-01-25 02:50:59

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

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

Ждём новых версий! :-)


matrix.org: @progserega:rsprim.ru

Offline

#74 2011-01-25 06:55:02

dkiselev
Member
Registered: 2010-02-09
Posts: 3,364

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

progserega wrote:

Значит если отрисовывать мосты или переходы сейчас, то только из "маленьких кусочков building=yes с указаными размерами и высотами". Хотя это всё конечно несколько поспешно, хотя и забавно :-)

Жуть то какая.


mail: dkiselev@osm.me      skype: dmitry.v.kiselev
Open Street Maps are supreme! Exterminate all map forms! Exterminate! Exterminate!

Offline

#75 2011-01-25 11:12:06

Jekader
Member
From: Chisinau, Moldova
Registered: 2010-10-10
Posts: 167

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

ну раз уж хочется мостов - то для начала надо рельеф из strm wink Ну а потом уже просто - если bridge=yes, то соединяем начало и конец моста по плоскости, а не по рельефу! Но это так, мечты...

Offline

Board footer

Powered by FluxBB