Personalizando os Modelos GetFeatureInfo das Camadas

Ao “clicar” sobre um recurso de uma camada em um mapa GeoNode, uma janela pop-up de informações mostra uma representação formatada dos dados brutos identificados pelas coordenadas (ver Fig. 1)

../../../_images/getfetureinfo_templates_001.png

Fig. 1

A forma como a informação é apresentada ao utilizador é definida pelo que chamamos de “Modelo de GetFeatureInfo”. O último é basicamente um pedaço de HTML contendo alguns marcadores de posição e códigos embutidos especiais que instruem o GeoServer sobre como gerar a saída de dados em bruto.

O resultado é um fragmento de HTML renderizado com os valores reais substituindo os espaços reservados do Modelo.

Actualmente, o GeoNode permite um mecanismo muito simples para personalizar o “Modelo de GetFeatureInfo” de uma camada.

É possível, por meio do Assistente Editor de Metadados de Camada, atribuir um nome e um rótulo aos atributos que desejamos exibir na saída GetFeatureInfo.

Observe que os atributos sem um rótulo e nome, no caso de outros estarem presentes, não serão renderizados.

Como uma instância, usando o exemplo acima, podemos personalizar um pouco os Metadados da Camada, conforme mostrado na Fig. 2

../../../_images/getfetureinfo_templates_002.png

Fig. 2

A saída “GetFeatureInfo” mudará de acordo, conforme mostrado na Fig. 3

../../../_images/getfetureinfo_templates_003.png

Fig. 3

Modelo Simples: Atribuindo um Media-Type (tipo de media) a Valores de Atributo

A maneira mais fácil de renderizar um Media-Type diferente (:guilabel: imagem, audio, video ou iframe) para um valor de propriedade, é alterá-lo no painel de atributos Metadata Editor Wizard.

Alterando o Display Type de um atributo deste painel, conforme mostrado na Fig. 4

../../../_images/getfetureinfo_templates_004.png

Fig. 4

O GeoNode criará automaticamente o tipo de media HTML ao renderizar usando o valor da propriedade seleccionada.

Assim, a título de exemplo, se, na figura acima, o atributo NOME contém valores que representam alguns links para outros recursos, o GeoNode irá criar esses links automaticamente para si ao clicar sobre uma geometria.

../../../_images/getfetureinfo_templates_005.png

Fig. 5

Seleccionando image como Media-Type (Fig. 6)

../../../_images/getfetureinfo_templates_006.png

Fig. 6

e editar o conteúdo de acordo (Fig. 7)

../../../_images/getfetureinfo_templates_007.png

Fig. 7

obterá um bom efeito, conforme mostrado na Fig. 8

../../../_images/getfetureinfo_templates_008.png

Fig. 8

Modelo Avançado: Use um Modelo HTML Personalizado

Seleccionando a opção Use a custom template? Como mostrado na Fig. 9

../../../_images/getfetureinfo_templates_009.png

Fig. 9

Poderá fornecer seu próprio modelo HTML personalizado para a saída de informações do recurso.

O exemplo abaixo mostra como é possível criar uma boa saída HTML com uma image tomando o``src`` dos valores do atributo NAME, através do uso da palavra-chave ${properties.NAME}

../../../_images/getfetureinfo_templates_010.png

Fig. 10

../../../_images/getfetureinfo_templates_011.png

Fig. 11

../../../_images/getfetureinfo_templates_012.png

Fig. 12

../../../_images/getfetureinfo_templates_013.png

Fig. 13

Opcional: Personalização da Barra de Menu do Editor HTML WYSIWYG

O Barra de Menu e Barra de Ferramentas do Editor de HTML, pode ser facilmente personalizado substituindo a variável TINYMCE_DEFAULT_CONFIG em settings.py (veja TINYMCE_DEFAULT_CONFIG)

Existem muitos plugins e opções que permitem personalizar facilmente o editor e também fornece alguns modelos predefinidos para acelerar a edição.

Para obter mais informações sobre a ferramenta Javascript, consulte https://www.tiny.cloud/