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
unterC:\inetpub\wwwroot\MumGeoData\Repositories\Default\Plugins
ablegen - die Packages
Mum.aG.CesiumViewer.Package.version.xap
undMum.aG.CesiumViewer.Package.xap
unterC:\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>
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".json" />
<mimeMap fileExtension=".json" mimeType="application/json" />
<remove fileExtension=".b3dm" />
<mimeMap fileExtension=".b3dm" mimeType="application/octet-stream" />
<remove fileExtension=".i3dm" />
<mimeMap fileExtension=".i3dm" mimeType="application/octet-stream" />
<remove fileExtension=".glb" />
<mimeMap fileExtension=".glb" mimeType="application/octet-stream" />
<remove fileExtension=".glsl" />
<mimeMap fileExtension=".glsl" mimeType="text/plain" />
<remove fileExtension=".vctr" />
<mimeMap fileExtension=".vctr" mimeType="application/octet-stream" />
<remove fileExtension=".terrain" />
<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/
.
Unter "models" werden die relativen Pfade zu den 3D Tiles (zur tileset.json
), angegeben. Unter "terrain" muss der Pfad zum Terrain angegeben werden (Ordner, in dem die layer.json
-Datei abgelegt ist).
Konfiguration im AppBuilder
das Plugin einem MapEdit Projekt zuweisen (Projektkonfiguration öffnen > Plugins > HINZUFÜGEN >
MUM.AG.CESIUMVIEWER.XAP
auswählen)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 derworld.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.)