Mapas base auto-hospedados

Com o pacote de mapas base auto-hospedados, o Icon Map Pro carrega os seus mapas base e a biblioteca de ícones a partir do seu próprio servidor Web, em vez do Icon Map. Configure primeiro o ambiente isolado, como descrito em Power BI Report Server (local).

Hospedar você mesmo os mapas base do Icon Map

Sem acesso à internet, o visual não consegue carregar os mapas base integrados do Icon Map, a biblioteca de ícones nem o Catálogo do Icon Map, porque eles ficam hospedados em servidores do Icon Map. O pacote de mapas base auto-hospedados permite servir os mapas base e a biblioteca de ícones a partir do seu próprio servidor Web.

Entre em contato com sales@icon-map.com para comprar o pacote. Você recebe um link para baixar um arquivo ZIP (ou 7zip) com os recursos a implantar.

Requisitos do servidor Web

O servidor Web precisa dar suporte a:

  • Solicitações HTTP de intervalo (range requests)
  • Uma origem CORS * ou null. Isso é necessário porque o Power BI executa os visuais personalizados em uma área restrita (sandbox).

São necessários cerca de 400 GB de espaço em disco para todos os recursos.

Entre os servidores Web adequados estão:

Apontar o Icon Map Pro para o seu servidor

  1. No painel Formato, abra Icon Map Pro > Personalização.
  2. Em URL de estilos personalizados, insira o endereço em que os recursos estão hospedados, terminando com uma /. Por exemplo:
http://powerbi.internal:9000/iconmaplocal/
  1. Escolha um mapa base do Icon Map como de costume.

O visual carrega então desse endereço a lista de estilos, os estilos, os tiles do mapa, as fontes, os ícones e os tiles de sombreamento de relevo e de terreno.

Termine o endereço com uma barra

Com uma / no final, o visual procura a lista de estilos em styles/styles.json abaixo do seu endereço e carrega fontes, ícones e tiles de elevação do mesmo lugar. Sem ela, o endereço é tratado como o próprio arquivo da lista de estilos e esses outros recursos não são encontrados.

Você pode definir URL de estilos personalizados como padrão no arquivo de tema do seu relatório do Power BI, para que todos os visuais do Icon Map Pro de um relatório a adotem.

Configurações

As duas configurações ficam em Painel Formato > Icon Map Pro > Personalização.

Configuração O que faz Padrão
Ambiente isolado Desativa as chamadas externas aos serviços do Icon Map Desativado
URL de estilos personalizados URL personalizada para os estilos de mapa base, para implantações isoladas ou personalizadas Vazio

Configuração do IIS

Extraia a pasta IconMapLocal no seu servidor Web, por exemplo em c:\inetpub\wwwroot.

Conteúdo estático

Habilite o recurso Conteúdo Estático do IIS. Ele dá suporte aos cabeçalhos HTTP de intervalo. Use Gerenciador do Servidor > Adicionar Funções e Recursos > Funções de Servidor > Servidor Web (IIS) > Servidor Web > Recursos HTTP Comuns > Conteúdo Estático, ou este comando do PowerShell:

Install-WindowsFeature -Name Web-Static-Content

web.config

Os tipos de arquivo estático e o CORS precisam ser configurados no web.config:

<?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>

Configuração do MinIO

Este guia pressupõe que os arquivos IconMapLocal extraídos estão em C:\temp\iconmaplocal, que o MinIO guarda os dados do bucket em C:\minio\iconmaplocal e que o bucket é servido em http://localhost:9000/iconmaplocal/.

Baixar o MinIO

Baixe o servidor do MinIO (minio.exe) e o cliente do MinIO (mc.exe) e coloque os dois em C:\minio\.

Criar o diretório de dados e iniciar o MinIO

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"

A API S3 fica então em http://localhost:9000 e o console em http://localhost:9001. Escolha o seu próprio nome de usuário e a sua própria senha.

Configurar o cliente do MinIO

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

C:\minio\mc.exe alias list

Criar o bucket e torná-lo legível

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

Configurar o CORS

Crie 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>

Aplique o arquivo e verifique o resultado:

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

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

Carregar o conteúdo

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

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

Verificar o resultado

Confirme que a lista de estilos está no lugar:

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

Ela deve estar disponível em http://localhost:9000/iconmaplocal/styles/styles.json.

Depois, teste as solicitações HTTP de intervalo:

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

A resposta deve começar assim:

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

Dicas e limites

  • Se o mapa não mostrar nenhum estilo do Icon Map, verifique se URL de estilos personalizados termina com / e se styles/styles.json abre em um navegador na mesma máquina.
  • Um visual personalizado mostrado como espaço em branco no Report Server normalmente significa que o Power BI ainda está tentando alcançar o AppSource. Verifique de novo a variável de ambiente e a propriedade EnableCDNVisuals, e se o visual foi importado de um arquivo.
  • O mecanismo Moderno precisa do WebGL 2 na máquina que exibe o relatório. Consulte Ambientes compatíveis e limites.

Relacionados