Hm, niech się zastanowię, bo wydawało mi się, że to wyłącznie kwestia renderingu: jeśli na obszarze budynku (w domyśle wiaduktu) leży droga, i w dodatku oba elementy mają zdefiniowaną tę samą warstwę (“layer=1”), to ja bym rysował tę drogę po dachu. Pytanie tylko, czy mapowicz nie mógł faktycznie mieć na myśli czegoś tak perwersyjnego, jak przywalenie drogi budynkiem z jakimś dachem…
Można też zostawić domyślne renderowanie tak jak teraz, ale explicite powiedzieć dachowi, żeby się pobawił w kameleona i jak budynek dostanie parametr “viaduct=yes”, to ma sobie nakleić na głowę wszystkie drogi leżące na tej samej warstwie (oczywiście już po naklejeniu koloru i materiału). Byłaby to reguła najmniejszej niespodzianki, ale wydaje mi się w tej chwili, że jak ktoś jest perwersyjny i rzeczywiście chce przywalać drogi budynkami, to niech da budynkowi wyższy numer warstwy i po sprawie.
Innymi słowy nie mogę znaleźć żadnego przypadku, kiedy mogłoby to być potrzebne, więc wolę, żeby domyślnie renderowała się bardziej użyteczna opcja, a jak komuś naprawdę będzie potrzeba, to uważam warstwy za właściwe i sensowne rozwiązanie tego problemu w świecie 2.5D.
Dzięki! Wydawało mi się intuicyjnie, że albo jeden tag, albo drugi, ale chyba muszę sobie uświadomić, że konstruowanie 3D jest w OSM na tyle świeże, że standardowe renderowanie 2D (zwłaszcza Mapnik) jeszcze się nie załapało na nowy tag i nie potrafi ponakładać na siebie sumy wszystkich rzutów building:part (chyba w ogóle jeszcze nie zna tego tagu). Niby nie piszemy pod rendering, ale bez przesady!
A możesz jeszcze świeżym okiem spojrzeć na ORCO? Kendzi3D renderuje wysokości, ale Osmapa widzi w tym miejscu tylko płaski placek, choć np. sąsiedni Marriott wyświetla prawidłowo, a inne budynki też mają na Osmapie jakąś wysokość. Ciekaw jestem dlaczego, a robienie 3D na 2D, w ubogiej specyfikacji, która na dodatek dopiero dojrzewa, i to jeszcze literkami, jest bardzo nieintuicyjne i brakuje mi już uwagi do kontrolowania różnic w interpretacji przez różne renderery.
OK. Podrzuciłem dziś jeszcze kopułkę na Hotelu Sobieski, ale Złote Tarasy będą i tak najlepszym testem. Swoją drogą one mają też pochyłe ściany (podobnie jak Żagiel), więc i tu się przydadzą jako przypadek testowy.
Ale tekstura już jest (i bardzo dobrze wygląda, bo widać linie łączące poszczególne pasy), tylko ma niewłaściwy kolor. A gdzie ona właściwie leży? Bo nie mogłem się zorientować z jakiego wiki niby są pobierane tekstury.
Jak to się zgłasza, pełna procedura (http://wiki.openstreetmap.org/wiki/Creating_a_proposal) czy dla typów jest jakaś skrócona?
Płyta z piaskowca to już ma nawet gotową teksturę (http://wiki.openstreetmap.org/wiki/File:MarekWall0001.jpg), z kolei tekstury do papy nigdzie tam nie widzę, choć przecież wtyczka z jakiejś korzysta - dziwne.
Przy czym tu nie chodzi o dachy, tylko ściany. Mam nadzieję, że renderer będzie jednak uwzględniał te tagi na dowolnej powierzchni - aż się prosi, żeby był też tag “floor” (czyli np. spód dachu na Centralnym).
Bo to wszystko wynika z bardzo zgrubnego podejścia do 3D w bieżącej specyfikacji: “Simple 3D Building”, jak sama nazwa wskazuje, jest uproszczone i zakłada, że robisz całe budynki. Tymczasem w praktyce nieraz trzeba te “budynki” potraktować jako klocki do składania w prawdziwe budynki, które bywają o wiele bardziej złożone niż schemat “ściany+dach” (np. dolna kondygnacja jest wyłożona piaskowcem, a wyższe - otynkowane). Już nie wspominając o takich konstrukcjach jak nasz wiadukt czy tzw. mała architektura - konkretnie jest mi to potrzebne do górnej krawędzi murka pod daszkiem WKD Śródmieście. W nomenklaturze S3DB jest to “płaski dach”, ale w tym przypadku to tylko górna powierzchnia jednego z elementów budowli.
Swoją drogą bardzo się cieszę, że to wszystko wychodzi tak szybko i to na tak ograniczonym terenie.
A można gdzieś o tym poczytać?
I jeszcze przy okazji - jak stoisz z implementowaniem? Bo ja mam dziesiątki propozycji, ale sam jestem informatykiem i wiem, że zwalenie wszystkich problemów na raz wcale nie pomaga w ich załatwianiu. Chciałbym się dopasować do twojego czasu i możliwości.
Nie chodzi mi o wysokość, tylko żeby ich nie było widać (zobacz np. jak dziwnie wygląda obszar nad galerią zachodnią podziemi dworca, czyli na północ od daszku WKD). Do realistycznego renderingu chyba wystarczy schować warstwy poniżej zera, jeśli są w tunelu - dobrze myślę?
Schody możesz zobaczyć np. pod tym daszkiem WKD: są szerokie, asfaltowe i z pasami pośrodku jak ulica, tylko dodatkowo pokryte pytajnikami. Na krótszą metę lepiej, żeby wyglądały tak samo, jak ścieżki dla pieszych.
A na dłuższą metę to i tak S3DB nam nie wystarczy i będzie konieczne 4D. Schody są doskonałym przykładem czegoś prostego i codziennego, co jednak wymaga uwzględnienia ukształtowania terenu, a już co najmniej interpretowania warstw. W bieżącej specyfikacji jedyne miejsce, gdzie nie mielibyśmy z tym większego problemu, to poziomy budynków, no ale to już Indoor, czyli nieco inna specyfikacja (choć jak popatrzyłem z grubsza, to obie te specyfikacje świetnie się uzupełniają).
Przykład nieco bardziej makro to metro Centrum: tam też się bawiłem i od razu widać, że coś jest nie tak, bo Patelnia jest przecież cała w zagłębieniu, a nie na poziomie reszty gruntu. Nawet warstwy nas tu nie ratują, bo trzeba by od razu zdefiniować przejście między nimi - czasami jest to łagodne zbocze (wzdłuż schodów), a gdzie indziej pionowa ściana (nad wejściem do podziemi ronda).