local de abertura entre outras informações.
Com base nas definições do projeto deu-se inicio a criação da interface utilizando os recursos disponíveis pela IDE, instanciou-se a janela dentro da classe do botão para possibilitar a abertura da mesma dentro do software, a partir da ação de clique por efetuada pelo usuário. Em seguida utilizando a ferramenta de arrastar e soltar disponibilizada pela IDE, foram adicionados e posicionados os componentes para formar o conteúdo visual para a ferramenta.
O conteúdo visual consiste em uma tela contendo um componente de abas para acesso a vários elementos na mesma janela. Na primeira aba o usuário poderá selecionar os arquivos desejados para aplicar o processo de inferência difusa e adicionar os conjuntos de saída (Figura 31), a segunda aba serve para configurar as funções de pertinência e variáveis linguísticas dos conjuntos (Figura 32) e na segunda aba será possível criar as regras de inferência para o processo de análise (Figura 33).
Figura 31. Primeira aba da interface da ferramenta MIDgeo.
Figura 32. Segunda aba da interface da ferramenta MIDgeo.
Abaixo uma breve descrição dos itens numerados na interface:
1. Área para gerenciar os conjuntos de entrada, disponibilizando o campo de seleção do conjunto de entrada referente aos arquivos raster carregados no mapa, o grid para listar os conjuntos e os botões de adição, edição e remoção dos conjuntos de entrada;
2. Área para gerenciar os conjuntos de saída, contém o grid para listar os conjuntos e os botões de criação, edição e remoção dos conjuntos de entrada;
3. Campo contendo as informações gerais, que estão sempre relacionadas ao primeiro mapa adicionado à ferramenta, mostra a quantidade de colunas e linhas da matriz de valores, o tamanho da célula de cada item da matriz e os dados referentes ao posicionamento geográfico do mapa;
4. Área para informar o nome do conjunto (reta suporte) e definir os valores maxmin para a reta suporte.
5. Área de configuração das funções de pertinência para os conjuntos, contendo os campos para informar o nome da função, seleção do tipo, inserção de valores e os
botões de adição, edição e remoção;
6. Gráfico para auxiliar na visualização das funções de pertinência criados para cada conjunto de entrada e saída; e
7. Da esquerda para a direita, o botão para limpar as configurações, botão para carregar configurações, botão para salvar configurações e botão para executar o processo de análise difusa.
Figura 33. Segunda aba da interface da ferramenta MIDgeo.
A Figura 33 demonstra toda a área de configuração das regras de inferência onde possui a lista de regras numeradas, ao lado direito e de cima para baixo os botões de inserção, edição e remoção de regras e os campos de seleção das operações da proposição. Os antecedentes e consequentes podem ser selecionados através de listas criadas dinamicamente conforme as configurações efetuadas nos conjuntos de entrada e saída.
Concluído a criação da interface, iniciou-se o desenvolvimento das rotinas necessárias para tornar a ferramenta funcional, conforme descrito abaixo:
Rotina de leitura dos arquivos raster, e criação automática do conjunto de entrada;
Rotina de alteração e remoção dos conjuntos de entrada;
Rotina de criação do conjunto de saída;
Rotina para alterar e remover dos conjuntos de saída;
Rotina de criação das funções de pertinência para os conjuntos;
Rotina para visualização dos gráficos criados a partir da definição das funções de pertinência;
Rotina de criação das regras de inferência;
Rotina para salvar e carregar um arquivo de configurações para o processo de análise da ferramenta; e
Rotina para mostrar os arquivos carregados e o arquivo resultante do processo de análise difusa, na interface do ArcGIS.
Durante o processo de criação da rotina para salvar as configurações da ferramenta, foi definido um modelo para o arquivo XML que deve ser gerado. Este modelo foi definido levando em consideração o modelo de arquivo de configurações da ferramenta Agent Simulator, o resultado do modelo definido para a ferramenta MIDgeo e o da versão do Agent Simulator pode ser conferido no APÊNDICE B e ANEXO A.
Para a rotina que carrega o arquivo de configuração foi criado e aplicado um processo de verificação e validação do arquivo carregado na ferramenta, com o intuito de minimizar erros por possíveis alterações realizadas manualmente por parte do usuário da ferramenta.
Este processo consiste em utilizar um arquivo conhecido como XML Schema. Conforme a W3C (2011), um XML Schema define a estrutura do conteúdo que um XML deve representar. Com a definição do modelo presente no APÊNDICE A e com o auxilio de um recurso presente em uma das bibliotecas do C# tornou-se viável a verificação e validação do arquivo de configuração.
A rotina para mostrar os arquivos na interface do ArcMap foi feita utilizando as bibliotecas disponíveis pela API do ArcGis, que proporciona a criação de camadas, onde cada camada pode possuir vários conteúdos visuais para compor um ou mais mapas. A camada utilizada na ferramenta é a que possibilita carregar arquivos do tipo raster.
Durante o processo de desenvolvimento em vários momentos foram realizados testes
das rotinas com auxilio de outro recuso disponível na IDE em conjunto com a API do ArcGis, recurso este que possibilita executar o aplicativo ArcMap através da IDE já com o Add-In instalado, bastando apenas adicionar o botão para execução da ferramenta na interface do ArcMap. Este recurso possibilita executar o processo em modo de depuração na IDE tornando acessíveis métodos de verificação e análise de erros durante o processo de utilização da ferramenta.
Ao final da etapa de desenvolvimento da interface da ferramenta, realizou-se um estudo de possíveis funcionalidades para a execução da DLL, para contemplar a execução da rotina de análise da ferramenta, onde encontrou-se na própria documentação do C# uma referência de utilização da biblioteca de interoperabilidade usada no processo de execução das funções criadas para a DLL. Porém a implementação desta rotina será abordada com mais detalhes no Item 3.6.