Skip to content

Componente do ScalargisGIS para pesquisa de catálogo de metadados

Notifications You must be signed in to change notification settings

scalargis/CatalogoSNIG

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 

Repository files navigation

CatologoSNIG

O CatalogoSNIG permite adicionar aos visualizadores da plataforma ScalarGIS funcionalidades de pesquisa e exploração do catálogo de metadados do Sistema Nacional de Informação Geográfica (SNIG).

É um componente de frontend do ScalarGIS (scalargis-client) e pode ser adicionado a qualquer visualizador. Configurado por defeito para pesquisar e explorar o catálogo de metadados do SNIG, suporta também a integração com qualquer catálogo de metadados baseado em GeoNetwork 3.x.

Instalação

O CatalogoSNIG é um componente de frontend do ScalarGIS. A sua instalação é feita através da integração da diretoria raiz do seu repositório na diretoria /packages/viewer/src/components da projeto scalargis-client. A diretoria /packages/viewer/src/components é utilizada para incluir componentes que adicionam novas funcionalidades ao frontend do ScalarGIS, permitindo depois que possam ser utilizadas nos visualizadores.

A integração de novos componentes poderá ser feita através de um clone do projeto do componente para dentro da diretoria /packages/viewer/src/components do scalargis-client. No caso do CatlalogoSNIG, seria realizado da seguinte forma:

cd scalargis/scalargis-client/packages/viewer/src/components
git clone https://github.com/scalargis/CatalogoSNIG.git

A operação anterior resulta na criação da seguinte diretoria: /packages/viewer/src/components/CatalogoSNIG

Depois realizada a clonagem do projeto, será necessário fazer novo build do viewer do ScalarGIS e deploy no scalargis-server:

cd scalargis/scalargis-client
yarn deploy-server:viewer

Funcionalidades

Quando integrado num visualizador disponbibilizado pela plataforma ScalarGIS, o componente CatalogSNIG permite, sem qualquer configuração adicional, a pesquisa e exploração do catálogo de metadados do Sistema Nacional de Informação Geográfica (SNIG).

O componente CatalogoSNIG recria as funcionalidades de pesquisa do Registo Nacional de Dados Geográficos (RNDG) que são disponibilizadas pelo portal do SNIG:

Alt text

Para além das pesquisas através dos filtros "O Quê?" e "Onde?", são também disponibilizadas ferramentas para:

  • refinar a pesquisa através da aplicação de outros filtros aos resultados que vão sendo obtidos
  • consultar as fichas de metadados associadas a cada registo
  • consultar e explorar os serviços geográficos associados a cada registo, caso se aplique
  • adicionar ao mapa do visualizador um ou mais temas disponibilizados pelos serviços geográficos associados a um registo de metadados

O ecrã inicial do componente é apresentado conforme a seguinte imagem:

Alt text

As caixas de texto dos filtros "O Quê?" e "Onde?" apresentam sugestões à medida que o utilizador vai introduzindo o texto a pesquisar:

Alt text

A pesquisa é executada através do botão Pesquisar, sendo apresentados dois paineis após a sua execução, um com os resultados agregados por classificador e outro com todos os registos devolvidos pela pesquisa.

Alt text

Através dos resultados agregados por classfificador é possível refinar a pesquisa que foi realizada, permitindo que o utilizador possa acrescentar mais filtros de forma interativa.

Alt text

O botão "+ Mapa" é apresentado quando o registo de metadados tem um serviço geográfico associado (WMS, WMTS ou WFS), permitindo através dele explorar esse serviço geográfico e adicionar ao mapa do visualizador um ou mais dos seus temas.

Alt text

O tema ou temas selecionados são adicionados ao mapa, passando a constar na tabela de conteúdos, sendo assim possível configurar posteriormente a sua visibilidade e outras propriedades.

Alt text

Outros filtros

Apesar do componente estar orientado por defeito para pesquisar e explorar o catálogo do SNIG, é possível configurá-lo de forma a permitir a sua integração com qualquer outro catálogo baseado na versão 3.x do GeoNetwork. A configuração do componente permite definir os atributos de pesquisa (filtros) mais adaptados a determinado catálogo. A seguinte imagem apresenta o componente configurado para aceder ao catálogo de metadados da Infraestrtutura de Dados Espaciais Interativa dos Açores (IDEiA):

Alt text

Múltiplos catálogos

Este componente também poderá ser configurado de forma a permitir a pesquisa em relação a vários catálogos. Utilizando este tipo de configuração, no topo do ecrã é apresentada uma caixa de seleção com a lista de catálogos de metadados disponíveis para pesquisa. Cada um destes catálogos pode ser configurado com diferentes atributos de pesquisa.

Alt text

Configuração

A configuração do componente CatalogoSNIG num visualizador faz-se de forma semlhante à dos outros componentes de frontend do ScalarGIS. A seguinte configuração é suficiente para permitir a pesquisa ao catálogo do SNIG:

{
  "id": "catalogosnig",
  "type": "CatalogoSNIG",
  "title": "Catálogo SNIG",
  "icon": "pi pi-briefcase",
  "target": "mainmenu",
  "config_json": {
    "url": "https://snig.dgterritorio.gov.pt/rndg"
  },
  "children": []
}

Como se pode verificar pelo exemplo anterior, o componente foi desenvolvido de forma a simplificar o mais possível a integração com o catálogo do SNIG. Caso se pretenda integrar com outro catálogo de metadados (com a limitação de ter que ser baseado em GeoNetwork 3.x), existem diversos parâmetros que permitem ajustar o componente às características do catálogo a integrar ou simplesmente para alterar o modo como é realizada a pesquisa ou são apresentados os resultados. Na configuração que se apresenta em seguida constam alguns dos parâmetros que permitem ajustar o comportamento do componente:

