Página Dinâmica para Aprendizado do Sensoriamento Remoto

1. Linguagens de Programação Utilizadas

2. A Linguagem PHP

3. A Linguagem C
Linguagens de Programação Utilizadas
 
     Os motivos para a escolha do PHP como linguagem de programação são inúmeros, e podem ser explicados pelas próprias características da linguagem, tais como: eficiente suporte matemático, sistema multiplataforma, suporte a um grande número de banco de dados além de possuir seu código fonte aberto.

     A utilização do PHP como ferramenta de suporte ao Geoprocessamento vem sendo testada no Curso de Engenharia Cartográfica da Universidade Federal do Rio Grande do Sul (UFRGS), através da criação da página web "Cálculos Geodésicos - Aplicações on-line", apresentando excelentes resultados até o momento. Mais detalhes em (Brys, 2005). Além disso, o PHP já é uma linguagem utilizada em larga escala pelos usuários de Servidores de Mapas (Map Servers), justamente devido à sua relativa facilidade de aprendizagem e poderosos recursos.

     Para validação do PHP como ferramenta direta em operações com imagens orbitais foram realizados diversos testes, os quais tentaram avaliar o resultado da linguagem nas operações aritméticas, matriciais e na leitura e formação de imagens. Entre as técnicas de PDI implementadas destacam-se a geração e manipulação de histogramas (Stretch, Equalização e Macthing), transformação de uma imagem do espaço de cores RGB para o espaço HSV e a Fusão de Imagens utilizando o método de substituição por Transformação IHS. Os algoritmos citados acima tiveram resultados muito satisfatórios quando comparados com os softwares comerciais ENVI 3.2, MultiSpec 2.8 e Spring 3.6.

     Contudo, a grande quantidade de operações necessárias para executar-se cada um destes procedimentos fez com que o PHP apresentasse algumas limitações ao projeto, derivadas das características de linguagem de alto nível, onde ele se enquadra, tais como:
  • Tamanho máximo do arquivo de imagem em torno de 200 kbytes;
  • Velocidade de processamento;
  • Possibilidade de utilização de imagens somente nos formatos GIF, JPEG, PNG e BMP.

     Devido a estas limitações do PHP, procurou-se uma linguagem de programação que pudesse ser utilizada na execução das rotinas mais complexas. Após pesquisa em algumas linguagens de programação que preenchessem os requisitos necessários, elencou-se a Linguagem C.

     Algumas características da linguagem C foram determinantes para a sua escolha, tais como:
  • Possuir acesso de baixo-nível à memória do computador através do uso de ponteiros;
  • Linguagem nuclear extremamente simples, com funcionalidades não-essenciais, tais como funções matemáticas ou manuseamento de ficheiros (arquivos), fornecida por um conjunto de bibliotecas de rotinas padronizada;

     A limitação quanto ao tamanho do arquivo, que na verdade resumia-se ao número de operações para interpretar um grande número de pixels foi resolvido, utilizando-se o recurso de "ponteiros" do C, o qual permite um acesso muito rápido para leitura e escrita. Em testes durante a fase de implementação, fez-se testes com imagens de até 30 Mbytes, apesar de não estar disponibilizado acesso a arquivos desta magnitude na página web.

     Um ponteiro é uma variável que contém um endereço de memória. Esse endereço é normalmente a posição de uma outra variável na memória (SCHILDT, 1996).

     Por ser uma linguagem de médio nível, o algoritmo em C torna-se mais complexo do que o mesmo algoritmo feito no PHP (alto nível), por exemplo. Em compensação, o programador possui um número de recursos muito maior e pode controlar com mais segurança as operações que necessita processar.

     Apenas a título de ilustração, o PHP possui um comando que faz a leitura do CD de um pixel de uma imagem, bastando para isso que a imagem tenha sido aberta pelo programa. Na linguagem C não existem comandos deste tipo, sendo necessário que o programa "leia" a imagem byte a byte.

     Faz-se necessário então que o programa "conheça" o tipo de formato de imagem que está sendo utilizado, a fim de identificar as partes que formam o arquivo (p.e. Cabeçalho, Área de dados, Etiquetas, etc...). Detalhes de alguns formatos.

     Em resumo, nas páginas da PDASR o usuário estará interagindo, além dos formulários em HTML, com algoritmos nas linguagens PHP e C.

 
A Linguagem PHP
 
     A primeira versão do PHP surgiu em 1995, quando Rasmus Lerdorf criou para uso pessoal uma ferramenta chamada PHP/FI (Personal Home Page/Forms Interpreter). Porém, ele não imaginava que estava criando uma das mais poderosas linguagens para o desenvolvimento de aplicações na Web (Rede Mundial de Computadores, ou Internet). O PHP é uma linguagem totalmente voltada à Internet, possibilitando o desenvolvimento de websites realmente dinâmicos. Sites dinâmicos são aqueles que retornam para o cliente uma página criada em tempo real.

