Categorias
Tutoriais

Calcular medidas configuracionais usando o QGIS + plugin Space Syntax Toolkit

Outra opção para a realização de análises sintáticas, além de fazê-la diretamente no Depthmap, é o plugin Space Syntax Toolkit, que permite realizá-las diretamente no QGIS, facilitando enormemente o processo incorporação dos resultados a um projeto de SIG. Isso, por sua vez, facilita a integração dessas informações com outros aspectos relevantes para a análise que está sendo feita, tais como o parcelamento do solo, a topografia e os usos do solo, entre muitos outros aspectos.

Instalando os softwares necessários

Para instalar o Depthmap, acesse esta página e baixe a versão X[Net], porque sem ela o plugin não funcionará corretamente. No momento que escrevo este tutorial, ela pode ser encontrada no link acima com o nome  “depthmapX-0.30-Windows.zip”. Basta fazer o download e descompactar o conteúdo para uma pasta no seu HD. Em seguida, clique duas vezes sobre o arquivo “depthmapX.exe”. Para verificar se é a versão correta, veja se DepthmapX[net] aparece em uma tela como essa:

DepthmapX[net]

Para a instalação do plugin, vá até o menu “Complementos” do QGIS e selecione “Gerenciar e Instalar complementos”. Com a opção “Tudo” selecionada na coluna da esquerda, digite “Space Syntax” na caixa de busca e depois clique no resultado (Space Syntax Toolkit). Em seguida, clique em “Instalar”.

Preparando os dados de entrada

Mapa axial

O primeiro passo é importar o arquivo dxf contendo o mapa axial. Isso é feito arrastando o arquivo para o painel de camadas, ou encontrando-o no disco usando o painel “Navegador” e clicando duas vezes sobre ele.

Com o mapa em DXF carregado, é preciso convertê-lo em um formato que o QGIS possa manipular. Para este tutorial, vamos considerar o shapefile, mas é possível salvar em Spatialite ou PostGIS também. A vantagem destes últimos é que o processo de verificação do mapa e de cálculo das medidas é mais rápido. Além disso, os nomes das colunas não precisam obedecer ao limite imposto pelo shapefile, e portanto ficam muito mais legíveis e amigáveis. Por outro lado, são formatos um pouco mais complicados para os iniciantes, pois lidam com bancos de dados espaciais.

Para fazer a conversão, clicar com a direita sobre o nome do layer dxf > Salvar como > Shapefile (ou Esri Shapefile, dependendo da versão do QGIS). Não esquecer de indicar a projeção cartográfica correta. Este tutorial assume que já há uma certa familiaridade com o SIG e o QGIS, e que portanto essa questão não deve ser um grande problema. Para maiores informações sobre projeções, veja a seção Projeções ao final deste tutorial.

Unlinks

Agora precisamos dizer ao QGIS (ou melhor, ao plugin), quais intersecções devem ser desconsideradas (como seria o caso, por exemplo, de um viaduto em que as linhas se cruzam no desenho mas não na realidade). Isso pode ser feito de várias maneiras, mas a mais prática é criar um novo arquivo DXF composto apenas por linhas que cruzam as duas linhas axiais que devem ser desconectadas. Esse arquivo deve ser importado para o QGIS da mesma maneira que o mapa axial descrito acima.

A imagem abaixo mostra um detalhe de um mapa axial e os unlinks. No caso, trata-se de um viaduto com pista dupla que cruza por cima de uma avenida também de pista dupla. As retas em vermelho são os unlinks. Cada uma cruza duas linhas axiais que não devem ser consideradas conectadas para as análises sintáticas.

screenshot-21_12_2016-14_33_29

Como esse arquivo costuma sofrer menos modificações, mesmo que o mapa axial seja aprimorado com o tempo, é possível deixá-lo salvo no disco e reaproveitá-lo em outras análises com versões mais recentes dos mapas axiais, se necessário.

Verificando o mapa

Mapa axial

