O que é necessário para tornar-se um geoprogramador? Talvez essa pergunta já passou pela cabeça de alguns ótimos programadores que ainda não tiveram um contato com a geoprogramação. Pela lógica é impossível ser um geoprogramador para depois ser um programador, ou seja, todo o geoprogramador é antes de tudo um programador que teve o interesse ou a necessidade de geoprogramar.
A programação é uma lógica onde para toda ação tem uma consequência, um fim. Mas, se pararmos para observar a evolução da programação poderemos entender o porque de geoprogramar.
No início as linguagens de programação eram estruturadas e geralmente todo o programa eram em uma única classe. Daí temos o famoso problema do comando “go to” conhecido por todo o desenvolvedor de sistema. Ele parecia ser o comando mágico que resolvia os problemas do programador até tornar-se um comando vicioso e nocivo para o programa. Então começaram a surgir os módulos, as classes e os objetos fazendo com que o programador tivesse uma outra visão de sistema. Passou a enxergar os objetos dos programas como um objeto da vida real, uma nova visão de programação: Classe Mãe, Classe Filha, Amigas(C++), Herança, Objetos e não somente os atributos e métodos. Não estou defendendo que exista um novo método de programação e sim que qualquer programador pode ser facilmente um geoprogramador. Por quê? A resposta vem da visão de uma imagem vista de um geoprogramador: ele vê uma imagem como um objeto com atributos e métodos. Um mapa de algum estado ou país pode inserir dados em um banco de dados, pode apresentar as suas características e atributos, apresenta os seus dados e imagens etc. Logo o programador já tem uma parte do conhecimento de geoprocessamento porque conhece a forma de explorar os seus dados devido ao conhecimento de um dos instrumentos mais importantes do geoprocessamento que é o banco de dados, cuja matéria o Tiago nosso amigo do PostgreSQL deverá postar e, a pequena diferença do banco relacional com o banco espacial é um campo contendo os dados dos vetores, localização entre outros:
Esse campo que define a geometria do objeto não será necessário alterar porque os servidores de manipuladores de mapas necessitam da integralidade desses dados. O resto dos campos são de conhecimento de qualquer desenvolvedor de sistemas. Então resumindo, para que um programador se torne um geoprogramador, é necessário e fundamental o conhecimento desse campo e, consequentemente o conhecimento das coordenadas e projeções geográficas que será matéria de um outro post voltado para os geoprogramadores que poderão ser programadores, geógrafos, geólogos, geoprocessadores etc.
O exemplo acima demonstra os dados do sistema de coordenadas geográficas usada em um shapefile do mapa do Brasil. Outra pequena diferença é acostumar a ouvir outras denominações usadas em geoprocessamento como: shapefile – um tipo de arquivo que pode conter vetores, linhas, polígonos ou pontos; raster – arquivo de imagem podendo ser gif, jpeg, tif, bitmap etc. Além de outras denominações usadas no ramo.
No exemplo acima podemos selecionar e definir o tipo de sistemas de coordenadas: geográficas ou projeções…
Para cada tipo de sistemas de coordenadas geográficas selecionadas há outros tipos de definições mais específicas a serem selecionadas conforme a figura acima. Depois de conhecer o famoso campo diferenciador do banco espacial em relacão ao relacional o programador estará pronto para iniciar-se no mundo da geoprogramação que contém várias APIs como: Google Maps, Google Earth, Esri, MapServer todos contando com linguagens robustas de programação como: Java, Flex, PHP, Phyton, Ruby, C#, dot Net entre outras.