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.

Categorias
Tutoriais

Calcular medidas sintáticas através do Depthmap

Visão geral

O processo de calcular as medidas sintáticas no Depthmap é relativamente simples. Em linhas gerais, é preciso importar um mapa axial em DXF (Autocad), transformá-lo em Mapa Axial, definir, se for o caso, os pontos em que as linhas se cruzam mas não devem estar conectadas, e rodar a análise.

Para instalar o Depthmap, acesse esta página e baixe a versão desejada. Nossa recomendação é que seja utilizada a versão X[Net], porque ela pode ser usada também em conjunto com o QGIS (em breve em novo tutorial). No momento que escrevo este tutorial, a versão X[Net] pode ser encontrada no link 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]

Cálculo das medidas axiais

1. No CAD, exportar linhas axiais em dxf, ou baixar um mapa axial já pronto como aqueles disponíveis neste repositório;

2. No Depthmap, criar um novo projeto: File > New;

3. Importar o DXF: Map > Import…;

4. Converter para Mapa Axial: Map > convert Drawing Map – New Map Type: Axial Map (o resultado deve ser o mapa colorido de acordo com a conectividade);

Depthmap - 01

5. Se houver unlinks (pontos em que as linhas se cruzam mas não deve haver conectividade, interromper processo aqui e continuar depois de executar as instruções do item “Criação dos unlinks”, abaixo);

6. Rodar a análise sintática: Tools > Axial / Convex Pesh > Run Graph Analysis;

Depthmap - 03

7. Selecionar Radius: n,3 (e outros, conforme desejar);

8. Marcar caixa “Include Choice (betweenness)”;

9. OK;

10. As medidas serão calculadas (dependendo do tamanho do sistema, pode demorar um pouco) e apresentadas em uma lista à esquerda. Clicando em cada medida, o mapa será atualizado.

Depthmap - 04

Criação dos unlinks

Em alguns mapas, há pontos em que as linhas axiais se cruzam mas não deve haver conectividade, tais como viadutos, túneis, etc. Nesse caso, é preciso indicar ao Deptmap quais são esses pontos. Para isso:

1. Clicar na Ferramenta unLink, que fica à direita da barra de ferramentas. O botão deve mostrar dois quadrados, sendo um deles vermelho. Caso esteja mostrando o quadrado verde, clique na setinha à direita e selecione o comando unLink.

Depthmap - 05

2. Clicar nas duas linhas axiais que devem ser desconectadas. Uma circunferência como as da imagem abaixo deve aparecer em cada intersecção desconectada. Para certificar-se de que funcionou, selecione a ferramenta de Seleção (uma seta branca) para sair do modo unLink e passe o cursor sobre a linha para verificar seu novo valor de conectividade.

Depthmap - 02

Medidas baseadas em segmentos

O mapa de segmentos é um tipo de representação mais recente na Teoria da Sintaxe Espacial, e sua forma padrão combina as seguintes propriedades:

  • Distância angular entre segmentos, isto é, a distância é dada de acordo com o ângulo que segmentos adjacentes formam entre si: a ângulos suaves são atribuídas distâncias pequenas ou próximas de zero (simulando o comportamento da linha axial); a ângulos mais agudos, são atribuídas distâncias maiores.
  • Raios métricos, isto é, as medidas que consideram apenas a localização dentro de um raio especificado são obtidas com raios métricos (e não topológicos, como é o caso dos mapas axiais).

Para fazer um mapa de segmentos no Depthmap, é preciso já ter realizado o mapa axial, conforme descrito acima. Depois disso, é só seguir os passos abaixo.

1. Transformar o Mapa Axial em Mapa de Segmentos: Map > Convert Active Map;

2. Selecionar New Map Type: Segment Map;

Depthmap - 06

3. Se quiser manter as medidas sintáticas obtidas no Mapa Axial, marcar a caixa de seleção “Copy attributes to new map”;

4. A opção “Remove axial stubs less than” permite remover automaticamente aquelas partes das linhas axiais que fazem a sobreposição do cruzamento (muito útil para a etapa de desenho e checagem das linhas axiais no CAD). Bill Hillier defende o valor de 40% para esse parâmetro. A versão original do Depthmap usava 25%. Provavelmente qualquer valor dentro desses limites esteja ok, mas é bom checar o resultado, especialmente pequenas ruas sem saída que podem ser eliminadas incorretamente.

5. Calcular as medidas sintáticas: Tools > Segment > Run Angular Segment Analysis…

6. Na caixa de diálogo que se abre, selecione os parâmetros como na imagem abaixo. Os raios podem ser adaptados conforme os objetivos da análise e preferências da analista. A grosso modo, um raio de 400m equivale a 5 minutos de caminhada.

Depthmap - 07

7. Ok.

8. O processamento pode demorar um pouco, dependendo do tamanho do sistema. O resultado deve ser como o da imagem abaixo, com as medidas baseadas em segmento precedidas pelo texto “T1024”. Da mesma forma como no mapa axial, clicando em cada medida é possível visualizar seu mapa.

Depthmap - 08