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.
- Installation Update Setup MapEdit 25.1.137 oder höher
- Installation Microsoft URL Rewrite Module 2.0 for IIS (x64) auf dem Server
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\
.
Über einen Doppelklick sehen Sie unten die notwendigen Einstellungen:
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.
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.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
<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>
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\'
{
"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.