Perimetros Urbanos Nespereira

Fonte: QGIS
Saltar para a navegação Saltar para a pesquisa

<-- Voltar à página hierarquicamente anterior

Perímetros urbanos de Nespereira

Objetivos

FIXME

Dados

Guião

Parte 1: preparar o projeto incluindo criar uma camada que represente Nespereira

  1. Criar a pasta base "Cinfaes_Nespereira", e as subpastas "dados_input", "dados_output" e "resultados"
  2. Descarregar os dados de input (cartografia de Cinfães e BD.gpkg)
  3. Descomprimir a cartografia de Cinfães e copiar para a pasta "dados_input" estas 7 shapefiles que representam 22 ficheiros:
    1. edificio (contém 46779 itens)
    2. Rodovias (contém 56715 itens)
    3. campo_jogos (contém 46 itens, neste caso não são 3 mas sim 4 ficheiros já que inclui o ficheiro .prj que especifica o sistema de coordenadas dessa camada)
    4. deposito (contém 68 itens)
    5. equipame (contém 104 itens)
    6. piscina (contém 5 itens)
    7. zverde (contém 100 itens)

    Verificar que na pasta "dados_input" ficaram 22 ficheiros que ocupam 43 MB

  4. Copiar a geopackage BD.gpkg para "dados_input" e mudar-lhe o nome para "BD_Cinfaes.gpkg", a seguir usar o navegador do QGIS para ver o conteúdo da geopackage e clicando com o botão direito do rato sobre o nome da camada (estamos a falar da camada armazenada no disco na geopackage), apagar ("Delete Layer..." se for QGIS 3.16.x, "Manage" seguido de "Eliminar camada" se for QGIS 3.22.x) as camadas "COS" (é uma camada matricial conforme mostrado pelo ícone parecido com um tabuleiro de xadrez), "lagoasAA", "precipAA", e "soloAA" já que não vamos necessitar delas. Note-se que estamos a apagar as camadas de dentro do geopackage, isto é, estamos a apagar dados do disco.
  5. Criar um novo projeto QGIS, verificar que o sistema de referência de coordenadas é "EPSG: 3763 ETRS89 / Portugal TM06" (menu "Projeto / Propriedades / Sistema de referência de coordenadas (SRC) do projeto"), a seguir gravar dentro da pasta "Cinfaes_Nespereira" usando o nome "Cinfaes_Nespereira.qgz"
  6. Adicionar ao projeto as camadas edificio, Rodovias, campo_jogos, deposito, equipame, piscina, zverde e verificar que a quantidade de itens de cada camada está correta (ver quantidades dadas acima)
  7. Adicionar o mapa de contexto do Open Street Maps (menu "Web / QuickMapServices / OSM / OSM Standard", se esse menu não existir é necessário instalar o módulo "QuickMapServices" indo ao menu "Módulos / Gerir e instalar módulos...")
  8. Verificar que todas as camadas parecem estar corretamente georreferenciadas em Cinfães
  9. Para todas as camadas em que aparece um ponto de interrogação à direita do nome da camada (todas exceto campo_jogos) significa que essa camada não tem definido o sistema de referência de coordenadas, embora por omissão seja assumido o sistema de referência de coordenadas do projeto (pelo que as camadas neste momento ficam bem georreferenciadas), se mais tarde criarmos uma nova camada a partir de uma dessas camadas (por exemplo usando "selecionar elementos por expressão") então a nova camada vai ficar com o SRC errado (ficará com o SRC standard WGS84) por isso é importante corrigir antes de se criar camadas derivadas. Clicar em cada um dos pontos de interrogação e escolher "EPSG: 3763 ETRS89 / Portugal TM06" e premir OK
  10. Criar a camada "ED01" que foi criada a partir da camada edificio excluindo os edifícios do tipo Anexo, Cobertura/Telheiro, Precário. Para se conseguir isso usar "selecionar elementos por expressão" do painel "Selection toolbar" podendo-se criar o que se quer usando por exemplo a expressão NOT ("tipo" IN ( 'Anexo' , 'Cobertura/Telheiro' , 'Precário' )), deve dar 39763 itens, a seguir usar o menu "Editar / Copiar Elementos" seguido de "Editar / Colar elementos como / Camada temporária" e colocar no "Nome da camada" o valor "ED01"
  11. Da mesma forma criar a camada "VIA01" a partir da camada "Rodovias" de modo a só ter as estradas principais, isto é, as que são do tipo "Estrada/rua" (descartando as do tipo estrada de terra batida, via de apoio, via para peões). Pode-se usar por exemplo a expressão "tipo" = 'Estrada/rua', deve dar 18361 itens. Note-se que embora seja óbvio que estrada de terra batida e via para peões não representa uma estrada principal o mesmo já não se aplica a via de apoio. Para ter a certeza que via de apoio não é uma estrada relevante deve-se selecionar esse tipo de vias (usando uma expressão) e a seguir fazer zoom no mapa de modo a ver o contexto, só aí se conclui que vias de apoio não representam estradas que devam ser consideradas (muitas vezes são por exemplo estradas que ligam a estrada principal a uma propriedade).
  12. Tornar as 2 camadas temporárias permanentes, guardando-as na subpasta "dados_output" numa geopackage chamada "Cinfaes_camadas.gpkg": clicar no ícone da memória que identifica a camada como sendo temporária, escolher o formato "Geopackage", no nome do ficheiro clicar nas reticências, definir a localização e o nome do ficheiro, a seguir escolher para nome da camada o mesmo nome que está no projeto (isto é, respetivamente "ED01" e "VIA01"), e premir OK
  13. No caso de por lapso se ter criado a camada no ficheiro geopackage correto mas se ter usado o nome da camada errado (fácil de acontecer porque por omissão o nome da camada é inicializado com o nome do ficheiro do geopackage) eis a forma de corrigir o nome da camada:
    1. Selecionar a camada, clicar com o botão direito do rato, "Exportar / Guardar elementos como..." guardar no mesmo geopackage mas agora com o nome correto e deixar ativa a opção "Adicionar ficheiro guardado ao mapa", irá aparecer uma nova camada com o nome do ficheiro geopackage, um espaço e o nome da camada
    2. Usando o navegador navegar até à geopackage, selecionar a camada com o nome errado, clicar com o botão da direita do rato, escolher "Eliminar Camada..." (estamos a eliminar a camada dentro da geopackage armazenada no disco), deve aparecer uma mensagem a dizer que a camada existe no projeto atual e a perguntar se quer removê-la do projeto e eliminá-la, selecionar "Yes" (dessa forma não só a apaga no disco como também a remove do projeto)
    3. No projeto alterar o nome da camada nova de modo a remover o prefixo com "o nome do geopackage e um espaço", dessa forma o nome no projeto fica igual ao nome no geopackage
  14. Guardar o projeto
  15. Adicionar ao projeto a camada "COS_vetorial" que se encontra no ficheiro "BD_Cinfaes.gpkg" que se encontra na pasta "dados_input"
  16. A partir da camada "COS_vetorial" criar a camada temporária "Cinfaes" que contém somente o concelho de Cinfães, usar por exemplo "selecionar elementos por expressão" usando a expressão "Concelho" = 'Cinfães', deve dar 14 itens
  17. A partir da camada "Cinfaes" criar a camada temporária "Nespereira" que contenha somente a freguesia de Nespereira (irá dar 1 item)
  18. Gravar as camadas temporárias "Cinfaes" e "Nespereira" na geopackage "dados_output/Cinfaes_camadas.gpkg"
  19. Gravar o projeto, sair do QGIS, e fazer uma cópia de segurança do resultado obtido até aqui.