Uma das principais e mais valiosas funcionalidades do plugin é a de analisar o mapa axial em busca de erros. Para fazer isso, clicar no botão Graph Analysis criado pelo plugin. Isso abrirá uma caixa de diálogo, onde o layer contendo o mapa axial deverá ser definido. Em seguida, clicar em “Verify”.

screenshot-21_12_2016-14_46_26

Dependendo do tamanho do sistema, essa análise pode demorar bastante, mas vale cada segundo. Ao final, o plugin indicará as linhas que estão desconectadas, duplicadas e as “ilhas” isoladas do resto do conjunto, bem como alguns outros tipos de erros menos comuns. Com relação às linhas desconectadas, ele indica situações em que duas linhas quase se encontram mas não o fazem. Muitas vezes isso significa um erro na elaboração do mapa, mas nem sempre. Clicando sobre o erro na lista que é gerada, é possível verificar o mapa através de um zoom e decidir se é um erro que deve ser corrigido ou se o mapa está correto.

Após a correção de todos os erros, o mapa deve ser importado novamente em sua versão correta.

Unlinks

Verificar os unlinks, que costumam gerar muito menos erros, é mais simples. Para a primeira vez que esse procedimento for feito, clicar em “Update IDs” na aba “Unlinks”. Isso gerará a informação, na camada de unlinks, sobre quais linhas devem ser consideradas desconectadas.

Em seguida, clicar em “Verify”. Caso haja algum erro (por exemplo, um traço dos unlinks que só cruza uma linha), eles será indicado na lista abaixo. Se o resultado for “No problems found!”, então o mapa está pronto para ser analisado.

Rodando a análise por linhas axiais

Voltando à aba “Map”, clicar na “sub-aba” “depthmapX Remote”, mais abaixo. Manter a opção “Axial” selecionada em, em “Radius”, digitar “n, 3” (sem as aspas).

Em “Output table”, o plugin sugere que o nome do novo layer seja o mesmo do mapa axial, isto é, ele irá atualizar os valores mantendo o mesmo shapefile. Se preferir, dê um novo nome (costuma ser recomendável fazer isso, para o caso de dar algum erro).

Antes de iniciar a análise, o Depthmap XNet deve ser inicializado. Depois que carregar, você pode voltar ao QGIS e deixá-lo ali quieto.

Clicar em “Calculate”.

screenshot-21_12_2016-15_03_34

Dependendo do tamanho do mapa, essa etapa pode demorar bastante. Para Florianópolis, por exemplo, com 24600 linhas axiais, demora aproximadamente 50 minutos.

Rodando a análise por segmentos

Voltando à aba “Map”, clicar na “sub-aba” “depthmapX Remote”, mais abaixo. Selecionar a opção “Segment”. Em “Radius”, digitar “n, 1500, 5000” (sem as aspas). Note que, nas análises por segmento, os raios devem ser definidos em metros. Assim, adapte para os raios que desejar, sempre lembrando de separá-los por vírgulas.

Em “Output table”, o plugin sugere automaticamente um novo nome para o layer a ser criado. Se preferir, defina um nome diferente.

Antes de iniciar a análise, o Depthmap XNet deve ser inicializado. Depois que carregar, você pode voltar ao QGIS e deixá-lo ali quieto.

As configurações podem ser vistas clicando no botão “Settings”, e podem ser deixadas em seus valores padrão.

screenshot-21_12_2016-15_07_41

Clicar em “Calculate”.

Visualizando os mapas sintáticos

Se tudo deu certo, os valores sintáticos estão devidamente incorporados aos shapes, seja de linhas axiais ou de segmentos. Para fazer os mapas, feche a caixa de diálogo “Graph Analysis” e abra a segunda ferramenta do plugin, “Attributes Explorer”. Na nova caixa de diálogo, em “Select layer to explore…”, selecione o layer que acabou de ser criado ou atualizado com as medidas sintáticas.

A caixa abaixo mostrará, após alguns segundos (pode demorar um pouco), a lista de medidas sintáticas. Selecione, por exemplo, a Int para visualizar a Integração global (Raio n). O mapa será automaticamente colorido segundo a escala padrão de cores da Sintaxe. Qualquer modificação desejada pode ser feita na parte inferior do painel, mas as modificações só surtirão efeito após clicar em “Apply Symbology”.

screenshot-21_12_2016-15_16_32

Caso queira fazer vários mapas com várias medidas diferentes, é só inserir várias vezes o mesmo layer e fazer o mesmo procedimento para cada um deles, selecionando medidas diferentes na caixa “Attributes Explorer”.

Noções rudimentares de sistemas de coordenadas e projeções cartográficas

Um sistema de coordenadas é um mecanismo utilizado por cartógrafos para localizar um ponto na superfície terrestre. Eles são divididos, a grosso modo, em dois tipos: o primeiro é chamado de coordenadas geográficas (estou adotando a nomenclatura utilizada pelo QGIS) e usa coordenadas angulares (latitude e longitude), e o segundo é chamado de coordenadas projetadas, pois usa coordenadas projetadas no plano. Este último é o mais importante para os nossos propósitos, pois permite a medição de áreas e distâncias com maior facilidade.

Para fins práticos, a lógica geral de uso e definição do sistema de coordenadas dentro do QGIS é a seguinte:

  • Identificar o sistema de coordenadas sob o qual os dados originais foram elaborados;
  • Carregá-lo para um arquivo em branco com o sistema de coordenadas correto e salvá-lo em shapefile com a projeção correta;
  • Converter para um novo arquivo com a projeção desejada.

O primeiro passo é o que costuma ser mais difícil, porque usualmente conseguimos dados sem documentação adequada que nos indique qual o sistema de coordenadas utilizado. Algumas dicas podem ajudar:

  • Para mapas cadastrais elaborados por prefeituras, normalmente essa informação está contida no selo da prancha;
  • Caso os dados não venham em pranchas ou estas não tenham essa informação, o mais provável é que esteja sendo utilizado o sistema UTM sirgas 2000, que é o padrão para o Brasil;
  • Aqui há uma imagem com as faixas UTM para a América do Sul (notar que o QGIS só diferencia entre Norte (N) e Sul (S), e portanto as letras que constam na imagem podem ser ignoradas)
  • Para Santa Catarina, mapas em escalas compatíveis com o cadastro técnico (até 1:10.000, digamos) provavelmente estarão em UMT 22S sirgas 2000 (EPSG 31982), a não ser que sejam antigos (ver ponto abaixo);
  • Caso os dados sejam mais antigos (antes de 2005, digamos), é bem possível que ele esteja em UTM SAD 69 (EPSG 29192), que era o padrão anterior ao sirgas 2000.
  • Dados gerados a partir do Google Maps ou do OpenStreetMap costumam usar um sistema de projeção baseado no WGS84; no QGIS, você pode selecionar o EPSG 3857.
  • Se, ao inserir o arquivo dxf com o sistema de coordenadas desconhecido, você mover o cursor e reparar que as medidas estão em graus e minutos, isso significa que o sistema de coordenadas é geográfico, e não projetado (plano).

Uma vez definida a hipótese mais provável, defina a projeção do seu arquivo em branco para esse sistema de coordenadas, indo em Projeto > Propriedades do Projeto > SRC. Habilitar a transformação “on the fly” e digitar o nome da projeção desejada na caixa “Filtro”; em seguida, selecionar a projeção e clicar em Ok.

screenshot-22_12_2016-12_03_06

Após a importação do arquivo DXF para dentro do projeto com o provável SRC, clique sobre o nome da camada > Salvar como… e salve um shapefile com o SRC desejado. Mesmo que este seja o mesmo do arquivo original, é bom salvar uma cópia já com o registro do SRC, para que você não precise indicá-lo para o QGIS toda hora que for usar o arquivo.

Em seguida, crie um novo arquivo em branco e inclua um shapefile que você já conhece e usa, ou que pretenda cruzar com os dados provenientes do DXF, e examine o alinhamento entre eles. Se houver muita diferença, é provável que a hipótese sobre o SRC original tenha sido incorreta e o processo deve ser reiniciado.

10 respostas em “Calcular medidas configuracionais usando o QGIS + plugin Space Syntax Toolkit”

Olá Renato,

Obrigada por disponibilizar.
No entanto, quando salvo o .dxf com .shp, indico o sistema de coordenadas, mas o layer não aparece na caixa “layer” da janela de “Graph Analysis”.
Do mesmo modo, nenhuma das funicionalidades do Depthmap X remote estão habilitadas.

Alguma ideia do que posso estar fazendo errado?
Grata.

Olá! Mas o layer aparece na lista de camadas à esquerda? Se não, você precisa inseri-lo usando o navegador, também à esquerda, e arrastando o shapefile para a lista de camadas. Outra opção é, no momento de converter para Shapefile, habilitar uma opção que faz com que ele carregue automaticamente o shape criado. Antigamente ela vinha habilitada por padrão, mas nas últimas versões do QGIs isso não tem acontecido mais.

O DepthmapX não habilita mesmo as funções, ele apenas é acessado de maneira “invisível” pelo QGIS.

Oi Renato! Primeiramente, obrigada pelo tutorial. Ele está sendo muito útil e preencheu algumas lacunas do meu entendimento do porquê minha análise não esta obtendo sucesso. Ainda assim, gostaria de uma informação específica sobre a tabela de atributos do shapefile de unlinks. Você sabe se é possível, ao invés de uma coluna para linha 1 e outra para linha 2 (aquelas das quais o unlink está desconectando) podem ser substituídas por coluna X e coluna Y ? Por que, neste caso, uma vez que o QGIS gera essas informações automaticamente quando você possui uma layer de pontos, isso otimizaria muito o trabalho num mapa mais extenso.

Agradeço desde já

Olá!
Não sei se entendi bem sua dúvida. Por que você precisaria dessas colunas? As duas colunas linha 1 e linha 2 já são tudo que o QGIS necessita para saber quais linhas desconectar, e elas são calculadas automaticamente pelo plugin Space Syntax Toolkit. Então, em qualquer mapa o trabalho é apenas de criar uma camada para indicar quais intersecções devem ser ignoradas. Essa camada pode ser de pontos (nas intersecções) ou de linhas (cruzando as duas linhas cuja intersecção deve ser ignorada). A partir disso, o plugin identifica essas linhas e leva isso em consideração quando for calcular as medidas sintáticas.

Se não era essa sua dúvida, fale um pouco mais sobre ela.

É só importar para dentro do QGIS. Entretanto, é necessário certificar-se de que :
1. O arquivo DXF esteja posicionado nas coordenadas corretas, para o QGIS saber onde posicioná-lo; e
2. Você indique para o QGIS qual é o sistema de coordenadas usado no arquivo, para o QGIS saber como interpretar os números. Por exemplo, se o DXF estiver em UTM sirgas, você precisa indicar isso para o QGIS, bem como dizer em qual faixa da UTM sua cidade se encontra.

Olá!
Primeiramente, gostaria de agradecer pelo valioso conteúdo disponibilizado.
Minha dúvida é a seguinte:
Quando clico em “calculate” aparece a mensagem “Erro Python”. Apesar de rodar o cálculo, posteriormente, eu não consigo fazer as análises configuracionais. Primeiro, porque não aparecem para mim todas as opções de medidas sintáticas. Segundo, porque as poucas que aparecem (ex: escrito apenas “INT” ou “CON”) quando eu clico sobre elas, não alteram a cor do mapa, tudo permanece como estava.
Você saberia me dizer o que é esse “Erro Python”?
Agradeço desde já.
Att,
Lídia

Olá!
Primeiro, acho que é importante atualizar a versão do plugin, se houver alguma disponível. Acho que a última atualização resolveu alguns desses problemas. Se ainda assim não funcionar, você pode postar aqui a mensagem de erro inteira? Talvez ali haja alguma pista mais específica sobre o problema.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *