isagro-map v12.0.7
ISAgro-Map
Repositório para o componente de Mapa do projeto ISAGRO Dashboards.
Sumário
O componente isagro-map
é baseado na biblioteca OpenLayers. Ele é projetado para requisitar dados do servidor de mapas do IBGE e exibir o mapa do Brasil e suas regiões. O componente permite a seleção de estados e, ao selecionar um estado, o mapa exibe a região correspondente.
Requisitos do Componente Mapa
- Exibir inicialmente o Brasil ou recuperar a visualização da sessão anterior.
- Ao selecionar o código IBGE no seletor, exibir a região correspondente no mapa.
- Adicionar um seletor com auto-complete (digitação) para estados (códigos IBGE).
- O mapa deve poder ser posicionado por eventos externos, como controlar o mapa via eventos externos.
- Utilizar WMS (preferencialmente), referência: https://www.sentinel-hub.com/develop/integrate/onlinegis/#web.
- O componente deve ser distribuído como um pacote NPM através deste repositório.
Anatomia do Componente Mapa
O componente observa a posição para atualizar uma variável position
, que deve ser exposta na declaração do próprio componente. Todos os demais parâmetros são informados por um atributo config
, que deve ser um objeto único, definido com uma interface.
Parâmetros Esperados
interface iEstado {
bbox: [number, number, number, number];
zoom: number;
center: [number, number];
}
interface MapProps {
estado: iEstado;
width: number;
height: number;
version?: string;
request?: string;
srs?: string;
layers?: string;
format?: string;
transparent?: boolean;
bgcolor?: string;
coordinateOnClick: (coordinate: Array<number>) => void;
onZoomChange?: (zoom: number) => void;
onBboxChange?: (bbox: Array<number>) => void;
onCenterChange?: (center: Array<number>) => void;
}
Exemplo de Uso
const estadoSelecionado: iEstado = {
bbox: [-53.4, -25.3, -44.2, -19.7],
zoom: 6.8,
center: [-48.8, -22.5]
};
<Map
estado={estadoSelecionado}
width={758}
height={698}
coordinateOnClick={(coordinate) => console.log('Coordenada clicada:', coordinate)}
onZoomChange={(zoom) => console.log('Nível de zoom:', zoom)}
onBboxChange={(bbox) => console.log('BBox:', bbox)}
onCenterChange={(center) => console.log('Centro do mapa:', center)}
/>
Requisição Esperada
Abaixo está um exemplo de requisição WMS:
Resumo
URL: https://geoservicos.ibge.gov.br/geoserver/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&SRS=EPSG:4326&BBOX=-73.6319866139999703591457,-32.6441463967387832667555,-34.7928849718691139969451,3.09228646100007198427306&WIDTH=758&HEIGHT=698&LAYERS=CCAR:BCIM_Unidade_Federacao_A&FORMAT=image/png&BGCOLOR=0xFEFFFF&TRANSPARENT=TRUE
Status: 200 OK
Parâmetros da Query String
SERVICE=WMS
VERSION=1.1.1
REQUEST=GetMap
SRS=EPSG:4326
BBOX=-73.6319866139999703591457,-32.6441463967387832667555,-34.7928849718691139969451,3.09228646100007198427306
WIDTH=758
HEIGHT=698
LAYERS=CCAR:BCIM_Unidade_Federacao_A
FORMAT=image/png
BGCOLOR=0xFEFFFF
TRANSPARENT=TRUE
Publicação
Este componente deve ser distribuído como um pacote NPM através deste repositório. Utilize os seguintes scripts para gerenciar versões e publicações:
Scripts
npm run build
- Compila o código TypeScript e copia arquivos necessários para o diretóriodist
.npm run publish:patch
- Publica uma nova versão patch do pacote.npm run publish:minor
- Publica uma nova versão minor do pacote.npm run publish:major
- Publica uma nova versão major do pacote.
Contato
Para mais informações ou dúvidas, entre em contato com a equipe de desenvolvimento.
Este repositório faz parte do projeto ISAGRO Dashboards.
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
8 months ago
10 months ago
10 months ago
10 months ago
10 months ago
8 months ago
10 months ago
8 months ago
10 months ago
8 months ago
8 months ago
10 months ago
10 months ago
10 months ago
8 months ago
10 months ago
8 months ago
8 months ago
10 months ago
10 months ago
10 months ago
8 months ago
8 months ago
10 months ago
8 months ago
11 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago