Simulador da dinâmica espacial com representação em
Transcrição
Simulador da dinâmica espacial com representação em
Simulador da dinâmica espacial com representação em um ambiente SIG JULIANO CHAVES GRANERO1 MAURÍCIO COUTO POLIDORI2 1 UCPEL – Universidade Católica de Pelotas, Rua Félix da Cunha, 412, Pelotas, RS, Brasil [email protected] 2 UFPEL – Universidade Federal de Pelotas, Pelotas, RS, Brasil [email protected] Abstract. This paper describes the concept and implementation of a spatial analysis model of urban growth based in spatial interactions and proximity measures. The process aims at building a system that is able to simulate urban evolution using a Geographic Information System (GIS) representation and integrating urban and ambiental elements. As the means to bring this model to life, Graph theory, Cellular Automata and Object Oriented development techniques are extensibly used. 1 Introdução Uma das características marcantes nas geotecnologias é a possibilidade de aplicação em múltiplos campos da ciência, facilitando sua integração e a operacionalização de estudos e investigações científicas. Nesse caminho, este artigo apresenta elementos de um modelo de crescimento urbano que reúne saberes das ciências sociais (particularmente no campo da morfologia urbana), das ciências ambientais (no campo da ecologia de paisagem) e das ciências da computação (no campo da programação orientada a objetos), integradas num ambiente de SIG – sistema de informações geográficas. 2 Modelo Conceitual O modelo conceitual vem sendo desenvolvido por Polidori [1], com vistas à investigação de relações entre forma, crescimento e sustentabilidade urbana. Os estudos pretendem simulações de crescimento urbano integrando modelos de produção espacial anteriormente propostos por Krafta [2] [3] às possibilidades dinâmicas dos autômatos celulares (AC), assumindo a possibilidade de compreensão do fenômeno urbano mediante teorias de complexidade e de autoorganização. Embora a cidade venha sendo reconhecida como um fenômeno dinâmico, com transformações permanentes e com resultados instáveis, no mesmo sentido que sugere Portugali [4], há efetiva dificuldade de aproximar teorias e práticas dessa dimensão. Como está em Torrens [5], para trabalhar com a mudança, é preciso apreender os processos que a provocam e capturar os fatores que a condicionam ou a determinam, produzindo conhecimento sobre os modos como a cidade muda, as regras subjacentes às mudanças e os padrões que emergem de cada situação. Desde os pioneiros trabalhos de Martin, March e Echenique [6], modelagem urbana tem sido usada satisfatoriamente para representar a cidade de modo simplificado, facilitando a compreensão de determinados aspectos e suas relações com o conjunto. Ao tratar de crescimento urbano, interessa representar o processo de produção espacial, convertendo solo não urbanizado em urbanizado e acrescentando (ou substituindo) edificações, capturando fisicamente o processo de evolução urbana. Uma vez capturado e reproduzido artificialmente esse processo, exercícios de simulação podem ser realizados, tal como apontam Krafta [7] e Axelrod [8], auxiliando na construção de teorias sobre como ocorre o crescimento urbano e suas relações com o ambiente, bem como aproximações com situações reais podem vir a ser divisadas. Estudos de morfologia urbana têm representado satisfatoriamente a cidade pelo espaço construído, através de métodos de diferenciação capazes de descrever e de medir o desempenho de um determinado estado da cidade num determinado tempo, considerando as formas construídas e suas conexões através dos espaços abertos ou públicos, como vêm sendo comprovado por Krafta [2] e pesquisadores associados. Nessa direção, a estrutura urbana pode ser representada por diferentes graus de centralidade, cujos valores estão correlacionados com vários indicadores de atividade do sistema urbano, como presença de pedestres, fluxo de veículos e concentração de atividades comerciais, podendo ser tomada como um indicador de qualificação locacional, de modo convergente com os estudos de Teklemberg, Timmermans e Borges [9]. Centralidade é uma medida morfológica de diferenciação espacial, gerada por tensões entre unidades de forma construída alocadas em parcelas espaciais discretas e conectadas pelo tecido urbano, sendo considerada mais central a parcela que participa com maior intensidade da rota de ligação mais eficaz entre 17 cada um dos espaços com todos os outros, considerando caminhos preferenciais e atritos de percurso. Deste modo, o espaço urbano pode ser representado e diferenciado de maneira sintética e operacional, através das formas construídas, de suas conectividades e da medida de centralidade. Uma vez considerada a centralidade como uma possível expressão de diferenciação espacial, capaz de transcrever vantagens locacionais, podem ser derivados vetores de transformação e de produção de novos espaços urbanos, assumindo que a medida de centralidade pode conter uma implícita descrição do potencial de mudança, como enunciado por Krafta [2]. A produção do espaço urbano é então assumida como a expressão da busca de maximização de renda, o que é potencializado por vantagens locacionais. Todavia, essa busca não implica simplesmente na eleição dos locais de maior centralidade, pois é esperada para esses locais uma coincidência com os maiores valores de aquisição de solo para construir, o que induz a busca permanente por novas localizações. Como sugere Harvey [10], vantagens locacionais poderiam ser consideradas como inovações tecnológicas, transformando-se em possibilidade de lucro excedente; deste modo, os produtores urbanos procedem de modo semelhante aos demais produtores no mercado capitalista, buscando permanentemente inovações tecnológicas, dentre as quais estão as inovações ou invenções de localização. Como essas descobertas locacionais são prontamente seguidas pelos demais competidores, o processo torna-se iterativo, permanente e complexo, pois as vantagens iniciais tendem a desaparecer com a dinâmica urbana. Sendo assim, maiores potenciais de mudança se concentram onde houver maior diferença entre valores de centralidade entre um lugar e seu entorno, juntando vantagens de localização com menor custo do solo, de modo a reproduzir a referida “invenção de localização” e a conseqüente maximização de renda. Estudos de ecologia de paisagem vêm absorvendo conceitos de acessibilidade e desenvolvendo modelos derivados das experiências com o espaço urbano, aplicando técnicas de resistência mínima acumulada, como está em Yu [11], utilizando operações semelhantes às usadas em modelos dedicados ao espaço urbanizado, o que pode ser resumido como resistência espacial. Em caminho semelhante estão trabalhos dedicados a avaliar paisagens para a conservação ambiental, como mostra Spellberg [12], indicando um gradiente de valor ecológico e de impacto de atividades para diferentes usos do solo. Noutras palavras, o espaço que intermedeia tensões de crescimento urbano exerce papel de restritor ou facilitador, participando ativamente do sistema. Na interface do urbanismo com a ecologia, decerto com influência da discussão sobre limites de crescimento, a qual inclui desde as anotações de Meadows et al. [13] até as recentes revisões de Cole e Masini [14], ocorrem descrições sobre problemas decorrentes da exaustão dos recursos naturais e ocasionados pela superação da capacidade da infra-estrutura instalada na cidade. Em ambos os casos, a idéia parece confluir para a impossibilidade do crescimento ilimitado, o que implica na existência de limiares naturais e tecnológicos semelhantes aos encontrados por Breheny [15], cuja superação pode estar associada à presença de problemas ambientais. Os limiares podem ser representados por um teto limite de urbanização, à semelhança dos coeficientes de aproveitamento do solo utilizados em planos urbanos. Como apontam Torrens e O’Sullivan [16], conceitos e técnicas de AC estendido às demandas da cidade e às intenções dos pesquisadores urbanos têm oferecido um ambiente com chances para operacionalizar essa convergência entre a possibilidade de modelar o ambiente urbanizado e o não urbanizado por diferenciação morfológica, por resistência espacial e por análise de limiares. Ehlen, Caldwell e Harding [17] registram, inclusive, que essas chances vêm sendo maximizadas pelas possibilidades dinâmicas dos autômatos celulares, pela sua capacidade de capturar processos derivados da vizinhança espacial, pela natural compatibilidade com os grids usados em SIG, pela crescente disponibilidade de imagens de satélite e pela popularização de conhecimentos em geocomputação. Sendo assim, ACs como os pretendidos aqui poderiam ser chamados mais apropriadamente de CS – cell-space, como está em Batty, Couclelis e Eichen [18], ou simplesmente de modelos celulares. Especialmente através dos trabalhos de O’Sullivan [19], modelos com técnicas de grafos e AC integrados têm conseguido superar a tradicional deficiência desses modelos de trabalharem em múltiplas escalas, quando usados separadamente. Enquanto grafos permitem apreensões da estrutura geral (ou na escala global) de um sistema, ACs têm origem nas relações de vizinhança (ou na escala local), podendo implicar na emergência de padrões globais. O artifício de integração permite utilizar medidas de centralidade e potencial no ambiente celular, bem como dar operacionalidade às resistências naturais e antrópicas à urbanização, engendrando um modelo híbrido de produção espacial. Em resumo, é possível então assumir a cidade como um campo de oportunidades de obtenção de renda, mediadas pelo espaço, o qual é composto integradamente por atributos urbanos e ambientais, que funcionam como atratores ou como resistências para o crescimento urbano. A configuração espacial e a distribuição desses atributos geram tensões que diferenciam o espaço qualitativa e quantitativamente – através da medida de centralidade (construída com o apoio de técnicas de grafos), vindo a provocar 18 crescimento em lugares com maior potencial de desenvolvimento (determinado com a ajuda de técnicas de AC). Crescimentos acima de determinados limiares são considerados problemas ambientais, gerados e superados no mesmo processo de produção do espaço urbano. Iterações desse processo oferecem um comportamento dinâmico ao sistema, posto que a realização dos potenciais implica em novos valores de centralidade e assim sucessivamente. vizinhança celular do tipo Moore (9 vizinhos) como os arcos de um grafo, conforme pode ser visto na figura 1. Cada célula desta nova configuração é chamada de célulanodo. Figura 1. Representação em grafos de um ambiente celular. 3 Modelo Computacional No caminho de tornar operacional o modelo de crescimento urbano tratado anteriormente, foram estudadas técnicas e projetados ou reproduzidos algoritmos característicos de sistemas baseados em autômatos celulares e grafos, constituindo-se o modelo do esforço conjugado destas duas técnicas, implementadas em um ambiente SIG. O desenvolvimento do sistema pode, portanto, ser divido em duas etapas, sendo a primeira dedicada a resolver as questões apresentadas pelo modelo conceitual e a segunda responsável por encontrar uma solução para a entrada de dados e representação dos resultados. Autômatos Celulares Segundo Wolfram [20], “autômatos celulares são modelos matemáticos para sistemas nos quais componentes simples interagem produzindo padrões de comportamento complexos”. Esta definição se adapta ao caso aqui apresentado, uma vez que cada célula pode ser dita um componente simples que interage com suas vizinhas gerando padrões de evolução e configuração urbana complexos. Por se tratar de um ambiente de duas dimensões, a aplicação de AC bidimensionais para representação ambiental é bastante apropriada. Neste contexto, os autômatos têm o intuito de implementar as relações de proximidade (análise de buffers) utilizadas no processo de crescimento proposto. Deste modo, o modelo pode ser resolvido numa malha de duas dimensões (n x m) finita e composta por células de mesmo tamanho, onde a interação entre as células permite a implementação do descritor de centralidade e da medida de potencial, que cumprem com o papel de regras de transição imersas em conteúdo teórico, permitido instaurar uma dinâmica de crescimento típica de AC e informada pela teoria da urbanização. Grafos No sentido de representar as relações de interação ou tensão espacial entre as células, é necessário que esta estrutura seja convertida em um grafo. Isto se torna possível na medida em que se encara cada célula como um vértice e a A partir desta representação é possível aplicar um método de busca heurística em grafos para processar as relações de interação espacial propostas. Neste caso específico, foi empregado o algoritmo de busca heurística A*, cujo funcionamento será visto em seguida. Sistema ArcView GIS Devido ao fato de possuir uma linguagem de programação própria, chamada Avenue e, sobretudo, à familiaridade dos usuários finais ao sistema ArcView GIS, este surgiu como uma alternativa interessante de interface para entrada e saída de dados e também parametrização dos processos. A linguagem Avenue é uma linguagem do tipo script que permite o acesso a um framework orientado a objetos do SIG, proporcionando um meio simples para extensão e especialização de suas funções. Além disso, o software possibilita o incremento de suas funcionalidades através de extensões e dos recursos de ligação dinâmica existentes no sistema operacional Windows. O ingresso de informações no sistema poderá ser tanto em formato vetorial com raster, sendo a medida de centralidade processada com recursos de grafos e a medida de potencial calculada com técnicas de AC. Consecutivas iterações determinam um processo de feedback que gera crescimento, fazendo interagir os ambientes vetorial e raster, tradicionalmente tratados em separado. 19 Figura 4. Detalhe da comunicação dos componentes do sistema. Por outro lado, estando os SIG mais dedicados à análise de dados estáticos, a alternativa é revelar a dinâmica simulada por sucessivos estados, os quais podem ser estudados em separado e, posteriormente, postos em animação. Esse artifício é resolvido mediante o uso da estrutura de um projeto ArcView (figura 2), conforme segue. Figura 2. Estrutura de um projeto do sistema ArcView. No esquema acima, cada View representa um tempo discreto e cada Theme (em formato grid dado pela extensão Spatial Analyst) um valor gerado pelo modelo. Estrutura geral do sistema O sistema pode ser estruturado de forma que apareçam dois componentes principais: uma biblioteca de ligação dinâmica, chamada de núcleo de processamento, responsável por implementar os processos definidos pelo modelo conceitual e uma interface em ambiente SIG, conforme pode ser visto na figura 3. Figura 3. Estrutura geral do sistema. Entre outras funções de interface, o ArcView é responsável por fornecer o meio pelo qual é realizada a associação de atributos às células. Para isso, os atributos se encontram cadastrados em tabelas de bancos de dados (Table) que são acessadas pelo SIG por meio de uma funcionalidade específica. No módulo externo, encontra-se uma matriz de dimensões iguais, porém transposta ao grid criado pelo Spatial Analyst, como aparece adiante. É nessa matriz que ocorre o processamento e cujos resultados acumulados são enviados ao SIG para representação. Esta comunicação entre o módulo de ligação dinâmica e a extensão de análise espacial se dá através de uma biblioteca de funções chamada Grid I/O, fornecida pelo fabricante da extensão. Uma representação mais detalhada do funcionamento deste sistema pode ser vista na figura 4, a seguir. 4 Implementação O sistema proposto foi implementado e desenvolvido para o sistema operacional Windows 9x/NT/2000/XP utilizando a versão 3.2 do software ArcView GIS e as linguagens de programação C++ para a criação da biblioteca de ligação dinâmica (DLL) contendo o núcleo de processamento e Avenue para a interface. Módulos de ligação dinâmica (DLL) Conforme foi dito anteriormente, o núcleo externo de processamento se encontra em uma DLL. Segundo Petzold [21], as DLL são um dos elementos estruturais mais importantes do sistema operacional Windows, tendo em vista que todo o sistema é baseado em módulos estáticos de programas ou nestas bibliotecas. As bibliotecas de ligação dinâmica não são diretamente executadas e geralmente não recebem mensagens. São arquivos separados, contendo funções que podem ser chamadas por programas ou outras DLL para realizar determinadas tarefas, ou seja, entram em operação quando um módulo executa alguma de suas funções. Quando uma DLL é incorporada a um sistema, seus métodos e dados se tornam parte deste sistema, podendo ser manipulados livremente. Um exemplo disso seria a presença da instância de uma classe X em um módulo externo. O objeto seria criado quando da ligação do módulo e destruído quando da sua liberação. O termo “ligação dinâmica” se refere ao fato de que o SO realiza a ligação de uma chamada de função em um módulo ao endereço real da função em um módulo externo, em tempo de execução. Portanto, pode-se pensar nestas bibliotecas como extensões para programas que rodam sobre a plataforma Windows. 20 Núcleo de processamento Conforme pode ser visto na figura 5, adiante, o módulo de ligação dinâmica que representa o núcleo de processamento é constituído de duas partes principais. Primeiramente, foi desenvolvido um conjunto de classes que visam tornar operacionais as funcionalidades do modelo e, em seguida, um conjunto de funções chamadas convenientemente de “interface” do módulo. As funções da interface do módulo serão chamadas pelo ArcView e tem o objetivo de acessar o conjunto de classes anteriormente construído. Figura 5. Estrutura interna do núcleo do sistema e comunicação com a interface ArcView Estrutura de classes O conjunto de classes C++ desenvolvido é composto por 12 classes podendo ser particionado em quatro grupos de forma a facilitar a sua compreensão. O primeiro grupo pretende a representação matricial do ambiente de estudo através da criação de uma matriz bidimensional. Esta matriz é composta por objetos de uma classe responsável por armazenar informações relativas a cada célula do sistema. Outro ponto importante deste primeiro grupo de classes é a existência de uma classe responsável pela ligação desta matriz de representação interna aos grids do Spatial Analyst. Esta classe é, na verdade, uma camada de abstração posta sobre as funções da biblioteca Grid I/O, que possibilita enviar dados para exibição na interface ArcView através de Themes do tipo grid (GTheme). O segundo grupo de classes se dedica a representar a ligação entre atributos e células do sistema, sendo composto por 4 classes. O quarto grupo é responsável pela construção e aplicação das regras de transição do modelo. Com o intuito de tornar o sistema flexível, foi construído um “gerenciador de regras” que tem como objetivo possibilitar a adição de novas regras ao sistema através de DLL auxiliares. Estas bibliotecas de regras podem ser adicionadas ao sistema como forma de expandir suas capacidades, sendo que as regras de potencial e de crescimento celular podem ser vistas como padrão ao sistema, como está detalhado no trabalho de Granero [22]. Tensão espacial O processo de tensão espacial envolve o cálculo dos valores de tensão e a busca de caminhos. A cada iteração, são determinadas quais as células geradoras de tensão e, a partir deste conjunto, ocorre a busca de caminhos entre todos os pares possíveis ou entre todas as células pertencentes a um determinado raio de abrangência. A atribuição de raios é feita de maneira local, ou seja, cada célula pode possuir um raio de abrangência diferente. Nos casos onde nenhum raio de abrangência é utilizado, a complexidade apresentada pelo algoritmo é da ordem de O(n log n), enquanto que na presença de um raio este valor é reduzido ficando na ordem de O(|2r-1|2 log n), onde r indica o raio utilizado. Um detalhe interessante relativo a esta implementação do algoritmo A* diz respeito à forma como os vizinhos de uma determinada célula-nodo são obtidos. Inicialmente é assumida a premissa de que a vizinhança de uma determinada célula é dada por todas as células que lhe são diretamente adjacentes, gerando um total de 8 vizinhos. Porém, pode-se reduzir este número para 3 se for feita a análise da posição relativa entre a célula-nodo atual e o objetivo da busca corrente, conforme pode ser visto na figura 6, a seguir. O terceiro grupo engloba as operações necessárias ao cálculo da tensão espacial (distribuição axial, polar e difusas, conforme Polidori [1]), sendo responsável por gerar os valores de centralidade celular. Neste conjunto de classes, é implementado o algoritmo de pathfinding A* semelhante àquele visto em Russel [24] e Rich [25], o qual atua sobre a chamada “matriz-grafo” representada na figura 1. 21 Figura 7. Análise de buffer axial. Figura 6. Representação gráfica do processo de obtenção de vizinhos no algoritmo A*. Na figura anterior a célula p representa um nodo intermediário da busca e a célula q o objetivo da busca. É evidente que as situações vistas nesta imagem são casos de vizinhança bem comportada, por isso é aplicada uma técnica semelhante à simulação de campos de visão em jogos e robótica, na qual uma área triangular (simulando o ângulo de visão humana) é traçada a partir da célula p, sendo que a seleção das células que compõe a vizinhança é dada pela presença da célula q nesta área. Análise de buffers Como está desenvolvido por Polidori [1], de posse de um caminho mínimo entre um par de células-nodo, é necessário que as distribuições polar e axial sejam realizadas. A distribuição polar se limita a computar uma área quadrada no entorno das células geradoras da tensão (origem e destino da busca) baseado no seu raio de buffer (este raio não tem nenhuma ligação com o raio utilizado para o cálculo da tensão espacial). O buffer axial, por outro lado, requer um pouco mais de atenção. O método utilizado é semelhante aos algoritmos de computação gráfica chamados de Thick Primitives, como encontrado em Foley [23]. Baseado na direção do fluxo, um conjunto diferente de células-nodo recebe o valor da distribuição, processo que pode ser visto na figura 7, a seguir. Na figura anterior, as células brancas e pretas representam o estado atual e seu buffer, as células cinzas indicam o próximo estado e seu buffer enquanto que as células que contém a letra x, fazem parte do caminho entre p e q. 5 Considerações finais O argumento apresentado anteriormente auxilia na compreensão das possibilidades dos SIGs em atuarem como suporte para a investigação científica, permitindo integrar campos do saber tradicionalmente vistos em separado, como é o caso do urbanismo, da ecologia e da computação. Além disso, o modelo sumariamente mostrado representa um esforço de superação das separações entre os ambientes vetorial e raster, facilitando a entrada de dados e melhorando as chances de explicação dos fenômenos urbanos e ambientais. 22 Referências bibliográficas [1] M. Polidori , Crescimento Urbano e Ambiente. Porto Alegre: UFRGS – PPGECO, 2002. [2] R. Krafta, Modelling Intraurban configurational development. Environment and Planning B: Planning and Design, v. 21. London: Pion, 1994, 67--82. [3] _____, Spatial self-organization and the production of the city. Urbana 24. Caracas: IFA/LUZ, 1999, 49--62. [4] J. Portugali, Self-organization and the city. Berlin: Springer, 2000. [5] P. Torrens, How should we model complex adaptive urban systems? London: Casa, 2000. [disponível em http://www.casa.ucl.ac.uk/~david/ComplexitBib ] [6] L. Martin; L. March; M. Echenique, La Estructura del Espacio Urbano. Barcelona: Ed. Gustavo Gili, 1975. [7] R. Krafta, Simulador de cidades: horizontes e problemas . In: R. Farret, Anais do VI Encontro Nacional da ANPUR. Brasília: ANPUR., 1995, 137--147. [8] R. Axelrod, Advancing the art of simulation in the social sciences. International Conference on Computer Simulation and the Social Sciences. Cortona, Italy, 1997. [ disponível em www.santafe.edu ] [9] J. Teklemburg; H. Timmermans; A. Borges, Design tools in a integrated CAD-GIS environment: space syntax as an example. In: H. Timmermans (Ed), Decision support systems in urban planning. London: E & FN Spon 1997, 261--276. [10] D. Harvey, The urbanization of capital. Oxford: Blackwells, 1985. [11] K. YU, Security patterns and surface model in landscape ecological planning. Landscape and urban planning, v. 36. Great Britain: Elsevier Science, 1996, 1--17. [12] I. Spellberg, Evaluation and assessment for conservation. New York: Chapman and Hall Inc, 1994. [13] D. Meadows et al., The limits of growth. New York: Universe Books, 1972. [14] S. Cole; E. Masini, Limits beyond the millennium: a retrospective on the limits to growth. Futures 33. Pergamon, 2001, 1--5. Urban Systems v.26, 2002, 257--265. [ disponível em: www.elsevier.com/locate/ compenvurbsys [18] M. Batty; H. Couclelis; M. Eichen, Urban system as cellular automata. Environment and Planning B: Planning and Design 24(2). London: Pion, 1997, 159--164. [19] D. O’Sullivan, Graph-cellular automata: a generalized discrete urban and regional model. Environment and Planning B: Planning and Design 28. London: Pion, 2001, 687-705. [20] S. Wolfram, Two Dimensional Cellular Automata, Journal of Statistical Physics, 1985. [21] C. Petzold, Programming Windows, Microsoft Press, 1999. [22] J. C. Granero, Simulador da dinâmica espacial com base em células urbanas e ambientais, UCPel – PROJGRAD , 2002. [23] J. D. Foley, A. Van Dam, et al., Computer Graphics Principles and Practice, Addison-Wesley, 1990. [24] S. J. Russel e P. Norvig, Artificial Intelligence A Mordern Approach, Prentice Hall, 1995. [25] E. Rich e K. Knight, Inteligência Artificial, Makron Books, 1993. [15] M. Breheny, The contradictions of the compact city: a review. In: M. Breheny (Ed.), Sustainable Development and Urban Form. London: Pion, 1992. [16] P. Torrens; D. O’Sullivan, Cellular automata and urban simulation: were do we go from here ? Environment and Planning B: Planning and Design 2001, Vol. 28. London: Pion, 163--168. [17] J. Ehlen; D. Caldwell, Douglas; S. Harding,. GeoComputation: what is it ? Computers, Environment and 23 24