Skip to content
jossanCosta edited this page Dec 29, 2021 · 8 revisions

Introdução

O site de projetos permite uma visualização do andamento dos projetos de forma espacial.

Configuração

Exemplo de Configuração

Símbolo da OM

1) Substitua a o arquivo "projetos/images/om.png" por uma imagem no formato ".png" e resolução "2921x4165":

GeoJSON dos Projetos

1) Na pasta "projetos/data/" crie um GeoJSON para cada lote dos projetos.

⚠ ATENÇÃO: Os nomes de cada GeoJSON deve começar com letra, ser único, ser minúsculo, não conter acentuação e para separa palavras use apenas "-".

2) Cada GeoJSON deve está no "EPSG:4326" e possuir os seguintes campos:

  • "id": uma chave primária.
  • "situacao": esse será preenchido com o valor da legenda.
  • "identificador": esse campo deve conter o nome da unidade de trabalho.

⚠ ATENÇÃO: O campo "situacao" deve apenas assumir os seguinte valores: 'Previsto', 'Digitalização', 'Disseminação', 'Reambulação', 'Validação', 'Edição', 'Vetorização', 'Avaliação', 'Generalização', 'Fototriangulação', 'Restituição', 'Processamento Digital de Imagens', 'Medição de pontos de controle', 'Geração de ortoimagem', 'Geração de MDE e Levantamento topográfico'.

Configurar Mapa e Slides

1) Abra o arquivo "projetos/js/setup.js" em um editor de código de sua preferência.

2) Dentro do arquivo "projetos/js/setup.js" edite a variável "PROJECTS" da seguinte forma:

  • Partindo do seguinte estado:

    var PROJECTS = {}
  • Adicione um ou vários projeto:

    1. Um projeto:
      var PROJECTS = {
          'nome-do-projeto': {
              title: 'Título do Slide',
              description: `Descrição do projeto`,
              legend: [],
              lotes: []
          }
      }
    2. Vários projeto:
    var PROJECTS = {
        'nome-do-projeto1': {
            title: 'Título dos Slides',
            description: `Descrição do projeto`,
            legend: [],
            lotes: []
        },
        'nome-do-projeto2': {
            title: 'Título dos Slides',
            description: `Descrição do projeto`,
            legend: [],
            lotes: []
        },
        'nome-do-projeto3': {
            title: 'Título dos Slides',
            description: `Descrição do projeto`,
            legend: [],
            lotes: []
        }
    }

⚠ ATENÇÃO: O valor em 'nome-do-projeto' deve começar com letra, ser único, ser minúsculo, não conter acentuação e para separa palavras use apenas "-".

  • Adicione a legenda do projeto:
    var PROJECTS = {
        'nome-do-projeto': {
            title: 'Título dos Slides',
            description: `Descrição do projeto`,
            legend: [
                1,
                9,
                5,
                6,
                3
            ],
            lotes: []
        }
    }

⚠ ATENÇÃO

A numeração da legenda deve seguir os seguintes valores:

Código Descrição
1 Previsto
2 Digitalização
3 Disseminação
4 Reambulação
5 Validação
6 Edição
7 Vetorização
8 Avaliação
9 Generalização
10 Fototriangulação
11 Restituição
12 Processamento Digital de Imagens
13 Medição de pontos de controle
14 Geração de ortoimagem
15 Geração de MDE
16 Levantamento topográfico
  • Adicione um ou vários lotes:

    • Um Lote:
    var PROJECTS = {
        'nome-do-projeto': {
            title: 'Título dos Slides',
            description: `Descrição do projeto`,
            legend: [
                1,
                9,
                5,
                6,
                3
            ],
            lotes: [
                {
                    name: 'nome-do-arquivo-geojson-do-lote-sem-a-extensao',
                    subtitle: 'Título do Lote',
                    zoom: [
                        [-54.60516441090726, -31.59015763447726], // southwestern corner of the bounds
                        [-50.14483553439275, -22.90972914019692] // northeastern corner of the bounds
                    ],
                    styles: [
                        {
                            'id': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao-fill',
                            'source': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao',
                            'type': 'fill',
                            'layout': {},
                            'paint': {
                                'fill-opacity': 0.9
                            }
                        },
                        {
                            'id': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao-border',
                            'source': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao',
                            'type': 'line',
                            'layout': {},
                            'paint': {
                                'line-color': '#050505',
                                'line-width': 0.5
                            }
                        },
                        {
                            'id': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao-text',
                            'source': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao',
                            "type": "symbol",
                            "maxzoom": 10,
                            "minzoom": 7.4,
                            'layout': {
                                'text-field': ['to-string', ['get', 'identificador']]
    
                            },
                            'paint': {
    
                            }
                        }
                    ]
                }
            ]
        }
    }
    • Vários Lotes:
    var PROJECTS = {
        'nome-do-projeto': {
            title: 'Título dos Slides',
            description: `Descrição do projeto`,
            legend: [
                1,
                9,
                5,
                6,
                3
            ],
            lotes: [
                {
                    name: 'nome-do-arquivo-geojson-do-lote-sem-a-extensao',
                    subtitle: 'Título do Lote',
                    zoom: [
                        [-54.60516441090726, -31.59015763447726], // southwestern corner of the bounds
                        [-50.14483553439275, -22.90972914019692] // northeastern corner of the bounds
                    ],
                    styles: [
                        {
                            'id': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao-fill',
                            'source': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao',
                            'type': 'fill',
                            'layout': {},
                            'paint': {
                                'fill-opacity': 0.9
                            }
                        },
                        {
                            'id': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao-border',
                            'source': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao',
                            'type': 'line',
                            'layout': {},
                            'paint': {
                                'line-color': '#050505',
                                'line-width': 0.5
                            }
                        },
                        {
                            'id': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao-text',
                            'source': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao',
                            "type": "symbol",
                            "maxzoom": 10,
                            "minzoom": 7.4,
                            'layout': {
                                'text-field': ['to-string', ['get', 'identificador']]
    
                            },
                            'paint': {
    
                            }
                        }
                    ]
                },
                {
                    name: 'nome-do-arquivo-geojson-do-lote-sem-a-extensao',
                    subtitle: 'Título do Lote',
                    zoom: [
                        [-54.60516441090726, -31.59015763447726], // southwestern corner of the bounds
                        [-50.14483553439275, -22.90972914019692] // northeastern corner of the bounds
                    ],
                    styles: [
                        {
                            'id': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao-fill',
                            'source': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao',
                            'type': 'fill',
                            'layout': {},
                            'paint': {
                                'fill-opacity': 0.9
                            }
                        },
                        {
                            'id': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao-border',
                            'source': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao',
                            'type': 'line',
                            'layout': {},
                            'paint': {
                                'line-color': '#050505',
                                'line-width': 0.5
                            }
                        },
                        {
                            'id': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao-text',
                            'source': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao',
                            "type": "symbol",
                            "maxzoom": 10,
                            "minzoom": 7.4,
                            'layout': {
                                'text-field': ['to-string', ['get', 'identificador']]
    
                            },
                            'paint': {
    
                            }
                        }
                    ]
                }
            ]
        }
    }
    • Fazendo uso do modelo mostrado no EX.A. Será necessário modificar alguns valores de chaves:

      • "name": deve ser igual ao nome do arquivo GeoJSON do projeto sem a extensão.
      • "subtitle": esse será o texto do lote para o slide.
      • "zoom": esse será o zoom do lote.
            ...
            zoom: [
                    [-54.60516441090726, -31.59015763447726], // valor da coordenada do canto sudoeste do limite do lote.
                    [-50.14483553439275, -22.90972914019692] // valor da coordenada do canto nordeste do limite do lote.
                ],
            ...
      • "styles": para cada item da lista vamos editar a chave "id" e "source". Seguindo o exemplo de "styles" abaixo para a chave "id" apenas substitua o valor 'nome-do-arquivo' pelo nome do arquivo GeoJSON correspodente ao lote sem a extensão e preserve o sufixo. E para "source" apenas substitua o valor 'nome-do-arquivo' pelo nome do arquivo GeoJSON correspodente ao lote sem a extensão.
          ...
          styles: [
              {
                  'id': 'nome-do-arquivo-fill',
                  'source': 'nome-do-arquivo',
                  'type': 'fill',
                  'layout': {},
                  'paint': {
                      'fill-opacity': 0.9
                  }
              },
              {
                  'id': 'nome-do-arquivo-border',
                  'source': 'nome-do-arquivo',
                  'type': 'line',
                  'layout': {},
                  'paint': {
                      'line-color': '#050505',
                      'line-width': 0.5
                  }
              },
              {
                  'id': 'nome-do-arquivo-text',
                  'source': 'nome-do-arquivo',
                  "type": "symbol",
                  "maxzoom": 10,
                  "minzoom": 7.4,
                  'layout': {
                      'text-field': ['to-string', ['get', 'identificador']]
      
                  },
                  'paint': {
      
                  }
              }
          ]
          ...
      • Caso o meu arquivo GeoJSON do lote fosse "campo-instrucao-25k.geojson" minha chave "styles" seria:
          ...
          styles: [
              {
                  'id': 'campo-instrucao-25k-fill',
                  'source': 'campo-instrucao-25k',
                  'type': 'fill',
                  'layout': {},
                  'paint': {
                      'fill-opacity': 0.9
                  }
              },
              {
                  'id': 'campo-instrucao-25k-border',
                  'source': 'campo-instrucao-25k',
                  'type': 'line',
                  'layout': {},
                  'paint': {
                      'line-color': '#050505',
                      'line-width': 0.5
                  }
              },
              {
                  'id': 'campo-instrucao-25k-text',
                  'source': 'campo-instrucao-25k',
                  "type": "symbol",
                  "maxzoom": 10,
                  "minzoom": 7.4,
                  'layout': {
                      'text-field': ['to-string', ['get', 'identificador']]
      
                  },
                  'paint': {
      
                  }
              }
          ]
          ...

