Im Web-GIS wächst die Nachfrage nach der Verwaltung einer Vielzahl von 3D-Daten rasant. Besonders die Unterstützung von 3D-Modellen ist von großer Bedeutung, da sie in vielen Branchen weit verbreitet sind. Bisher wurden Szenenlayer genutzt, um diese Anforderungen zu erfüllen.
Dieser Workflow für 3D-Objekte erfordert jedoch, dass alle benötigten Daten lokal (als Multipatch-Feature-Class) verwaltet und als Web-Layer zur Visualisierung veröffentlicht werden. Während diese Methode für statische 3D-Inhalte, die keine häufigen Aktualisierungen benötigen, gut funktioniert, fehlt es ihr an Flexibilität: Änderungen an den Daten erfordern, dass der Layer neu veröffentlicht werden muss.
Im Juni 2023 hat Esri die 3D-Objektlayer eingeführt. Dadurch ist es nun möglich:
Dadurch kann ArcGIS als „System of Record“ für geolokalisierte 3D-Objekte wie Gebäude, Gebäudeteile, Stadtmöbel, Brücken oder unterirdische Strukturen dienen.
Sie können Modelle in verschiedenen Formaten hochladen. Beim Hochladen werden Ihre Modelle verlustfrei in den 3D-Objektlayern sicher gespeichert und präzise geolokalisiert. Sobald ein 3D-Modell gespeichert ist, können Sie dessen Position, Ausrichtung, Maßstab und andere benutzerdefinierte Attribute problemlos aktualisieren, ohne die Quelldateien zu verändern.
Wir sehen ein erhebliches Potenzial für neue Anwendungen in verschiedenen Branchen:
Die Funktionen der 3D-Objekt-Layer werden durch die Integration eines 3D-Objekt-Szenen-Layers mit einem 3D-Objekt-Feature-Layer erreicht. Der Szenen-Layer ermöglicht eine effiziente Darstellung, während der zugehörige Feature-Layer als Datenbank dient und Ad-hoc-Bearbeitungen sowie Abfragen ermöglicht. Während des Bearbeitungsprozesses kann es zu einer vorübergehenden Leistungsbeeinträchtigung kommen, da bearbeitete Features aus dem Feature-Layer und nicht aus dem optimierten Szenen-Layer-Cache gezogen werden. Das Ausmaß dieser Beeinträchtigung für Ihren Arbeitsablauf hängt von der Anzahl und Komplexität der Bearbeitungen ab.
Nachdem die Bearbeitung abgeschlossen ist – oder in regelmäßigen Abständen – können Sie Ihren 3D-Objekt-Layer durch einen Prozess namens Caching neu erstellen und so seine volle Effizienz wiederherstellen.
Nun, da wir einige Hintergrundinformationen haben, lassen Sie uns untersuchen, wie man einen 3D-Objekt-Layer erstellt und veröffentlicht. Zum Veröffentlichen können Sie entweder ArcGIS Online (im Store erhältlich) oder ArcGIS Pro 3.2 oder neuere Versionen verwenden. ArcGIS Online bietet einen einfacheren Workflow für die Veröffentlichung eines leeren Layers. Da diese Funktion jedoch neu verfügbar ist, unterstützt sie derzeit nur die Veröffentlichung im geographischen Koordinatensystem WGS 1984 als räumliche Referenz.
Da unser Beispiel ein projiziertes Koordinatensystem verwendet, werden wir unser Projekt einrichten und unseren Layer mit ArcGIS Pro (im Store erhältlich) veröffentlichen.
Die Wahl der richtigen räumlichen Referenz für ein GIS-Projekt ist entscheidend. Um die Kompatibilität des 3D-Objekt-Layers mit Ihrem Projekt zu gewährleisten, sollten Sie diesen mit der gleichen räumlichen Referenz veröffentlichen.
Um Ihre Daten auf dem Globus zu visualisieren, verwenden Sie eine Globale Szene und stellen Sie sicher, dass Ihr 3D-Objekt-Layer im Koordinatensystem WGS 1984 veröffentlicht wird. Wenn Sie mit einem projizierten Koordinatensystem (PCS) arbeiten möchten, das für Ihre geografische Region geeignet ist, verwenden Sie eine Lokale Szene. Stellen Sie sicher, dass Ihre Daten (einschließlich Basiskarten und Layers) sowie Ihr 3D-Objekt-Layer in diesem PCS veröffentlicht werden. Diese Konfiguration gewährleistet maximale Genauigkeit bei der Georeferenzierung Ihrer 3D-Inhalte.
Während Web Mercator ein häufig verwendetes projiziertes Koordinatensystem (PCS) zur Visualisierung von Web-GIS-Inhalten ist, führt es zu erheblichen Verzerrungen und Maßstabsvariationen. Wir empfehlen nicht, es in einer lokalen Szene (projiziert) zu verwenden oder als räumliche Referenz für die Veröffentlichung von 3D-Objektlayern zu nutzen.
Dieser Blogbeitrag verwendet LV95, das in der Schweiz verwendete projizierte Koordinatensystem (PCS), als Beispiel. Der Workflow stellt maximale Präzision bei der Georeferenzierung von 3D-Modellen in der Schweiz sicher. Alle notwendigen Layern, einschließlich Basiskarten, Höhenlagen und 3D-Gebäudeobjekte, sind öffentlich in LV95 verfügbar, sodass Sie dem Beispiel folgen können.
Als nächster Schritt müssen Sie einen 3D-Objektlayer veröffentlichen, die Ihre 3D-Modelle hosten wird.
Wenn Sie keine Berechtigungen zum Veröffentlichen von Layern haben, aber dennoch 3D-Objekt-Layer testen möchten, empfehlen wir, das Beispiel „SceneLayer Upload 3D Models and ApplyEdits“ aus der ArcGIS Maps SDK für JavaScript-Dokumentation anzusehen. Dieses Beispiel ermöglicht es Ihnen, ein 3D-Modell aus Ihrem Dateisystem hochzuladen, zu georeferenzieren und zu bearbeiten.
Beim Freigeben eines 3D-Objektlayers mit anderen Personen müssen Sie zwei wichtige Fragen berücksichtigen:
Um Ihre Freigabeeinstellungen zu definieren, stehen Ihnen zwei Werkzeuge zur Verfügung: die Freigabeeinstellungen des Layers und die Option, die Bearbeitung zu aktivieren oder zu deaktivieren. Verschiedene Freigabeszenarien erfordern unterschiedliche Kombinationen dieser beiden Einstellungen.
Jeder Layer hat drei standardmäßige Freigabeoptionen: Besitzer, Organisation und Jeder (öffentlich). Wenn Sie einen Layer veröffentlichen, sind Sie der Besitzer. Administratoren in Ihrer Organisation haben Besitzer-Berechtigungen für alle Elemente. Aus diesem Grund zählen wir sie ebenfalls als Besitzer. In ArcGIS Pro legen Sie die standardmäßigen Freigabeoptionen im ersten Schritt des „Veröffentlichens einer 3D-Objekt-Layer“ fest.
In ArcGIS Online öffnet sich durch Klicken auf die Freigabe-Schaltfläche des Elements ein Freigabe-Dialog, in dem Sie das standardmäßige Freigabelevel und die Gruppenfreigabe festlegen können. Die Veröffentlichung einer 3D-Objekt-Layer erstellt zwei Elemente – eine 3D-Objekt-Szenenlayer und eine 3D-Objekt-Feature-Layer. Die Freigabeoptionen für beide Layer müssen übereinstimmen.
Im ArcGIS-Ökosystem bieten Gruppen eine flexible Möglichkeit, den Zugriff der Benutzer auf Ressourcen innerhalb und außerhalb Ihrer Organisation zu erweitern. Durch die Gruppenfreigabe können Sie den Zugriff über die Standardfreigabeebenen „Besitzer“, „Organisation“ und „Öffentlich“ hinaus ausdehnen. Wenn zum Beispiel Ihr Standardfreigabelevel „Besitzer“ ist und Sie eine Layer mit einer Gruppe von vier Mitgliedern (außer dem Besitzer) teilen, haben alle fünf Mitglieder Zugriff auf die Layer.
Der erste Schritt des „Veröffentlichens eines 3D-Objekts“ in ArcGIS Pro behandelt die Gruppenfreigabe. In ArcGIS Online können Sie im Freigabe-Dialog unter „Gruppenfreigabe festlegen“ auf „Gruppenfreigabe bearbeiten“ klicken, die Gruppen auswählen, denen Sie Zugriff gewähren möchten, und dann auf „Übernehmen“ klicken. Lesen Sie den folgenden Artikel, um mehr über das Erstellen von Gruppen in ArcGIS Online zu erfahren.
Die Bearbeitung der 3D-Objekt-Layer muss einmal aktiviert werden, um ihre Funktionen zu ermöglichen. Nach dieser ersten Aktivierung können Sie die Bearbeitung deaktivieren, wodurch Änderungen nur den Besitzer(n) vorbehalten sind.
In ArcGIS Pro aktivieren Sie die Bearbeitung, indem Sie die Option „Bearbeitung aktivieren“ im ersten Schritt des „Veröffentlichens einer 3D-Objekt-Layer“ auswählen. Sie können dies nach der Veröffentlichung im ArcGIS Portal überprüfen. Öffnen Sie die Elementseite der zugehörigen Feature-Layer, klicken Sie auf den Tab „Einstellungen“ und scrollen Sie nach unten zum Abschnitt „Feature Layer (gehostet)“. Stellen Sie sicher, dass die Optionen für „Bearbeitung aktivieren“ und „Änderungen an den Daten verfolgen (Hinzufügen, Aktualisieren, Löschen von Features)“ sowie die Optionen für „Hinzufügen“, „Löschen“, „Aktualisieren“ und „Attribute und Geometrie“ aktiviert sind. Falls Sie vergessen haben, die Bearbeitung in ArcGIS Pro zu aktivieren, aktivieren Sie alle oben genannten Optionen und klicken Sie auf „Speichern“, um die Änderungen zu bestätigen.
Um die Bearbeitung zu deaktivieren (nachdem sie aktiviert wurde), deaktivieren Sie einfach „Bearbeitung aktivieren“ auf derselben Seite und klicken Sie auf „Speichern“. Beachten Sie, dass das Erstellen einer leeren 3D-Objekt-Layer in ArcGIS Online die Bearbeitungsfunktionen automatisch aktiviert.
Das Kombinieren von Freigabeeinstellungen und der Aktivierung/Deaktivierung der Bearbeitung ermöglicht viele Freigabeszenarien für Layer. Um die folgenden Szenarien umzusetzen, gehen wir davon aus, dass Sie die Bearbeitung der Layer zunächst aktiviert haben. Wenn Sie mitmachen, wählen Sie eines der unten angebotenen Freigabeszenarien aus und setzen Sie es um.
Nachdem unsere 3D-Objektschicht bereit ist und die Freigabestufen festgelegt wurden, können wir mit dem Hochladen von 3D-Modellen fortfahren. Der Scene Viewer bietet eine einfache, sofort einsatzbereite Einrichtung, die ein großartiger Ausgangspunkt für die Bearbeitung von 3D-Objektschichten ist.
Da unser Beispiel eine lokale Szene mit einer LV95-Raumbezug verwendet, nutzen wir die LV95 Swiss Topographic (mit Höhenlinien und Schummerung) als Hintergrundkarte. Die LV95 Swiss Terrain 3D dient als Bodenebene, während die Swissbuildings 3D LOD2 lv95-Ebene die 3D-Gebäude darstellt. Sie können diese Beispielszene über den folgenden Link aufrufen.
Wenn Sie diesem Beispiel folgen möchten, sollten Sie Ihre 3D-Objektlayer mit dem LV95-Raumbezug veröffentlichen. Andernfalls stellen Sie sicher, dass Ihre Layer im gleichen Raumbezug wie der Rest Ihres Projekts veröffentlicht wird.
Die zuvor erwähnten LV95-Elemente erfordern ein ArcGIS Online-Organisationsabonnement oder ein ArcGIS Developer-Konto, verbrauchen jedoch keine Credits.
Öffnen Sie nun die Web-Szene, fügen Sie die 3D-Objektlayer hinzu und laden Sie ein 3D-Modell hoch.
Um Ihre Bearbeitungserfahrung zu verbessern, klicken Sie oben im Editor auf Einstellungen. Dadurch werden Tooltips und Snapping-Optionen angezeigt. Wenn Sie Ihre Modelle mit numerischen Koordinaten platzieren oder aktualisieren möchten, aktivieren Sie die Option „Tooltips aktivieren“.
Um Ihre Modelle präzise an Ecken, Kanten oder Flächen anderer Objekte zu platzieren, aktivieren Sie die Option „Snapping aktivieren“. Stellen Sie außerdem sicher, dass Sie die Optionen „Geometriehilfslinien“ und „Feature zu Feature“ aktivieren. Wählen Sie im einklappbaren Panel „Snapping-Ebenen“ darunter die Ebenen aus, an denen Ihre Objekte einrasten sollen.
Wenn das Einrasten aktiviert ist und die entsprechenden Snapping-Ebenen aktiviert wurden, wird Ihr Modell während der Platzierung automatisch mit den Ecken, Kanten oder Flächen benachbarter Objekte ausgerichtet. Sie werden orangefarbene Linien sehen, die die Ausrichtung anzeigen.
Um die Hilfstexte beim Platzieren Ihres Modells zu nutzen, drücken Sie die Tabulatortaste. Ein Modal erscheint neben dem Cursor mit fünf bearbeitbaren Feldern: X, Y, Z, Orientierung und Maßstab, zusammen mit drei Sperr-Widgets für die Achsen. Sie können nun die Werte in diesen Feldern manuell eingeben. Um diesen Modus zu verlassen, drücken Sie die Esc-Taste auf Ihrer Tastatur.
Wir haben das Modell erfolgreich georeferenziert und zur Ebene hinzugefügt. Falls Sie später die Position, Rotation oder Skalierung des Modells ändern oder es vollständig entfernen möchten, können Sie dies einfach mit dem Editor-Widget tun. Wie bereits zu Beginn erwähnt, erfordert das Ausführen dieser Vorgänge (Hinzufügen, Aktualisieren, Löschen) in jedem unterstützten Client nicht, dass die 3D-Objektebene erneut veröffentlicht wird.
Derzeit können Sie Ihre 3D-Modelle in den folgenden Formaten hochladen und dauerhaft speichern:
COLLADA (.dae), Autodesk Filmbox (.fbx), Autodesk Drawing (.dwg), Industry Foundation Classes (.ifc), Universal Scene Description (.usdc, .usdz), Wavefront (.obj), GL Transmission Format (.glTF), and Binary GL Transmission Format (.glb) files.
Beim Verwenden des Editor-Widgets könnten Unterschiede in der Texturqualität während des Bearbeitungsprozesses auffallen. Insbesondere wenn ein Modell im Editor-Widget ausgewählt wird, entspricht die Textur der exportierten Modell-Textur. Nachdem die Bearbeitung jedoch abgeschlossen ist und bevor das Layer zwischengespeichert wird, kann die Texturqualität zur Verbesserung der Leistung reduziert werden. Dieses Verhalten ist zu erwarten und bleibt bestehen, bis die Bearbeitungen zwischengespeichert sind.
Das Bearbeiten eines 3D-Objektlayers erfolgt in einem zweistufigen Workflow, der die Bearbeitung von Features und das Zwischenspeichern umfasst.
Das Bearbeiten der 3D-Objektlayer wirkt sich vorübergehend auf die Anzeige- und Ladeleistung aus. Dieser Einfluss variiert je nach Komplexität der Modelle und der Anzahl der vorgenommenen Bearbeitungen. Je mehr Bearbeitungen durchgeführt werden, ohne den Cache der Szenenlayer neu zu erstellen, desto stärker wird die Leistung der Szene beeinträchtigt, da alle neuen oder aktualisierten Modelle in voller Detailtiefe angezeigt werden. Das Hochladen mehrerer Objekte in einer Sitzung erhöht die Zeit, die erforderlich ist, um diese in der nächsten Phase für eine optimale Leistung zu optimieren.
Sobald die Bearbeitung abgeschlossen ist, wird ein Prozess namens Zwischenspeicherung verwendet, um die 3D-Objektlayer mit allen während der Bearbeitungsphase vorgenommenen Änderungen neu aufzubauen. Dadurch wird die optimale Lade- und Anzeigeleistung wiederhergestellt, auch wenn zahlreiche neue 3D-Features hinzugefügt wurden. Es ist jedoch zu beachten, dass das Zwischenspeichern ein rechenintensiver serverseitiger Vorgang ist. Die Nutzung dieses Prozesses verursacht Kosten, die in Form von Credits gemessen werden. Je mehr Daten zwischengespeichert werden müssen, desto mehr Credits sind für den Vorgang erforderlich.
Es ist schwierig, eine allgemeingültige Strategie für die effektive Balance zwischen Bearbeitung und Caching bereitzustellen. Diese Herausforderung ergibt sich aus der Vielzahl möglicher Szenarien, die Modellgrößen/-komplexität, die Anzahl der Modelle sowie die Anzahl der Bearbeiter und ihrer Änderungen umfassen. Daher besteht der effektivste Ansatz darin, durch Erfahrung zu lernen und dabei die folgenden bewährten Vorgehensweisen zu beachten.
3D-Modelle werden für verschiedene Zwecke erstellt. Einige sind für Ihren Anwendungsfall geeignet, während andere Probleme verursachen könnten.
Die häufigsten Probleme betreffen die Komplexität der Geometrie des Modells und die Größe seiner Texturen. Eine hohe geometrische Komplexität kann zu Visualisierungsproblemen führen, insbesondere wenn die automatische Detailebene (LoD) die Optimierungsgrenzen erreicht. Große Texturen können ebenfalls ein Problem darstellen, da sie viel wertvollen Speicherplatz beanspruchen und den Upload sowie den Download verlangsamen.
In Szenarien, in denen Sie mit einer begrenzten Anzahl von 3D-Modellen arbeiten und leistungsstarke Hardware auf der Client-Seite verwenden, ist eine Optimierung möglicherweise nicht erforderlich, selbst für übermäßig komplexe Modelle. Falls jedoch eine Optimierung erforderlich wird, sollten Sie die folgenden Schritte in Betracht ziehen:
Verwenden Sie Ihre bevorzugte 3D-Modellierungssoftware, um die Komplexität der exportierten Geometrie zu reduzieren. Zum Beispiel können Sie in Blender das Mesh un-subdividieren oder die Funktion „Limited Dissolve“ verwenden, um unnötige Scheitelpunkte und Kanten, die flache Bereiche trennen, zu eliminieren. Wenn Sie ein IFC-Modell aus Revit exportieren, passen Sie den Tessellierungsgrad im Tab „Level of Detail“ an, um einige Revit-Elemente wie Ellenbogen, Böden, Geländer, Rohranschlüsse usw. zu vereinfachen. Wählen Sie je nach Bedarf zwischen extra niedrigem, niedrigem oder mittlerem Detaillierungsgrad.
Große Texturen gehören zu den häufigsten Ursachen für große Modell-Dateigrößen. Überlegen Sie, ob Sie Ihre Texturen verkleinern können, wenn sie Details enthalten, die nicht zur Visualisierung beitragen.
Wenn Sie nur für die Visualisierung exportieren, sollten Sie nur die für die Visualisierung relevanten Ebenen einbeziehen. Dies umfasst in der Regel das Entfernen von Innenwänden, Möbeln und Einrichtungsgegenständen, Baudetails, Rohrleitungen, elektrischen und HVAC-Komponenten, Versorgungsleitungen und anderen Elementen, die nicht zur Visualisierung beitragen.
Gruppieren Sie Ihre Bearbeitungen logisch, um die Anzahl der Cache-Neubauen zu minimieren. Wenn Sie eine signifikante Leistungsverschlechterung feststellen, nachdem eine bestimmte Anzahl von Modellen hinzugefügt wurde, sollten Sie die Bearbeitungssitzung abschließen und die vorgenommenen Änderungen am Layer zwischenspeichern, bevor Sie fortfahren. Dokumentieren Sie Ihre Erkenntnisse (einschließlich der Anzahl und der durchschnittlichen Komplexität der hinzugefügten Modelle vor der Leistungsbeeinträchtigung) und nutzen Sie dieses Wissen, um Ihre Bearbeitungs- und Cache-Strategie zu verfeinern. Dies kann helfen, die Leistung aufrechtzuerhalten und die Häufigkeit von Leistungsverschlechterungen während der Bearbeitungsphase zu verringern.
Wenn das Projekt im Laufe der Zeit adhoc-Bearbeitungen erfordert, planen Sie regelmäßige Cache-Neubauten ein, um Änderungen zu integrieren und die Szenenebene wieder in ihre volle Effizienz zu versetzen. Dies hilft, die optimale Leistung aufrechtzuerhalten, insbesondere nach umfangreichen Bearbeitungssitzungen.
Stellen Sie sicher, dass alle Teammitglieder, die an der Bearbeitung von Szenenschichten beteiligt sind, diese Best Practices verstehen. Die konsequente Anwendung dieser Richtlinien trägt dazu bei, die Leistung und Effizienz im gesamten Team zu erhalten.
Dies war der erste Blogbeitrag in einer Serie über 3D-Objektlayer. Darin haben Sie die Nützlichkeit und das Potenzial dieses innovativen Features kennengelernt. Sie haben sich auch mit dem Veröffentlichungsprozess vertraut gemacht und verschiedene Freigabeoptionen untersucht. Außerdem haben Sie gelernt, wie Sie den Scene Viewer nutzen, um Modelle hochzuladen, zu georeferenzieren und Änderungen in ArcGIS Online effektiv zwischenzuspeichern. Dieser Blogbeitrag bildet auch die Grundlage für kommende Beiträge, die fortgeschrittene Themen behandeln.
Im nächsten Blogbeitrag der Reihe erfahren Sie, wie Sie das ArcGIS Maps SDK für JavaScript für Workflows zur Bearbeitung von 3D-Modellen nutzen können. Zunächst wird die grundlegende Funktionalität behandelt, danach werden die Details der Layer-Implementierung erläutert. Dies ermöglicht es Ihnen, benutzerdefinierte Workflows zur Bearbeitung von 3D-Objektlayern entsprechend Ihren Bedürfnissen umzusetzen.
Bleiben Sie dran für eine tiefere Erkundung dieser fortgeschrittenen Konzepte, die Ihr Verständnis und die Nutzung von 3D-Objektlayern erweitern werden.
Dieser Beitrag ist eine Lokalisierung des Original-Beitrags von Nikola Marincic, der zuerst von Esri Inc. veröffentlicht wurde.