Jak można wyświetlić model 3D budynku w przeglądarce internetowej?

12

Chciałbym spróbować pokazać proponowany budynek w przeglądarce internetowej, aby użytkownik mógł z nim wchodzić w interakcje w sposób podobny do widoku mapy Google Maps. Czy można to zrobić na dowolnej platformie?

Mogę stworzyć format budynku w dowolnym formacie geoprzestrzennym znanym ludzkości, ale o ile wiem, Google Streetview pozwala na wstawianie punktów tylko za pomocą ich API. Nie chcę zmuszać użytkowników do pobierania wtyczki, aby ją wyświetlić (dlatego wolałbym nie używać wtyczki Google Earth) [ aktualizując ten punkt w odpowiedzi na komentarze ].

Jedną z moich myśli było próba zrobienia panoramy przy użyciu statycznych zdjęć budynku w innym narzędziu, które można przewijać, aby wyglądało, jakby było osadzone na mapie. Przypuszczam, że byłoby to sprzeczne z warunkami korzystania z usług Google, ale jestem głównie ciekawy, jak to zrobić.

Jestem również otwarty na korzystanie z dowolnej usługi płatnej dla tej funkcjonalności lub rozważanie jakiejkolwiek nowej technologii, takiej jak Kartograph , WebGL lub być może biblioteka javascript 3D, taka jak http://threejs.org/

djq
źródło
Czy rozważasz VRML (Virtual Reality Modeling Language)? Chociaż wymagana jest wtyczka do przeglądarki.
Witamy w GIS-SE :) Twoja odpowiedź nie jest odpowiedzią na pytanie, więc rozważ zamieszczenie takich porad jako komentarzy w przyszłości.
Curlew
To nie daje odpowiedzi na pytanie. Aby skrytykować lub poprosić autora o wyjaśnienie, zostaw komentarz pod jego postem - zawsze możesz komentować własne posty, a gdy będziesz mieć wystarczającą reputację , będziesz mógł komentować każdy post .
Curlew
Może ci się przydać gis.stackexchange.com/questions/58133/…
Sunil

Odpowiedzi:

5

Wiele zależy od rodzaju interaktywności, którą chcesz.

Jeśli możesz przekonwertować swój model na plik KML lub KMZ z georeferencją (być może przy użyciu Sketchup lub Blendera), możesz go otworzyć w taki sam sposób jak każdy inny plik KML i zobaczyć swój model 3D w Google Earth (zrobiłem to z turbinami wiatrowymi i może być dość skuteczny, pomimo grubej rozdzielczości terenu Google).

Jeśli chcesz pokazać wiele szczegółów w wysokiej jakości, możesz rozważyć niektóre „ciężkie” aplikacje. Na przykład możesz wypróbować Unity , Panda3D lub Blender (wtyczka Blendera nazywa się „ Burster ”) - wszystkie z wtyczkami do przeglądarki 3D dla sieci

Ktoś wspomniał o VRML. VRML jest teraz trochę staroświecki i został zastąpiony przez X3D , ale wymaga to również zainstalowania wtyczki przez użytkownika.

Flash 3D ( Stage3D ) to kolejna opcja, a większość osób ma już zainstalowaną aktualną wtyczkę Flash, więc będzie to minimalny kłopot dla użytkowników końcowych.

Jeśli chcesz czegoś lżejszego, OSM3D może być wart wykopu, który używa XNavigatora. Ten ostatni może być dostarczony jako zintegrowany komponent, dzięki czemu użytkownik końcowy nie będzie musiał niczego instalować (chociaż musi czekać na załadowanie przeglądarki).

MappaGnosis
źródło
1
Korzystam z PostGIS, więc eksportowanie do KML jest w porządku (interesuje mnie raczej ogólne grupowanie, a nie szczegółowe informacje). Wolałbym, aby użytkownicy nie musieli pobierać wtyczek, dlatego unikałem Google Earth. Przyjrzę się OSM3D, dzięki.
djq
osm3d.de/map.htm zależy od wtyczki Java, która jest blokowana przez większość przeglądarek ze względów bezpieczeństwa. Wstępnie wyrenderowane kafelki, takie jak te z maps.osm2world.org, unikają tego, ale umożliwiają tylko wstępnie renderowane kierunki widoku.
AndreJ
2

Cóż, mówisz o dwóch różnych rzeczach. Widok ulicy nie jest tak naprawdę budynkiem 3D, bardziej przypomina panoramę. Jeśli chcesz wyświetlić budynek 3D w przeglądarce internetowej, możesz chcieć zainstalować wtyczkę internetową Google Earth, a następnie zapisać model budynku 3D jako .KMZ, a nawet załadować go do Galerii 3D (stara Galeria Google ).

Ryan Garnett
źródło
Myślałem o tej metodzie - ale chciałbym podejścia, które nie wymaga wtyczki. Rozumiem, że ten widok ulicy nie jest budynkiem 3D, ale zastanawiałem się, czy istnieje jakieś podejście, które umożliwiłoby edycję panoramy zdjęć w taki sposób, aby można było wstawić budynek.
djq
1
Co z budowaniem płaszczyzny wielokąta, w której górne współrzędne X i Y znajdują się nad dolnymi linkami X i Y. Następnie możesz zastosować zdjęcia do tego samolotu, byłoby to podobne do widoku ulicy.
Ryan Garnett
2

Jeden przykład tego podejścia można zobaczyć tutaj: www.arcgis.com/apps/CEWebViewer/ To jest ArcGIS przy użyciu CityEngine 3D, w którym można powiększać zestaw budynków.

Szukałem więcej przykładów i znalazłem interesujący, który koncentruje się na wizualizacjach miast, o nazwie http://vizicities.com/. Wyjaśnienie, w jaki sposób stworzyli swoją wizualizację tutaj: http://rawkes.com/articles / vizicities-dev-diary-1

Dwa inne przykłady interesujących interaktywnych obiektów 3D można zobaczyć tutaj:

Innym obiecującym podejściem WebGL może być użycie Cesium : http://cesium.agi.com/demos.html, który może obsługiwać dane wyjściowe KML.

djq
źródło
1

Istnieje wtyczka do Sketchup o nazwie Sketcup Web Exporter, która wyeksportuje Twój budynek jako serię plików JPEG pod każdym kątem, a także niewielki fragment kodu JS, który łączy je wszystkie. To nie jest prawdziwe rozwiązanie 3D, ale pozwala użytkownikom obracać się wokół modelu na stałej wysokości i nie wymaga żadnej wtyczki. http://www.youtube.com/watch?v=j0Tmlko5YTU Byłbym skłonny dążyć do rozwiązania z wtyczką Google Earth, jeśli chcesz mieć odpowiedni 3D i kontekst geograficzny.

użytkownik2375955
źródło
0

Sugeruję zajrzeć do projektu open source AreaCAD-GIS hostowanego na GitHub. Repozytorium ułatwia projekt związany z koncepcją INOVA AreaCAD-GIS - zestaw narzędzi programowych do projektowania, utrzymania i analizy miejskich struktur przestrzennych. W oparciu o popularne platformy CAD, GIS i BIM, projekt integruje wiedzę ekspercką na temat planowania przestrzennego i projektowania sieci infrastruktury za pomocą aplikacji Unity 3D, Autodesk Revit i AutoCAD oraz powiązanych interfejsów API. Celem jest stworzenie wspomnianych wcześniej powiązań platformy przy użyciu specyfikacji danych INSPIRE, przy jednoczesnym wykorzystaniu łatwości użytkowania podobnej do gry, jeśli chodzi o projektowanie, symulację i raportowanie przepływów pracy.

Maksim Sestic
źródło
0

Threejs ma bardzo dobre opcje ładowania obiektów 3D w przeglądarkach internetowych. Jednym z takich przykładów samolotu lecącego nad Mt. Everest jest pokazany w tym linku .

wprowadź opis zdjęcia tutaj

W tym przykładzie użyto biblioteki threejs do generowania 3D za pomocą płaszczyzny jako obiektu Collada, a Mt Everest został wykonany przy użyciu formatu .bin utworzonego z SRTM DEM i tekstury z obrazu Bluemarbel (250m). Ten przykład jest wyciągiem z blog.thematicmapping.org .

To po prostu wymaga włączenia przeglądarki dla WebGL (która będzie korzystała z GPU klienta) i żadnych wtyczek.

GeoSpatialEarth.in
źródło