EXEMPLOS

EX.A - Modelo de lote
{
    name: 'nome-do-arquivo-geojson-do-lote-sem-a-extensao',
    subtitle: 'Título do Lote',
    zoom: [
        [-54.60516441090726, -31.59015763447726], // southwestern corner of the bounds
        [-50.14483553439275, -22.90972914019692] // northeastern corner of the bounds
    ],
    styles: [
        {
            'id': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao-fill',
            'source': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao',
            'type': 'fill',
            'layout': {},
            'paint': {
                'fill-opacity': 0.9
            }
        },
        {
            'id': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao-border',
            'source': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao',
            'type': 'line',
            'layout': {},
            'paint': {
                'line-color': '#050505',
                'line-width': 0.5
            }
        },
        {
            'id': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao-text',
            'source': 'nome-do-arquivo-geojson-do-lote-sem-a-extensao',
            "type": "symbol",
            "maxzoom": 10,
            "minzoom": 7.4,
            'layout': {
                'text-field': ['to-string', ['get', 'identificador']]

            },
            'paint': {

            }
        }
    ]
}

EX.B - Exemplo de um projeto completamente configurado
var PROJECTS = {
  'generalizacao-cartografica': {
      title: 'Generalização Cartográfica 2021',
      description: `O objetivo do presente projeto consiste em realizar a Generalização Cartográfica
      na escala 1:50.000 e 1:100.000 de produtos na região de Paraná, Santa Catarina e Rio
      Grande do Sul, para gerar 46 cartas topográficas na escala 1:50.000 e 15 cartas
      topográficas na escala 1:100.000 visando atender a meta 11 do Plano Interno de Trabalho
      (PIT) 2021 da Diretoria de Serviço Geográfico.`,
      legend: [
          1,
          9,
          5,
          6,
          3
      ],
      lotes: [
          {
              name: 'generalizacao-cartografica-50k',
              subtitle: 'Generalização 1:50.000',
              zoom: [
                  [-54.60516441090726, -31.59015763447726], // southwestern corner of the bounds
                  [-50.14483553439275, -22.90972914019692] // northeastern corner of the bounds
              ],
              styles: [
                  {
                      'id': 'generalizacao-cartografica-50k-fill',
                      'source': 'generalizacao-cartografica-50k',
                      'type': 'fill',
                      'layout': {},
                      'paint': {
                          'fill-opacity': 0.9
                      }
                  },
                  {
                      'id': 'generalizacao-cartografica-50k-border',
                      'source': 'generalizacao-cartografica-50k',
                      'type': 'line',
                      'layout': {},
                      'paint': {
                          'line-color': '#050505',
                          'line-width': 0.5
                      }
                  },
                  {
                      'id': 'generalizacao-cartografica-50k-text',
                      'source': 'generalizacao-cartografica-50k',
                      "type": "symbol",
                      "maxzoom": 10,
                      "minzoom": 7.4,
                      'layout': {
                          'text-field': ['to-string', ['get', 'identificador']]

                      },
                      'paint': {

                      }
                  }
              ]
          },
          {
              name: 'generalizacao-cartografica-100k',
              subtitle: 'Generalização 1:100.000',
              zoom: [
                  [-54.60516441090726, -31.59015763447726], // southwestern corner of the bounds
                  [-50.14483553439275, -22.90972914019692] // northeastern corner of the bounds
              ],
              styles: [
                  {
                      'id': 'generalizacao-cartografica-100k-fill',
                      'source': 'generalizacao-cartografica-100k',
                      'type': 'fill',
                      'layout': {},
                      'paint': {
                          'fill-opacity': 0.9
                      }
                  },
                  {
                      'id': 'generalizacao-cartografica-100k-border',
                      'source': 'generalizacao-cartografica-100k',
                      'type': 'line',
                      'layout': {},
                      'paint': {
                          'line-color': '#050505',
                          'line-width': 0.5
                      }
                  },
                  {
                      'id': 'generalizacao-cartografica-100k-text',
                      'source': 'generalizacao-cartografica-100k',
                      "type": "symbol",
                      "maxzoom": 10,
                      "minzoom": 6.14,
                      'layout': {
                          'text-field': ['to-string', ['get', 'identificador']]

                      },
                      'paint': {

                      }
                  }
              ]
          }
      ]
  }
}