{
  "id": "catalogoidea",
  "type": "CatalogoSNIG",
  "title": "Catálogo IDEiA",
  "icon": "pi pi-briefcase",
  "target": "mainmenu",
  "config_json": {
    "classname": "metadata-catalog",
    "description": "A IDEiA – Infraestrutura de Dados Espaciais Interativa dos Açores constitui um projeto na área dos Sistemas de Informação Geográfica - SIG, que tem como principal objetivo o desenvolvimento e a gestão de uma infraestrutura de dados geográficos (IDE – Infraestrutura de Dados Espaciais) de referência para a Região Açores",
    "content_header": {
      "html": "<a href='http://www.ideia.azores.gov.pt/' target='_blank'><img style='width: 50%'' src='http://www.ideia.azores.gov.pt/Style%20Library/css/img/Logo_IDEiA.png' /></a>"
    },
    "url": "https://sma.idea.azores.gov.pt/geonetwork",
    "search_action": "searchCatalog",
    "sortOptions": [
      {
        "value": "relevance",
        "label": "Relevância"
      },
      {
        "value": "title",
        "label": "Título"
      }
    ],
    "sortBy": "relevance",
    "float_labels": true,
    "filters": [
      {
        "id": "what",
        "type": "Any",
        "label": "O quê?",
        "query": "anylight",
        "options": {
          "multi": true,
          "forceSelection": false,
          "suggest": {
            "path": "/srv/por/suggest",
            "field": "anylight",
            "sortBy": "STARTSWITHFIRST",
            "filterField": "",
            "filterValue": ""
          }
        }
      },
      {
        "id": "keyword",
        "type": "List",
        "label": "Palavra-chave?",
        "query": "keyword",
        "options": {
          "multi": true,
          "forceSelection": true,
          "mode": "any",
          "source": {
            "type": "suggests",
            "path": "/srv/por/suggest",
            "field": "keyword",
            "sortBy": "STARTSWITHFIRST"
          }
        }
      },
      {
        "id": "orgname",
        "type": "List",
        "label": "Entidade Responsável",
        "query": "orgName",
        "options": {
          "multi": true,
          "forceSelection": true,
          "mode": "any",
          "source": {
            "type": "suggests",
            "path": "/srv/por/suggest",
            "field": "orgName",
            "sortBy": "STARTSWITHFIRST"
          }
        }
      },
      {
        "id": "topic",
        "type": "Tags",
        "label": "Tópicos",
        "query": "_cat",
        "options": {
          "multi": true,
          "forceSelection": true,
          "mode": "any",
          "field": "code",
          "source": {
            "path": "/srv/api/0.1/tags",
            "lang": "por"
          }
        }
      },
      {
        "id": "resource_date",
        "type": "DateRange",
        "label": "Criação do Recurso",
        "query": [
          "creationDateFrom",
          "creationDateTo"
        ]
      },
      {
        "id": "metadata_date",
        "type": "DateRange",
        "label": "Criação dos Metadados",
        "query": [
          "dateFrom",
          "dateTo"
        ]
      }
    ],
    "summary": {
      "use_default": false,
      "maxDimensions": 5,
      "strings": {
        "type": "Tipos de Recursos",
        "topicCat": "Tópicos",
        "keyword": "Palavras-chave",
        "service-view": "Visualização",
        "service-download": "Descarregamento",
        "service-discovery": "Pesquisa",
        "service-transformation": "Processamento"
      }
    },
    "allow_add_map": true,
    "allow_service_types": [
      "WMS",
      "WMTS"
    ]
  },
  "children": []
}

A utilização de múltiplos catálogos pode ser realizada através da seguinte configuração:

{
  "id": "catalogossnig",
  "type": "CatalogoSNIG",
  "title": "Catálogos",
  "icon": "pi pi-briefcase",
  "target": "mainmenu",
  "config_json": {
    "classname": "metadata-catalog",
    "show_content_header": true,
    "catalogs": {
      "url": "https://raw.githubusercontent.com/scalargis/CatalogoSNIG/main/examples/catalogos.json"
    }
  },
  "children": []
}

Como pode ser verificado no exemplo anterior, a definição dos catálogos a utilizar pode ser realizada num ficheiro externo, sendo a localização desse ficheiro especificada através da propriedade config_json.catalogs.url. O seguinte código mostra o possível conteúdo de um ficheiro de configuração de catálogos (ver exemplo mais completo):

[
  {
    "id": "catalogosnig",
    "title": "Catálogo SNIG",
    "config_url": "https://raw.githubusercontent.com/scalargis/CatalogoSNIG/main/examples/snig.json",
    "help": {
      "as": "external",
      "url": "https://snig.dgterritorio.gov.pt/rndg"
    }
  }, 
  {
    "id": "catalogsnig_opendata",
    "title": "Catálogo SNIG - Dados Abertos",
    "config_url": "https://raw.githubusercontent.com/scalargis/CatalogoSNIG/main/examples/snig_opendata.json",
    "help": {
      "as": "popup",
      "html": "<div>O Sistema Nacional de Informação Geográfica é uma infraestrutura colaborativa que permite partilhar, pesquisar e aceder a informação geográfica através do Registo Nacional de Dados Geográficos</div>"
    }
  }  
]

A configuração de cada catálogo também pode ser realizada através de um ficheiro externo, cuja localização é definida na propriedade config_url. Diversos exemplos de configuração de catálogos podem ser consultados em: https://github.com/scalargis/CatalogoSNIG/tree/main/examples.

About

Componente do ScalargisGIS para pesquisa de catálogo de metadados

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published