Como evitar tarefas repetitivas, automatizando ferramentas no ArcGIS, sem criar uma linha de código? Como fazer um fluxograma de todas as rotinas que compõem seu projeto, executá-lo de uma única vez e ainda aproveitar esse fluxograma para execução de outros projetos, mudando apenas as fontes de dados e alguns parâmetros? Existe um fluxograma inteligente dentro do ArcGIS que lhe permita a execução e re-execução de um projeto em apenas um clique e ainda lhe permita um modelo visual para melhor entendimento de todos os processos envolvidos?

A resposta a todas essas perguntas é positiva! Sim, existe uma funcionalidade dentro da família Esri que proporciona todas essas facilidades e ainda possibilita a publicação e a integração com outros softwares de geoprocessamento disponíveis no mercado, como por exemplo o Google Earth.

O Model Builder não é uma ferramenta nova da Esri, ela existe desde versões mais antigas, mas somente agora está se popularizando devido a sua integração com servidores Web. O ArcGIS Server apresentou essa novidade na versão 9.2 quando possibilitou a criação de um serviço de geoprocessamento, serviço inexistente no antigo ArcIMS. Já, em sua versão 9.3, o ArcGIS Server apresenta essa funcionalidade que pode ser consumida por clientes que trabalham com o formato KML como, por exemplo, o Google Earth.

O Model Builder possui uma estrutura básica de trabalho: entrada de dados, processamento e saída de dados; isso é bem alegorizado com as cores que identificam amigavelmente essa estrutura. Dentro de um modelo pode-se ter várias rotinas ligadas e interdependentes. Tais rotinas são funcionalidades existentes no ArcGIS, que são espacializadas e dimensionadas dentro do modelo, gerando assim os mais diversos processos. Por exemplo, se você quiser encontrar o melhor lugar para construir um aeroporto deve levar em consideração uma série de critérios como a distância de aterros sanitários, etc.. Tudo isso você consegue automatizar dentro de um modelo. Basta arrastar as funcionalidades de geoprocessamento disponíveis no ArcGIS, apontando para as suas respectivas fontes de dados e colocando os parâmetros necessários.

Esse projeto pode ser utilizado para encontrar áreas a fim de construir aeroportos em qualquer lugar do mundo, para isso basta apenas trocar a base de dados e alguns parâmetros. O modelo pode ainda ser adaptado para localização de outras áreas para, por exemplo, localizar o melhor lugar para construção de um parque de diversões, um shopping, entre outros.  Além disso você pode utilizar a linguagem de programação Python para realizar loops e condicionantes dentro do seu projeto.

Quando criamos um serviço de geoprocessamento utilizando o ArcGIS Server, temos uma interface que o usuário utiliza para interagir com a aplicação, como por exemplo um botão que, ao ser executado, mostra um resultado na aplicação e todo o seu processamento é invisível para o usuário final, ficando restrito para o autor do serviço. Com a versão 9.3 do ArcGIS Server é possível criar esse serviço de geoprocessamento com a opção de KML Network Link, para que ele esteja acessível na web via URL por qualquer cliente que trabalhe com KML. Ou seja, o resultado desse processamento é visualizado também nesse cliente, como por exemplo o Google Earth. Além desse serviço ainda é possível visualizar em um cliente KML resultados de query e geocoding.

Passo a passo

Para visualizar o resultado de um serviço de geoprocessamento no formato KML no Google Earth siga os passos abaixo:

Nesse exemplo temos um modelo cujo objetivo é a criação de Áreas de Preservação Permanente (APPs) de nascentes sendo recortadas pelos limites das fazendas. Primeiramente criamos o modelo dentro de um MXD (projeto do ArcMap) e posteriormente o publicamos, gerando um serviço dentro de um servidor Web, e consumimos esse serviço pelo Google Earth.

Para a realização desse exemplo usamos o ArcInfo Desktop 9.3 com SP1, ArcGIS Server 9.3 Advanced, um layer de ponto (nascente) e um de polígono (fazenda), sistema operacional Windows XP com SP3.