Resultado da Parte 1

Arquivo com o resultado da Parte 1, o projeto e os dados: Cinfaes_Nespereira-20211025.zip (108 MB)

Tempo de execução (quando se tenta repetir pela segunda vez): cerca de FIXME minutos

Vídeo com a resolução do exercício: [FIXME FIXME.wmv] (FIXME minutos e FIXME segundos, FIXME MB)

Parte 2a: Áreas edificadas consolidadas e em consolidação de Nespereira (início)

  1. Reabrir o projeto ou usar o arquivo ZIP Cinfaes_Nespereira-20211025.zip com o resultado da Fase 1.
    NOTA importante: se se usar esse arquivo ZIP ver-se-á que no projeto existe uma camada chamada "Cont_AAD_CAOP2020" que contém 46 itens em Windows (por alguma razão só contém 5 itens em macOS) em vez dos 3223 itens que se encontram na camada do mesmo nome na geopackage "dados_input/BD_Cinfaes.gpkg", e nota-se também que se trata de uma camada que está identificada como sendo uma shapefile na pasta "dados_input", mas não existe nenhuma shapefile com esse nome nessa pasta. Alguma coisa terá corrido mal relativamente a essa camada que é inválida mas não aparece como sendo inválida. Remover essa camada do projeto já que contém dados errados. Para além disso se aparecer uma pasta chamada "__MACOSX" removê-la também, ela aparece quando se descomprime em Windows arquivos ZIP que foram criados num computador da Apple.
  2. Adicionar à camada "ED01" um novo atributo chamada area_m2 do tipo número decimal (real) com a $area
  3. Criar a camada "ED02" com os elementos de "ED01" que possuem uma área maior que 30 m2 (selecionar pela expressão com area_m2 > 30), deve dar 23295 itens.
    NOTA importante: atenção que quando se realiza esta operação com a camada "ED01" selecionada mas não visível (checkbox na camada não ativa), a operação de selecionar os elementos funciona mas depois não se consegue copiar os elementos. Mesmo que a seguir se torne visível a camada, o que permite ver que os elementos estão selecionados, continua a não se poder copiar esses elementos. A forma de se fazer esta operação é em primeiro lugar tornar a camada visível, depois selecionar os elementos, a seguir copiar os elementos, e por fim colar como nova camada vetorial temporária
  4. Criar a camada "EDN01" com os elementos de "ED02" que pertencem a Nespereira, para isso no painel "Selection Toolbar" selecionar o ícone mais à direita ("Selecionar por localização", atenção que este ícone não aparece se o módulo de "Processing" estiver desativado, esse módulo é desativado automaticamente quando se arranca o QGIS a seguir a uma operação que originou um crash do QGIS enquanto um algoritmo do módulo "Processing" estava a ser executado, isso é um problema que é frequente acontecer). Na janela de "Selecionar por localização" escolher:
    1. Selecionar elementos de: ED02
    2. Where the features (geometric predicate)": intersecta
    3. Ao comparar com os elementos de: Nespereira

    O resultado é que esses elementos ficam selecionados, a seguir copiar e colar como uma nova camada temporária chamada "EDN01" que deve ter 2715 itens, guardar essa camada no geopackage "cinfaes-camadas.gpkg" numa camada com o mesmo nome

  5. Criar uma camada tampão sobre EDN01 com 25 metros e agregada num único item: menu "Vetor / Ferramentas de geoprocessamento / Buffer..." (nalgumas versões do QGIS aparece "Contorno exterior"), escolhendo:
    1. Camada de entrada: EDN01
    2. Distância: 25 metros
    3. Ativar a checkbox "Resultado da agregação"

    Resulta num único elemento, mudar o nome da camada resultante de "Buffered" para "BUFF01", torná-la semi-transparente (duplo click sobre o nome da camada / Simbologia / Opacidade), de modo a poder ver-se simultanemante a camada "EDN01" e a camada "BUFF01"

  6. Só para testar, fazer o mesmo mas desta vez sem ativar a checkbox "Resultado da agregação", comparar o resultado, agora temos 2715 itens em vez de 1, apagar esta camada acabada de criar com 2715 itens
  7. Unir áreas com uso urbano estabilizado:
    1. Juntar as 5 camadas vetoriais "campo_jogos, deposito, equipame, piscina, zverde" usando o menu "Vetor / Ferramentas de gestão de dados / Juntar camadas vetoriais...", nas "Camadas de entrada" clicar nas reticências e selecionar o nome das 5 camadas, voltar para trás clicando na seta azul que aparece no topo à esquerda, mandar "Executar" e deve dar a camada "Juntado" com 323 itens
    2. Agregar / Dissolver os itens da camada "Juntado" usando o menu "Vetor / Ferramentas de geoprocessamento / Dissolver...", isto cria a camada "Dissolvido" com obviamente 1 único elemento (um multi polígono)
    3. Na camada "Dissolvido" converter esse multi polígono usando o menu "Vetor / Ferramentas de geometria / Múltiplas partes para partes únicas..." criando a camada "PartesSimplesCinfaes".
      NOTA: este algoritmo pega numa camada vetorial com geometrias multi-partes e gera uma nova camada vetorial na qual todas as geometrias contêm uma parte única. Os elementos com geometrias multi-parte são divididos em tantos elementos diferentes quantas as partes que a geometria contém, e são utilizados os mesmos atributos para cada um deles. Neste caso o resultado são 254 itens (polígonos simples).
      NOTA importante: ao se tentar gravar numa geopackage essa camada "PartesSimplesCinfaes" irá dar erro devido a ter IDs repetidos ("Erro ao criar elemento ... UNIQUE constraint failed: ..."), quando isso acontecer a solução é voltar a tentar, só que desta vez não gravando o "fid" (isto é, nas opções da camada apagar o nome "fid"), irá aparecer uma mensagem a perguntar se se quer "Substituir ficheiro" / "Substituir camada" / "Anexar à camada", deve-se escolher "Substituir camada" desta forma substituindo a camada que apesar do erro tinha sido criada (apesar de mal) no geopackage. Este erro aparece sempre que ao se criar a camada se fez uma operação que originou linhas com o "fid" duplicado.
    4. Intersetar "PartesSimplesCinfaes" com Nespereira (menu "Vetor / Ferramentas de geoprocessamento / Interseção..."), depois de executar mudar o nome da camada para "USOURB01", deve dar 13 itens (mais uma vez aqui só se consegue gravar esta camada numa geopackage se não se tentar gravar o "fid")
      NOTA: este algoritmo interseta 2 camadas e é simétrico, tanto faz intersetar a camada "PartesSimplesCinfaes" com a camada "Nespereira" como fazê-lo na ordem inversa
Resultado da Parte 2a

Arquivo com o resultado da Parte 2a, o projeto e os dados: Cinfaes_Nespereira-20211105.zip (104 MB)

Tempo de execução (quando se tenta repetir pela segunda vez): cerca de FIXME minutos

Vídeo com a resolução do exercício: [FIXME FIXME.wmv] (FIXME minutos e FIXME segundos, FIXME MB)

Parte 2b: Áreas edificadas consolidadas e em consolidação de Nespereira (fim)

  1. Reabrir o projeto ou usar o arquivo ZIP Cinfaes_Nespereira-20211105.zip com o resultado da Fase 2a.
  2. Unir áreas de uso urbano com buffer do edificado maior que 30 m2 separado de um máximo de 50 m:
    1. Adicionar à camada "USOURB01 o campo "area_usourbano" com "$area" (usar o tipo de campo de saída número decimal (real))
    2. Juntar as camadas vetoriais "USOURB01" e "BUFF01" (menu "Vetor / ferramentas de gestão de dados / Juntar camadas vetoriais...") de modo a criar a camada "USOURB02"
  3. Agregar / Dissolver (menu "Vetor / Ferramentas de geoprocessamento / Dissolver...") os elementos da camada "USOURB02" criando a camada "Agregado_USOURB02" com um único elemento
  4. Eliminar buracos em "Agregado_USOURB02" com dimensão inferior a 5000 m2 (menu "Processamento / Ferramentas de processamento / Geometria vetorial / Eliminar buracos") criando a camada "Limpo_buracos5000"
  5. Separar os agregados não unidos da camada "Limpo_buracos5000" usando o algoritmo Múltiplas partes para partes únicas (menu "Vetor / Ferramentas de geometria / Múltiplas partes para partes únicas..."), deve dar 207 elementos, mudar o nome para "BUFF02"
  6. Na camada "BUFF02" atualizar os campos id e area_m2 (no campo "id" colocar "$id" e no campo "area_m2" colocar "$area") e apagar os demais atributos e mudar o nome para "BUFF02_camposOK"
  7. Mostrar o conteúdo de "BUFF02_camposOK" com cores diferentes de acordo com o ID: duplo click, simbologia, categorizado pelo campo "id", classificar (aqui a parte visual é importante)
  8. Associar o id dos polígonos de "BUFF02_camposOK" ao edificado "EDN01", algoritmo juntar atributos por localização (EDN01, BUFF02_camposOK, id), tem de se adicionar os atributos do BUFF02_camposOK ao EDN01 pelo que o EDN01 tem de ser a Camada base e o BUFF02_camposOK tem de ser o Join Layer, o predicado geométrico é intersecta, só juntar o campo "id" (depois usar o click da "informação do objeto" para verificar que em cada mancha as casas ficaram com o mesmo "id_2"), criando assim a camada "EDN02"
  9. Criar um polígono ao redor do edificado associado a cada unidade do "EDN02" usando o algoritmo Envoltória côncava (vizinho k mais próximo): camada de entrada EDN02, número de pontos na vizinhança a considerar 3, campo id_2. Demora cerca de 1 min e 10s (o tempo depende da capacidade de processamento do computador), mudar o nome da camada para "EnvoltoriaConcava"
Resultado da Parte 2b

Ficheiros com o resultado:

  • [FIXME FIXME] (FIXME, FIXME MB)

Arquivo com o resultado, o projeto e os dados: [FIXME FIXME.zip] (FIXME MB)

Estrutura do arquivo FIXME.zip:

  • FIXME

Tempo de execução (quando se tenta repetir pela segunda vez): cerca de FIXME minutos

Vídeo com a resolução do exercício: [FIXME FIXME.wmv] (FIXME minutos e FIXME segundos, FIXME MB)

<-- Voltar à página hierarquicamente anterior