Selbst gehostete Grundkarten

Mit dem Paket für selbst gehostete Hintergrundkarten lädt Icon Map Pro seine Grundkarten und die Symbolbibliothek von Ihrem eigenen Webserver statt von Icon Map. Richten Sie zuerst die Airgap-Umgebung ein, wie unter Power BI Report Server (lokal) beschrieben.

Die Icon Map-Grundkarten selbst hosten

Ohne Internetzugang kann das Visual die integrierten Icon Map-Grundkarten, die Symbolbibliothek und den Icon Map-Katalog nicht laden, weil sie auf Icon Map-Servern gehostet werden. Mit dem Paket der selbst gehosteten Hintergrundkarten stellen Sie die Grundkarten und die Symbolbibliothek von Ihrem eigenen Webserver bereit.

Wenden Sie sich an sales@icon-map.com, um das Paket zu erwerben. Sie erhalten einen Link zum Herunterladen einer ZIP-Datei (oder 7zip-Datei) mit den bereitzustellenden Ressourcen.

Anforderungen an den Webserver

Der Webserver muss Folgendes unterstützen:

  • HTTP-Bereichsanfragen (Range Requests)
  • Einen CORS-Ursprung von * oder null. Das ist nötig, weil Power BI benutzerdefinierte Visuals in einer Sandbox ausführt.

Für alle Ressourcen sind rund 400 GB Speicherplatz erforderlich.

Geeignete Webserver sind unter anderem:

Icon Map Pro auf Ihren Server verweisen

  1. Öffnen Sie im Formatbereich Icon Map Pro > Anpassung.
  2. Geben Sie in Benutzerdefinierte Stil-URL die Adresse ein, unter der die Ressourcen gehostet werden, mit einem / am Ende. Zum Beispiel:
http://powerbi.internal:9000/iconmaplocal/
  1. Wählen Sie wie gewohnt eine Icon Map-Grundkarte.

Das Visual lädt dann die Stilliste, die Stile, Kartenkacheln, Schriftarten, Symbole sowie die Schummerungs- und Geländekacheln von dieser Adresse.

Die Adresse mit einem Schrägstrich beenden

Mit einem abschließenden / sucht das Visual die Stilliste unter styles/styles.json unterhalb Ihrer Adresse und lädt Schriftarten, Symbole und Höhenkacheln vom selben Ort. Ohne den Schrägstrich wird die Adresse als die Stillistendatei selbst behandelt, und die anderen Ressourcen werden nicht gefunden.

Sie können Benutzerdefinierte Stil-URL als Standard in der Designdatei Ihres Power BI-Berichts festlegen, sodass jedes Icon Map Pro-Visual in einem Bericht sie übernimmt.

Einstellungen

Beide Einstellungen befinden sich unter Formatbereich > Icon Map Pro > Anpassung.

Einstellung Funktion Standard
Airgap-Umgebung Deaktiviert externe Aufrufe an Icon Map-Dienste Aus
Benutzerdefinierte Stil-URL Benutzerdefinierte URL für Hintergrundkartenstile, für Airgap- oder angepasste Bereitstellungen Leer

IIS-Konfiguration

Entpacken Sie den Ordner IconMapLocal auf Ihren Webserver, zum Beispiel nach c:\inetpub\wwwroot.

Statischer Inhalt

Aktivieren Sie das IIS-Feature Statischer Inhalt. Es stellt die Unterstützung für HTTP-Range-Header bereit. Verwenden Sie Server-Manager > Rollen und Features hinzufügen > Serverrollen > Webserver (IIS) > Webserver > Allgemeine HTTP-Features > Statischer Inhalt oder diesen PowerShell-Befehl:

Install-WindowsFeature -Name Web-Static-Content

web.config

Statische Dateitypen und CORS müssen in web.config konfiguriert werden:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <staticContent>
    <remove fileExtension=".pmtiles" />
      <mimeMap fileExtension=".pmtiles" mimeType="application/octet-stream" />
      <remove fileExtension=".pbf" />
      <mimeMap fileExtension=".pbf" mimeType="application/x-protobuf" />
      <remove fileExtension=".svg" />
      <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
      <remove fileExtension=".json" />
      <mimeMap fileExtension=".json" mimeType="application/json" />
    </staticContent>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>
</configuration>

MinIO-Konfiguration

Diese Anleitung geht davon aus, dass die entpackten IconMapLocal-Dateien in C:\temp\iconmaplocal liegen, MinIO seine Bucket-Daten in C:\minio\iconmaplocal speichert und der Bucket unter http://localhost:9000/iconmaplocal/ bereitgestellt wird.

MinIO herunterladen

Laden Sie den MinIO-Server (minio.exe) und den MinIO-Client (mc.exe) herunter und legen Sie beide in C:\minio\ ab.

Das Datenverzeichnis erstellen und MinIO starten

mkdir C:\minio\iconmaplocal

$env:MINIO_ROOT_USER="admin"
$env:MINIO_ROOT_PASSWORD="ChangeThisPassword123!"

C:\minio\minio.exe server `
  C:\minio\iconmaplocal `
  --address ":9000" `
  --console-address ":9001"

Die S3-API ist dann unter http://localhost:9000 und die Konsole unter http://localhost:9001 erreichbar. Wählen Sie Ihren eigenen Benutzernamen und Ihr eigenes Kennwort.

Den MinIO-Client konfigurieren

C:\minio\mc.exe alias set `
  iconmap `
  http://localhost:9000 `
  admin `
  ChangeThisPassword123!

C:\minio\mc.exe alias list

Den Bucket erstellen und lesbar machen

C:\minio\mc.exe mb iconmap/iconmaplocal
C:\minio\mc.exe ls iconmap

C:\minio\mc.exe anonymous set download iconmap/iconmaplocal
C:\minio\mc.exe anonymous get iconmap/iconmaplocal

CORS konfigurieren

Erstellen Sie C:\minio\cors.xml:

<CORSConfiguration>
  <CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>HEAD</AllowedMethod>
    <AllowedHeader>*</AllowedHeader>

    <ExposeHeader>Accept-Ranges</ExposeHeader>
    <ExposeHeader>Content-Range</ExposeHeader>
    <ExposeHeader>Content-Length</ExposeHeader>
    <ExposeHeader>Content-Type</ExposeHeader>
    <ExposeHeader>ETag</ExposeHeader>
    <ExposeHeader>Last-Modified</ExposeHeader>

    <MaxAgeSeconds>3600</MaxAgeSeconds>
  </CORSRule>
</CORSConfiguration>

Wenden Sie die Datei an und prüfen Sie das Ergebnis:

C:\minio\mc.exe cors set `
  iconmap/iconmaplocal `
  C:\minio\cors.xml

C:\minio\mc.exe cors info iconmap/iconmaplocal

Die Inhalte hochladen

C:\minio\mc.exe cp --recursive --overwrite `
  C:\temp\iconmaplocal\ `
  iconmap/iconmaplocal/

C:\minio\mc.exe ls --recursive iconmap/iconmaplocal

Das Ergebnis prüfen

Vergewissern Sie sich, dass die Stilliste vorhanden ist:

C:\minio\mc.exe stat iconmap/iconmaplocal/styles/styles.json

Sie sollte unter http://localhost:9000/iconmaplocal/styles/styles.json verfügbar sein.

Testen Sie anschließend HTTP-Bereichsanfragen:

curl.exe -i `
  -H "Range: bytes=0-99" `
  http://localhost:9000/iconmaplocal/styles/styles.json

Die Antwort sollte so beginnen:

HTTP/1.1 206 Partial Content
Accept-Ranges: bytes
Content-Range: bytes 0-99/...

Tipps und Grenzen

  • Wenn die Karte keine Icon Map-Stile zeigt, prüfen Sie, ob Benutzerdefinierte Stil-URL mit / endet und ob sich styles/styles.json in einem Browser auf demselben Computer öffnen lässt.
  • Ein benutzerdefiniertes Visual, das auf Report Server als leere Fläche erscheint, bedeutet in der Regel, dass Power BI weiterhin versucht, AppSource zu erreichen. Prüfen Sie erneut die Umgebungsvariable und die Eigenschaft EnableCDNVisuals sowie, ob das Visual aus einer Datei importiert wurde.
  • Die Engine Modern braucht WebGL 2 auf dem Computer, der den Bericht anzeigt. Siehe Unterstützte Umgebungen und Grenzen.

Verwandte Themen