Características da Linguagem

     O PHP (sigla que hoje é um acrônimo recursivo para PHP: Hipertext PreProcessor) é uma linguagem de programação server-side scripts (scripts executados no servidor). Um exemplo de server-side scripts são os sistemas de busca da internet (www.google.com.br, www.yahoo.com.br, etc...).

     Quando o usuário acessa uma página PHP por meio de seu browser (navegador), todo o código PHP é executado no servidor, e os resultados são enviados para seu navegador. Portanto, o navegador exibe a página já processada, sem consumir recursos de seu computador. As linhas de programação PHP não podem ser vistas por ninguém, já que elas são executadas no próprio servidor, e o que retorna ao usuário é apenas o resultado do código executado.

     As linhas de código PHP são embutidas no código HTML (HiperText Markup Language). O HTML é a linguagem padrão para criação de páginas de Internet. Como o próprio significado da sigla informa, o HTML é capaz de proporcionar hiper-textos. Hiper-texto é um modo que proporciona ao usuário uma maior interação com textos de uma página web, onde informações são interligadas intuitiva e associativamente. Através de saltos - que marcam o movimento do hipertexto - o leitor assume um papel ativo, sendo ao mesmo tempo co-autor.

     Por não tratar-se de uma linguagem de "programação" propriamente dita (trata-se de uma linguagem descritiva que tem como objeto dar formato ao texto e às imagens que se pretende visualizar no navegador), o HTML necessita de linguagens que complementem e supram as suas limitações, como é o caso do PHP (BHON, 2004).

     A Figura 49 apresenta uma ilustração do funcionamento da linguagem PHP.


Figura 49: Esquema do funcionamento de uma página web em PHP (Fonte: PHPBRASIL, 2006)


     O PHP apresenta eficiente suporte matemático, além de possuir suporte a um grande número de banco de dados, como dBase, Interbase, mSQL, mySQL, Oracle, Sybase, PostgreSQL e vários outros. Construir uma página baseada em banco de dados torna-se uma tarefa extremamente simples. Também oferece suporte a outros serviços através de protocolos como IMAP, SNMP, NNTP, POP3 e, logicamente, HTTP. Ainda é possível abrir sockets e interagir com outros protocolos.

     Basicamente, qualquer script que pode ser feito por linguagens como C, C++, Perl, entre outras, pode ser feito também com PHP, como por exemplo, coletar dados de formulários, gerar páginas dinâmicas ou enviar e receber cookies (BHON, 2004).

     Uma das principais vantagens do PHP é que ele pode ser executado em diversos sistemas operacionais (multiplataforma), como Linux, Windows, Unix, OS/2, Macintosh, NT, etc., além de permitir mudanças de plataforma com nenhuma ou pouquíssimas alterações em seus códigos-fonte.

     Além disso, o PHP é gratuito, permitindo que seu arquivo de instalação possa ser obtido gratuitamente no site oficial do PHP http://www.php.net.br. Outra característica importante é que ele é um software com código aberto (open source). O código-fonte do PHP, assim como sua documentação detalhada também está disponível no site oficial (NIEDERAUER, 2004).

 
A Linguagem C
 
     A linguagem C foi concebida e implementada por Dennis Ritchie, nos laboratórios Bell, para ser usada no sistema operacional UNIX em 1972. C é o resultado de um processo de desenvolvimento que começou com uma linguagem mais antiga, chamada BCPL, criada na década de 70.

     C é frequentemente chamada de linguagem de médio nível porque combina elementos de linguagens de alto nível com a funcionalidade da linguagem assembly (baixo nível). Nessa categoria, o C permite a manipulação de bits, bytes e endereços - os elementos básicos com os quais o computador funciona. Outro aspecto importante do C é que ele possui apenas 32 palavras-chave, que são os comandos que compõe a linguagem. As linguagens de alto nível tipicamente tem várias vezes esse número de palavras reservadas (SCHILDT, 1996).

     Linguagem de programação de baixo nível trata-se de uma linguagem de programação mais próxima ao código da máquina e, portanto, menos abstrata, enquanto as linguagens de alto nível possuem um nível de abstrção relativamente elevado, longe do código de máquina e mais próximo à linguagem humana.

     A linguagem C tem como ponto forte a sua eficiência, e é uma das linguagens de programação preferidas para o desenvolvimento de sistemas e softwares de base, apesar de também ser usada para desenvolver programas de computador. É também muito usada no ensino de ciências da computação, mesmo não tendo sido projetada para estudantes.

     Muitas linguagens de programação foram influenciadas por C, sendo que a mais utilizada atualmente é C++, que por sua vez foi uma das inspirações para a Linguagem Java.

     Por haver compiladores C para quase todos os computadores, é possível tomar um código escrito para uma máquina, compilá-lo e rodá-lo em outra com pouca ou nehuma modificação. Essa "portabilidade" é uma das características do C. Um compilador lê o programa inteiro e converte-o em um código-objeto, que é uma tadução do código-fonte do programa em uma forma que o computador possa executar diretamente. Desta maneira, tudo que o programdor precisa fazer para executar o programa é, normalmente, digitar apenas o seu nome.
 


Fechar janela