Zum Hauptinhalt springen

3D Viewer / Cesium (ab Version 25.0)

Installation 3D Viewer / Cesium Viewer

Voraussetzung ist das Setup MapEdit 25.1.137 oder höher.

Über den Support (support@mum.de) erhalten Sie die benötigten Plugins und Packages:

  • Mum.aG.CesiumViewer.xap
  • Mum.aG.CesiumViewer.Package.version.xap
  • Mum.aG.CesiumViewer.Package.xap

Ablegen der MapEdit Plugins/Packages

  • das Plugin 'Mum.aG.CesiumViewer.xap' unter C:\inetpub\wwwroot\MumGeoData\Repositories\Default\Plugins' ablegen
  • die Packages 'Mum.aG.CesiumViewer.Package.version.xap' und 'Mum.aG.CesiumViewer.Package.xap' unter 'C:\inetpub\wwwroot\Mum.Geo.Services\DesktopBin\Packages' ablegen

URL Rewrite Module für 3D Viewer

Folgende Installationen müssen auf dem MapEdit Server durchgeführt werden.

IIS URL Rewrite Module Setup

Achtung

Nach der Installation muss der IIS neu gestartet werden.

Kontrolle
Überprüfen Sie, inwiefern die Installation Rewrite erfolgreich war. Gehen Sie dazu in den IIS-Admin und navigieren dort zum Verzeichnis \MumGeoVirtualGlobe\Layers\.

URL Rewrite Modul verfügbar

Über einen Doppelklick sehen Sie unten die notwendigen Einstellungen:

URL Rewrite Rules für .terrain

Bitte zudem auch die lokalen MIME-types in diesem Verzeichnis prüfen. Hier müssen die 3D Datenformate wie z.B. b3dm, i3dm usw. aufgelistet sein.

IIS Mimetypes (lokal)

Falls nicht, bitte prüfen Sie, ob folgende Web.Config Dateien mit diesen Inhalten in den jeweiligen Verzeichnissen vorhanden sind. Diese werden über das MapEdit Setup bereitgestellt.

C:\inetpub\wwwroot\MumGeoVirtualGlobe\web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
C:\inetpub\wwwroot\MumGeoVirtualGlobe\Layers\web.config
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".b3dm" mimeType="application/octet-stream" />
<mimeMap fileExtension=".i3dm" mimeType="application/octet-stream" />
<mimeMap fileExtension=".glb" mimeType="application/octet-stream" />
<mimeMap fileExtension=".glsl" mimeType="text/plain" />
<mimeMap fileExtension=".vctr" mimeType="application/octet-stream" />
<mimeMap fileExtension=".terrain" mimeType="application/vnd.quantized-mesh" />
</staticContent>
<rewrite>
<outboundRules>
<rule name="Set custom HTTP response header">
<match serverVariable="RESPONSE_Content-Encoding" pattern=".*" />
<conditions>
<add input="{PATH_INFO}" pattern="\.terrain$" />
</conditions>
<action type="Rewrite" value="gzip" />
</rule>
</outboundRules>
</rewrite>
</system.webServer>
</configuration>
Achtung

Es war in älteren Versionen noch notwendig bei Geländedaten (Terrain) eine web.config direkt im Datenverzeichnis vorzuhalten. Bitte überprüfen Sie, dass in den Verzeichnissen der 3D Daten (alles unterhalb des Layer Verzeichnis) keine weiteren web.config-Dateien vorhanden sind. Falls doch, dann löschen Sie die dort befindliche web.config.

Konfiguration world.json

Der 3D Viewer wird über die Datei 'world.json' konfiguriert (siehe Beispiel unten). Diese world.json muss auf dem Webserver abgelegt werden, unter 'C:\inetpub\wwwroot\MumGeoVirtualGlobe\'

C:\inetpub\wwwroot\MumGeoVirtualGlobe\world.json
{
"debug": true,
"selectable": true,
"settings":{
"transparencyMode": "none",
"alpha": 0.1,
"fadeStartDistance": 1800,
"fadeEndDistance": 2000,
"collisionEnabled": true,
"splitEnabled": true
},
"models": [
{
"url": "layers/Baum/tileset.json",
"name": "Baum",
"display": "Baum"
},
{
"url": "layers/Gebaeude/tileset.json",
"name": "Gebäude",
"display": "Gebäude"
}
],
"terrain": [
{
"url": "http://localhost/MumGeoVirtualGlobe/Layers/Terrain",
"display": "Terrain",
"credit": "MuM acadGraph GmbH",
"iconUrl": "http://localhost/MumGeoVirtualGlobe/terrain_pic.png"
}
],
"baseLayers":[
{
"display": "Open Layers Map",
"url": "https://a.tile.openstreetmap.org/{z}/{x}/{y}.png",
"iconUrl": "https://openstreetmap.de/img/maps/germanstyle.png"
}
]
}

Die 3D Tiles werden ebenfalls auf dem Server abgelegt, unter 'MumGeoVirtualGlobe/Layers/'

Konfiguration im AppBuilder

  • das Plugin einem MapEdit Projekt zuweisen
  • in den Plugin-Einstellungen im Feld 'BIM Server URL' die URL zur world.json angeben, also bspw. http://localhost/MumGeoVirtualGlobe/
  • unter Layer Konfiguration sollten nun die in der world.json definierten Layer erscheinen. Ist dies nicht der Fall ist meist ein Fehler in der world.json vorhanden.
  • alle weiteren Konfigurationen in den Plugin-Einstellungen sind optional:
    • wird einer der layer gewählt, kann eine Verknüpfung zwischen einer in MapEdit definierten Datenbankverbindung bzw. Tabelle und dem 3D Tileset erstellt werden; das ermöglicht es beim Klick auf ein 3D Objekt das zugehörige Formular zu öffnen.
    • Dies ist nur in MapEdit- und topobase- Datenmodellen möglich
  • HINWEIS: Ist nach dem Schließen und dem Wiederöffnen der Plugin-Einstellungen das Feld mit der Server-URL LEER, so konnte die world.json entweder nicht gefunden werden oder es sind Fehler in der Konfigurationsdatei.

Anschließend das Projekt in MapEdit Desktop öffnen und den 3D Viewer anzeigen (Rechtsklick in die Karte: 'Zeige in 3D'. Zusätzlich kann dem Ribbon ein Kommando hinzugefügt werden um den 3D Viewer zu starten.