1- Abra o ArcGIS e clique com o botão direito na área branca do ArcToolBox>NewToolBox, depois clique com o botão direito sobre essa tool box e clique em New Model. Encontre as rotinas Buffer e Clip dentro do ArcToolbox e arraste-as para dentro do Model.

2- Clique com o botão direito na área branca do seu modelo e selecione Unidade Linear e coloque 50 metros como parâmetro padrão. Com a ferramenta Add Connection ligue essa rotina com o Buffer.

3- Clique duas vezes sobre Clip e aponte o layer de Fazendas como sendo o layer limitante de corte. Em Clip Features e em Output defina um local de saída para os resultados. Com a ferramenta Add Connection ligue Buffer com Clip.

4- Clique com o botão direito sobre Buffer e escolha Make Variable>From Parameter>Input Features, clique com o botão direito sobre Input Features e escolha Properties do menu de contexto que aparece. Em Proper ties defina para Select data Type Feature Set para que o usuário possa inserir os pontos das novas nascentes e em Import Schema aponte para o seu layer de nascente onde serão geradas as novas nascentes para que a formatação desse layer seja herdada para a nova nascente.

Parâmetros
Parâmetros do modelo

5- Com a ferramenta Add Connection ligue Buffer e Clip, o seu modelo deve aparecer colorido conforme figura abaixo:

Modelo de um projeto
Modelo de um projeto de criação de APPs de nascentes recortado pelos limites das fazendas

6- Clique com o botão direito em Input Features e escolha Model Parameter, pois essa entrada de dados será uma variável dos dados do usuário que darão início à execução de todo o processo.

7- Clique com o botão direito sobre a saída de dados do Clip e escolha Add to Display, para que o resultado apareça no mapa.

8- Em ToolsOptiosGeoprocessing clique no checkbox “overwrite the outputs of geoprocessing operations”. Isso serve para que os resultados subsequentes sobreponham o primeiro.

Salve o seu mapa e o projeto está pronto, os próximos passos são para publicá-lo e consumi-lo pelo Google Earth.

9- No ArcCatalog clique em GisServers e clique em AddArcGisServer. Escolha Use Gis Services e clique em Avançar. Coloque o nome do seu ServidorWebestância e faça uma conexão de internet.

10- Vá até onde você salvou o seu projeto, clique com o botão direito sobre ele e escolha Publish to ArcGis Server. Siga o assistente escolhendo a opção KML e Geoprocessing e finalize a criação do seu serviço.

11- Pelo Manager do ArcGIS Server, em Aplicação, pelo assistente de aplicação crie uma tarefa de Geoprocessing apontando para o seu Model e crie um KML Network Link, finalize a sua aplicação com a sua formatação desejada.

12- Abra a sua aplicação e com a ferramenta de geoprocessamento crie um ponto aleatório de teste para que o Buffer e o Clip sejam executados gerando um resultado. Conforme parâmetros que colocamos será gerado um Buffer de 50m sendo recortado pelo limite das fazendas próximas àquele Buffer. Esse procedimento também poderia ser feito pelo Desktop.

13-Clique em IniciarProgramasArcGisServer for the Microsoft .Net FrameworkArcGisServer Directory.

14- Clique no nome do seu serviço de Geoprocessamento e posteriormente no nome do seu modelo.

15- Clique em Submit Job, na próxima tela, e mude o formato para KMZ. Clique novamente em Submit Job e clique em Abrir.

16- Abrindo o Google Earth dê dois cliques no nome do seu modelo que está na tabela de conteúdo para visualizar a região do seu projeto.

Google Earth e ArcGIS
Google Earth com resultados de análise de um serviço de geoprocessamento da Esri

Esse é apenas um exemplo que representa a facilidade disponível para o público em geral de utilizar os serviços das tecnologias mais populares de geoprocessamento, como as do Google, integrada aos serviços Esri. A interoperabilidade, característica presente em ambas tecnologias, visa beneficiar todos os usuários pela possibilidade de integração, compartilhando dados e resultados de análises por meio de serviços.

Renato Koch Murakami
Analista de Suporte Técnico
Imagem – Soluções de Inteligência Geográfica
rkoch@img.com.br