Strategy ONE

Uso de uma forma personalizada no formato KML

Baixe o plug-in de visualização do mapa ESRI fornecido para você e siga as etapas abaixo.

  1. Crie ou obtenha um arquivo KML que defina as formas personalizadas para o seu mapa

    Você pode usar um arquivo KML que já possui ou criar um novo. KML é um formato de arquivo usado para exibir dados geográficos em mapas bidimensionais e navegadores terrestres tridimensionais. Um trecho de código de um arquivo KML de amostra é mostrado abaixo:

    Copiar
    <?xml version="1.0" encoding="UTF-8"?>
    <kml xmlns="http://www.opengis.net/kml/2.2">
        <Document>
            <Placemark>
                <name>attribute value</name>
                <ExtendedData>
                    <Data name="attribute key">
                        <DisplayName>attribute display value</DisplayName>
                        <Value>attribute value</Value>
                    </Data>
                </ExtendedData>
    ...
                <Polygon>
                    <outerBoundaryIs>
                        <LinearRing>
                            <coordinates>set of custom shape coordinates</coordinates>
                        </LinearRing>
                    </outerBoundaryIs>
                </Polygon>
            </Placemark>
    ...
        </Document>
    </kml>

    Cada <Placemark> O elemento contém os dados de definição de forma para uma das formas personalizadas. Ele também contém as informações necessárias para combinar cada forma com seus dados correspondentes.

    • Por padrão, o <name> elemento é usado para combinar os dados com as formas Seu valor deve corresponder ao MicroStrategy dados do elemento de atributo usados pelo mapa. Por exemplo, se suas formas personalizadas forem estados, o valor do <name> o elemento pode ser "Maryland" ou "Califórnia".

    • É possível substituir o comportamento de correspondência padrão adicionando um <ExtendedData> elemento como filho de <Placemark>. Isso proporciona flexibilidade, permitindo que você combine suas formas personalizadas com dados identificados de diversas maneiras. Por exemplo, você pode fazer isso se quiser combinar as formas do seu arquivo KML com dados de estado identificados pelas abreviações do nome do estado ou IDs de objeto, além dos nomes dos estados.

    • O <coordinates> elemento (um filho de <Polygon><outerBoundaryIs><LinearRing>)contém a definição de cada forma personalizada. A definição é um conjunto de pontos descritos por longitude, latitude e altitude opcional que determinam o contorno da forma.

     

    Siga este procedimento:

    • Dê ao arquivo KML que define suas formas personalizadas um nome significativo, como CustomCountyShapesFile.kmle salve-o na pasta do plug-in de visualização do mapa ESRI.
    • Salve o arquivo KML diretamente em seu plug-in ou crie uma pasta kml no plug-in e salve seu arquivo de formas personalizadas na pasta kml.
  2. Modifique o arquivo de configuração de formato geográfico para que a visualização do mapa ESRI possa usar suas formas personalizadas

    Navegar para mstrGeoShapesConfig.xml, localizado abaixo xml/config na pasta do plug-in e abra-o em um editor de texto. O arquivo deve incluir código como o exemplo mostrado abaixo.

    Copiar
    <layers>
        <layer id="900" title="Custom County Map Layer" ml="CustomCountyShapesFile.kml">
            <shapeKeys>
                <shapeKey key="name" path="/ExtendedData/Data[@name='name']/value"/>
                <shapeKey key="abbr" path="/ExtendedData/Data[@name='abbreviatedName']/value"/>
                <shapeKey key="id" path="/ExtendedData/Data[@name='object_id']/value"/>
            </shapeKeys>
        </layer>
    </layers>
    <shapes>
        <shape id="901"
            custom="true"
            plugin="ConnectorForMap"
            desc="Custom Counties by Name"
            descWeb="mstrweb.7777n"
            descFlash="mstr.6666n"
            descDesktop="5555n"
            roleId="9"
            type="Polygon"
            default="false"
            shapeCat="1004"
            shapeKey="name"
            layerId="900"
            sf="name"
            sfr="2"
        />
        <shape id="902"
            custom="true"
            plugin="ConnectorForMap"
            desc="Custom Counties by Abbreviation"
            descWeb="mstrweb.7777a"
            descFlash="mstr.6666a"
            descDesktop="5555a"
            roleId="9"
            type="Polygon"
            default="false"
            shapeCat="1004"
            shapeKey="abbr"
            layerId="900"
            sf="name"
            sfr="2"
        />
        <shape id="903"
            custom="true"
            plugin="ConnectorForMap"
            desc="Custom Counties by ID"
            descWeb="mstrweb.7777i"
            descFlash="mstr.6666i"
            descDesktop="5555i"
            roleId="9"
            type="Polygon"
            default="false"
            shapeCat="1004"
            shapeKey="id"
            layerId="900"
            sf="name"
            sfr="2"
        />
    </shapes>

    Faça as alterações abaixo para personalizar o arquivo de configuração de formato geográfico para seu ambiente.

    • Para a criança <layer> elemento sob o pai <layers> elemento, faça o seguinte:
    • Para o id atributo, substitua "900" por um valor que seja exclusivo (não um já usado por MicroStrategy para uma camada de mapa). Este valor identifica exclusivamente esta camada do mapa que usa suas formas personalizadas. É referenciado pelo layerID atributo no <shape> elemento.

      Múltiplo <shape> os elementos podem usar a mesma camada de mapa (ou seja, o mesmo arquivo KML), mas usar chaves diferentes para corresponder às formas e aos dados, como nome, abreviação ou ID. As chaves usadas para correspondência são fornecidas pelo shapeKey atributo dos diferentes <shape> elementos. A correspondência acontece da seguinte forma para cada forma personalizada:

      • O valor de cada shapeKey atributo é usado para encontrar uma correspondência com o atributo chave em um <shapeKey> elemento.

      • A correspondência <shapeKey> elemento contém um path atributo, que aponta para um determinado <Data> elemento no arquivo KML (identificado pelo valor do name atributo no <Data> elemento).

      • A correspondência <Data> elemento tem um filho <Value> elemento, e seu valor é usado para obter o MicroStrategy dados associados a esta forma personalizada.

    • Para o title atributo, substitua "Camada de mapa de condado personalizada" por um valor que descreva essa camada de mapa que usa suas formas personalizadas.

    • Para o ml atributo, substitua "CustomCountyShapesFile.kml" pelo nome do seu arquivo KML, incluindo o caminho relativo, dentro da pasta do plug-in. Por exemplo, use ml="CustomCountyShapesFile.kml" para um arquivo salvo diretamente na pasta do plug-in ou use ml="kml/CustomCountyShapesFile.kml" para um arquivo salvo em uma pasta chamada kml na pasta do plug-in.

    • Para a criança <shapeKey> elementos sob o pai <shapeKeys> elemento, faça o seguinte:
    • Remova qualquer criança <shapeKey> elementos que você não precisa para seu ambiente. No plug-in fornecido, existem três desses elementos. Um identifica as formas pelo nome, outro pela abreviatura e o terceiro pelo ID.

      • Se não desejar usar um ou mais desses elementos, exclua os elementos apropriados.

      • Se você quiser usar um ou mais desses elementos, mantenha os elementos apropriados.

      • Se você quiser identificar suas formas por um valor diferente, altere o valor do key atributo em um dos <shapeKey> elementos. Por exemplo, se você quiser usar um valor chamado SMSA para identificar suas formas, seu código poderá ser o seguinte:
        <shapeKey key="SMSA" path="/ExtendedData/Data[@name='SMSA']/value"/>

    • Para cada criança <shapeKey> elemento que você precisa para seu ambiente:

      • Colocou o key atributo ao valor que será usado para identificar o <shape> elemento associado ao arquivo de forma personalizado. Este é o mesmo valor do valor do shapeKey atributo no correspondente <shape> elemento.

      • Se você quiser que o campo de dados usado para combinar os dados com as formas seja diferente do valor do<name> elemento para cada <Placemark> no arquivo KML, defina o path atributo para a localização do campo de dados que você deseja usar, usando o formato /ExtendedData/Data[@name='>MyCustomShapes']/value .

        Por exemplo, suponha que você queira usar abreviações de estado para combinar suas formas personalizadas com seus dados e o código em seu arquivo KML se pareça com o código abaixo:

        Copiar
        <?xml version="1.0" encoding="UTF-8"?>
        <kml xmlns="http://www.opengis.net/kml/2.2">
            <Document>
                <Placemark>
                    <name>custom shape name</name>
                    <ExtendedData>
                        <Data name="abbreviatedName">
                            <DisplayName>Pennsylvania</DisplayName>
                            <Value>PA</Value>
                        </Data>
                    </ExtendedData>
                    <Polygon>
                        <outerBoundaryIs>
                            <LinearRing>
                                <coordinates>set of custom shape coordinates</coordinates>
                            </LinearRing>
                        </outerBoundaryIs>
                    </Polygon>
                </Placemark>
        ...
            </Document>
        </kml>

        O código em seu mstrGeoShapesConfig.xml arquivo ficaria assim:

        Copiar
        <layers>
            <layer id="900" title="My Custom Map Layer" ml="MyCustomShapesFile.kml">
                <shapeKeys>
                    <shapeKey key="abbr" path="/ExtendedData/Data[@name='abbreviatedName']/value"/>
                </shapeKeys>
            </layer>
        </layers>
    • Para a criança<shape> elementos sob o pai <shapes> elemento, faça o seguinte:

      • Remova qualquer criança <shape> elementos que você não precisa para seu ambiente. No plug-in fornecido, existem três desses elementos. Um identifica as formas pelo nome, outro pela abreviatura e o terceiro pelo ID. Esses valores são identificados pelo shapeKey atributo.

        • Se você não quiser usar um ou mais deles, exclua os elementos apropriados.

        • Se você quiser usar um ou mais deles, mantenha os elementos apropriados.

        • Se você quiser identificar suas formas por um valor diferente, altere o valor do shapeKey atributo em um dos <shape> elementos. Por exemplo, se você quiser usar um valor chamado SMSA para identificar suas formas, seu código poderá ser o seguinte:

          Copiar
          <shape
          ...
              shapeKey="SMSA"
          ...
          />
      • Para cada criança <shape> elemento que você precisa para seu ambiente:

        • Para o id atributo, substitua o valor atual por um que seja exclusivo (não um já usado por MicroStrategy para uma forma). Este valor identifica exclusivamente esta definição de forma personalizada.

        • Para o custom atributo, mantenha o valor atual de "true".

        • Para o plugin atributo, se você estiver usando o plug-in padrão fornecido, mantenha o valor atual de ConnectorForMapou configure-o com um nome diferente se você criou um plug-in com outro nome.

        • Para o desc atributo, altere o valor atual para uma descrição significativa. Este é o valor exibido na lista suspensa Limites no Painel de Propriedades para a visualização do Mapa ESRI quando você escolhe exibir um mapa com áreas. Por exemplo, se estas forem regiões identificadas pela SMSA, o valor poderá ser desc="Regions by SMSA". Ou, se estes forem estados identificados por abreviaturas de estado, o valor poderá ser desc="Custom States by Abbr". Se desejar localizar a descrição, será necessário incluir valores para os seguintes atributos adicionais:

          • descWeb

          • descFlash

          • descDesktop

        • Para o roleId atributo, altere o valor atual para a função geográfica de suas formas personalizadas usando um dos valores abaixo:

          roleId descrição

          1

          Cidade

          2

          Estado

          3

          País

          4

          Local

          5

          Latitude

          6

          Longitude

          7

          Outro

          8

          CEP

          9

          Condado
          • Para o type atributo, mantenha o valor atual de "Polígono".

          • Para o default atributo, se você não deseja que este seja o arquivo shape padrão, mantenha o valor atual de "false"; caso contrário, defina-o como "true".

          • Use o shapeCat atributo se você precisar de uma identificação mais granular para uma forma. A categoria de forma é um número inteiro, como 1.002 para países, 1.003 para estados dos EUA e 1.004 para condados dos EUA. Por exemplo, suponha que você escolha "7" (Outro) como o valor do atributo roleId e queira usar SMSAs para definir suas formas. Você pode definir o atributo shapeCat com um valor que não é usado por MicroStrategy.

          • Para o shapeKey atributo, defina-o como o valor que será usado para combinar as formas com os dados. Por exemplo, no código acima, os valores eram nome, id e desc. Este é o valor do key atributo no correspondente <shapeKey> elemento no <layers> hierarquia.

          • Para o layerid atributo, defina-o com o valor do id atributo que você usou para o <layer> elemento no <layers> hierarquia que faz referência ao arquivo KML associado a esta camada do mapa. Por exemplo, layerid="900".

    • Salve suas alterações.
  3. Confirme se você pode usar as formas personalizadas.

    1. Reiniciar MicroStrategy Web.

    2. Use a visualização do mapa ESRI em um VI dossier e selecione Mapa de área como o Map Type no painel Propriedades.

    3. Expanda o menu suspenso Limites no painel Propriedades ESRI. Certifique-se de incluir a descrição de suas formas personalizadas como opção.

    4. Escolha a opção para suas formas personalizadas. A visualização do mapa lê o arquivo KML especificado no atributo ml do <layer> nó em mstrGeoShapesConfig.xml e renderiza as formas personalizadas apropriadas.

    5. Se você tiver problemas, verifique as dicas de solução de problemas abaixo:

      • Certifique-se de que a grade do relatório à qual você está aplicando a visualização tenha elementos de atributos que correspondam ao valor do <name> elemento para o <Placemark> elementos no arquivo KML.

      • Certifique-se de que os valores usados no KML e mstrGeoShapesConfig.xml arquivos em seu plug-in são o caso certo. Todos esses valores diferenciam maiúsculas de minúsculas.

      • Certifique-se de que cada elemento tenha uma tag final.

      • Por padrão, MicroStrategy Cloud os clientes não podem usar mapas ESRI personalizados baseados em nuvem; eles usam servidores públicos ESRI. Se quiserem usar servidores públicos ESRI, deverão ativar a autenticação do cliente.