i3geo/classesjs/classe_util.js
GPL2
I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
Direitos Autorais Reservados © 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.@mma.g ov.br moretti
Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation; tanto a versão 2 da Licença. Este programa é distribuído na expectativa de que seja útil, porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral do GNU para mais detalhes. Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto com este programa; se não, escreva para a Free Software Foundation, Inc., no endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
Utilitários | i3geo/classesjs/classe_util.js |
Propriedades | |
navm | Verdadeiro (true) se o navegador for o Internet Explorer |
navn | Verdadeiro (true) se o navegador for o Firefox |
Variaveis | |
g_operacao | Nome da última operação que foi executada. |
g_tipoacao | Tipo de ação que está sendo executada. |
Functions | |
$i | Obtém um elemento DOM a partir de seu id |
Array. remove() | Extende os métodos de um objeto Array, permitindo remover um elemento. |
Classe | |
i3GEO.util | Utilitários. |
Variaveis | |
PINS | Elementos IMG criados na função criaPin |
Functions | |
escapeURL | Converte uma string em uma url válida |
insereCookie | Cria um novo cookie. |
pegaCookie | Pega o valor de um cookie. |
listaChaves | Lista as chaves de um objeto. |
criaBotaoAplicar | Cria um botão flutuante do tipo aplicar. |
arvore | Cria uma árvore com base em um objeto contendo aspropriedades. |
removeAcentos | Remove acentos de uma palavra ou frase |
protocolo | Obtém o protocolo utilizado na URL atual |
pegaPosicaoObjeto | Retorna a posição x,y de um objeto em relação a tela do navegador |
pegaElementoPai | Pega o elemento pai de um elemento clicado para identificar o código do tema. |
mudaCursor | Altera o cursor do ponteiro do mouse. |
criaBox | Cria um elemento div na página atual. |
escondeBox | Esconde os BOXES com IDs registrados em i3GEO.util.BOXES |
criaPin | Cria um elemento imagem na página atual. |
posicionaImagemNoMapa | Posiciona uma imagem no mapa no local onde o mouse está posicionado sobre o mapa |
escondePin | Esconde os PINS com IDs registrados em i3GEO.util.PINS |
$im ou nome curto $im | Retorna o caminho correto de uma imagem incluindo o endereço da aplicação e do visual em uso. |
$top ou nome curto $top | Muda a posição (superior) de um objeto tanto no IE como no Firefox. |
$left ou nome curto $left | Muda a posição (esquerda) de um objeto tanto no IE como no Firefox. |
insereMarca | Insere ou remove pontos no mapa. |
cria | Insere um ponto no mapa |
adicionaSHP | Inclui um arquivo shapefile no mapa atual como uma nova camada |
abreCor | Abre a janela flutuante para escolha de uma cor |
ajaxhttp | Cria o objeto XMLHttpRequest para uso com funções próprias de chamada em ajax |
ajaxexecASXml | Executa uma chamada ajax no modo assíncrono retornando o resultado em XML. |
aparece | Aplica efeito de aparecimento suave de um objetov |
desaparece | Aplica efeito de desaparecimento suave de um objeto |
wkt2ext | Calcula a extensão geográfica de uma geometria fornecida no formato WKT |
sortNumber | Ordena um array contendo números. |
getScrollerWidth | Calcula o tamanho da barra de rolagem, permitindo calcular o tamanho correto da área útil do navegador |
scriptTag | Insere um javascript no documento HTML |
mensagemAjuda | Formata uma mensagem de texto com ícone de ? |
randomRGB | Gera uma cor RGB de forma aleatória |
rgb2hex | Converte uma cor RGB para HEX |
comboTemas | Cria um combo (caixa de seleção) com a lista de temas existentes no mapa e de determinado tipo |
checkTemas | Cria uma lista com check box de temas existentes no mapa e de determinado tipo |
comboItens | Cria um combo (caixa de seleção) com a lista de itens de um layer |
comboValoresItem | Cria uma caixa de seleção com os valores de um item de um tema |
comboFontes | Cria um combo (caixa de seleção) com a lista fontes de texto disponíveis |
comboSimNao | Cria uma caixa de seleção com as palavras sim e não |
checkItensEditaveis | Cria uma lista de elementos do tipo input com textos editáveis contendo a lista de itens de um tema. |
radioEpsg | Cria uma lista de códigos EPSG para o usuário escolher um deles. |
proximoAnterior | Cria uma sequência de opções com botão de anterior e próximo. |
Nome da última operação que foi executada.
Dependendo do tipo de operação são aplicadas as atualizações necessárias aos componentes do mapa. Por exemplo, redesenha o corpo do mapa, atualiza a lista de temas, etc.
Essas operações são controladas pela função ajaxiniciaparametros.
Tipo de ação que está sendo executada. Quando o usuário clica no mapa, essa variável é pesquisada para definir o tipo de operação que deve ser executada. É definida quando o usuário seleciona uma determinada ferramenta do i3Geo.
$i = function( id )
Obtém um elemento DOM a partir de seu id
id | {String} ID do elemento. |
{Object} Objeto.
escapeURL: function( sUrl )
Converte uma string em uma url válida
sUrl {String} | url que será convertida |
{String}
insereCookie: function( nome, valor )
Cria um novo cookie.
nome | {String} Nome do cookie. |
valor | (String) Valor do cookie |
pegaCookie: function( nome )
Pega o valor de um cookie.
nome | {String} Nome do cookie. |
(String) | valor do cookie |
listaChaves: function ( obj )
Lista as chaves de um objeto.
obj | {Object} |
(Array) | array com as chaves. |
criaBotaoAplicar: function ( nomeFuncao, titulo, classe, obj )
Cria um botão flutuante do tipo aplicar.
O novo botão é adicionado no DOM com ID “i3geo_aplicar” e posicionado sobre o objeto definido
nomeFuncao | {String} Nome da função que será executada quando o botão for cllicado |
titulo | (opcional) {String} Título que será mostrado no botão |
classe | (opcional) {String} Nome da classe (estilo) que será aplicado ao botão. |
obj | (opcional) {Objeto} Objeto DOM que foi clicado para provocar a criação do botão. |
(Object) | Objeto DOM criado. |
arvore: function( titulo, onde, obj )
Cria uma árvore com base em um objeto contendo aspropriedades.
titulo | {String} cabeçaljo da árvore |
onde | {String} nome do id doelemento que conterá a árvore |
obj | {Object} objeto contendo os parâmetros, exemplo |
g_listaPropriedades = {
”propriedades”: [
{ text: “p2”, url: “javascript:tipoimagem()” }
]}
removeAcentos: function( palavra )
Remove acentos de uma palavra ou frase
palavra {String}
{String}
pegaPosicaoObjeto: function( obj )
Retorna a posição x,y de um objeto em relação a tela do navegador
obj {Object} | objeto dom |
{Array} | array com a posição [x,y] |
pegaElementoPai: function( e )
Pega o elemento pai de um elemento clicado para identificar o código do tema.
e | elemento do DOM. |
{Node} | objeto DOM |
mudaCursor: function( cursores, tipo, idobjeto, locaplic )
Altera o cursor do ponteiro do mouse.
Os cursores disponíveis são definidos por default em classe_configura.js
cursores {i3GEO.configura.cursores} | objeto JSON com as URIs de cada cursor (veja i3GEO.configura.cursores) |
tipo {String} | tipo de cursor disponível em cursores |
idobjeto {String} | id do objeto que terá o estilo alterado para o cursor desejado |
locaplic {String} | onde está instalado o i3Geo |
criaBox: function( id )
Cria um elemento div na página atual.
Esse elemento pode ser utilizado para desenhar retângulos sobre o mapa
id {String} | id do elemento que será criado. Por default, será ‘boxg’ |
escondeBox: function()
Esconde os BOXES com IDs registrados em i3GEO.util.BOXES
Os ids são criado pela função criaBox
criaPin: function( id, imagem, w, h )
Cria um elemento imagem na página atual.
Esse elemento pode ser utilizado para desenhar pontos sobre o mapa
id {String} | (opcional) id do elemento que será criado. Por default, será ‘boxpin’ |
imagem {URL} | (opcional) endereço da imagem |
w {String} | (opcional) largura da imagem |
h {String} | (opcional) altura da imagem |
posicionaImagemNoMapa: function( id )
Posiciona uma imagem no mapa no local onde o mouse está posicionado sobre o mapa
id {string} | id do elemento que será posicionado |
escondePin: function()
Esconde os PINS com IDs registrados em i3GEO.util.PINS
Os ids são criado pela função criaPin
Retorna o caminho correto de uma imagem incluindo o endereço da aplicação e do visual em uso.
Exemplo: $im(“imagem.png”)
g {String} | nome da imagem |
string | caminho para a imagem |
Muda a posição (superior) de um objeto tanto no IE como no Firefox.
Exemplo: $top(“imagem”,100)
id | identificador do objeto |
valor | posição em relação ao topo. |
Muda a posição (esquerda) de um objeto tanto no IE como no Firefox.
Exemplo: $left(“imagem”,100)
id | identificador do objeto |
valor | posição em relação a esquerda. |
cria:function( xi, yi, funcaoOnclick, container )
Insere um ponto no mapa
Os pontos são inseridos em um contaier de pontos e mostrados temporáriamente
xi {Numeric} | coordenada x. |
yi {Numeric} | coordenada y. |
funcaoOnclick {String} | funcao que sera executada quando a marca for clicada, se for “”, o container será esvaziado ao ser clicado na marca |
container {String} | id do container que receberá os pontos |
adicionaSHP: function( path )
Inclui um arquivo shapefile no mapa atual como uma nova camada
path {String} | caminho completo do shapefile |
abreCor: function( janela, elemento, tipo )
Abre a janela flutuante para escolha de uma cor
janela {String} | id do conteúdo da janela flutuante que chamou a função. Pode ser “” caso elemento exista em document |
elemento {String} | id do elemento que receberá os valores da cor selecionada |
tipo {String} | opcional pode ser definido como rgb ou hex indicando o tipo de retorno da cor |
ajaxhttp: function()
Cria o objeto XMLHttpRequest para uso com funções próprias de chamada em ajax
O uso dessa função não é recomendado. Dê preferência para uso da chamada ajax via YUI
{XMLHttpRequest}
ajaxexecASXml: function( programa, funcao )
Executa uma chamada ajax no modo assíncrono retornando o resultado em XML.
programa {String} | URL do programa que será executado no servidor. |
funcao {funcao} | função que tratará o resultado. |
O resultado em um objeto DOM. Se o retorno contiver a palavra “Erro”, é gerado um alert.
aparece: function( id, tempo, intervalo )
Aplica efeito de aparecimento suave de um objetov
id {String} | id do objeto |
tempo {Integer} | tempo em milesegundos que levará o efeito |
intervalo {Integer} | intervalo entre uma imagem e outra |
desaparece: function( id, tempo, intervalo, removeobj )
Aplica efeito de desaparecimento suave de um objeto
id {String} | id do objeto |
tempo {Integer} | tempo em milesegundos que levará o efeito |
intervalo {Integer} | intervalo entre uma imagem e outra |
removeobj {Boolean} | remove ou não o objeto no final |
wkt2ext:function( wkt, tipo )
Calcula a extensão geográfica de uma geometria fornecida no formato WKT
wkt {String} | geometria no formato wkt |
tipo {String} | tipo de geometria (polygon,point,line) |
{String} | extensão geográfica (xmin ymin xmax ymax) |
sortNumber: function( a, b )
Ordena um array contendo números. Deve ser usado como parâmetro do método “sort”, exemplo
y.sort(i3GEO.util.sortNumber), onde y é um array de números
getScrollerWidth: function()
Calcula o tamanho da barra de rolagem, permitindo calcular o tamanho correto da área útil do navegador
http://www.fleegix.org- /articles- /2006-05-30-getting-the-scrollbar-width-in-pixels
altura
scriptTag: function( js, ini, id )
Insere um javascript no documento HTML
js {String} | endereco do JS |
ini | funcao do JS que será executada ao ser carregado o script (pode ser “”) |
id | id do elemento script que será criado |
mensagemAjuda: function( onde, texto )
Formata uma mensagem de texto com ícone de ?
onde {String} | id do elemento que receberá a mensagem |
texto {String} | texto da mensagem |
comboTemas: function( id, funcao, onde, nome, multiplo, tipoCombo )
Cria um combo (caixa de seleção) com a lista de temas existentes no mapa e de determinado tipo
id {String} | id do elemento select que será criado |
funcao {Function} | função que será executada ao terminar a montagem do combo. Essa função receberá como parâmetros um Array associativo contendo os dados em HTML gerados e o tipo de resultado. P.ex.: {dados:comboTemas,tipo:”dados”} tipo será uma string que pode ser “dados”|”mensagem”|”erro” indicando o tipo de retorno. |
onde {String} | id do elemento HTML que receberá o combo. É utilizado apenas para inserir uma mensagem de aguarde. |
nome {String} | valor que será incluido no parametro “name” do elemento “select”. |
multiplo {Booleano} | indica se o combo permite seleções múltiplas |
tipoCombo {String} | Tipo de temas que serão incluídos no combo ligados|selecionados|raster|pontosSelecionados|pontos |
checkTemas: function( id, funcao, onde, nome, tipoLista, prefixo, size )
Cria uma lista com check box de temas existentes no mapa e de determinado tipo
id {String} | id do elemento select que será criado |
funcao {Function} | função que será executada ao terminar a montagem do combo. Essa função receberá como parâmetros um Array associativo contendo os dados em HTML gerados e o tipo de resultado. P.ex.: {dados:comboTemas,tipo:”dados”} tipo será uma string que pode ser “dados”|”mensagem”|”erro” indicando o tipo de retorno. |
onde {String} | id do elemento HTML que receberá o combo. É utilizado apenas para inserir uma mensagem de aguarde. |
nome {String} | valor que será incluido no parametro “name” do elemento “select”. |
tipoLista {String} | Tipo de temas que serão incluídos na lista ligados|selecionados|raster|pontosSelecionados|pontos|polraster |
prefixo {string} | Prefixo que será usado no id de cada elemento |
size {numeric} | tamanho dos elementos input editáveis |
comboItens: function( id, tema, funcao, onde, nome )
Cria um combo (caixa de seleção) com a lista de itens de um layer
id {String} | id do elemento select que será criado |
tema {String} | código do tema (layer) |
funcao {Function} | função que será executada ao terminar a montagem do combo. Essa função receberá como parâmetros um Array associativo contendo os dados em HTML gerados e o tipo de resultado. P.ex.: {dados:comboTemas,tipo:”dados”} tipo será uma string que pode ser “dados”|”mensagem”|”erro” indicando o tipo de retorno. |
onde {String} | id do elemento HTML que receberá o combo. É utilizado apenas para inserir uma mensagem de aguarde. |
nome {String} | valor que será incluido no parametro “name” do elemento “select”. |
comboValoresItem: function( id, tema, itemTema, funcao, onde )
Cria uma caixa de seleção com os valores de um item de um tema
id {String} | id do elemento select que será criado |
tema {String} | código do tema (layer) |
itemTema {String} | nome do item |
funcao {Function} | função que será executada ao terminar a montagem do combo. Essa função receberá como parâmetros um Array associativo contendo os dados em HTML gerados e o tipo de resultado. P.ex.: {dados:comboTemas,tipo:”dados”} tipo será uma string que pode ser “dados”|”mensagem”|”erro” indicando o tipo de retorno. |
onde {String} | id do elemento HTML que receberá o combo. É utilizado apenas para inserir uma mensagem de aguarde. |
comboFontes: function( id, onde )
Cria um combo (caixa de seleção) com a lista fontes de texto disponíveis
id {String} | id do elemento select que será criado |
onde {String} | id do elemento HTML que receberá o combo. É utilizado apenas para inserir uma mensagem de aguarde. |
comboSimNao: function( id, selecionado )
Cria uma caixa de seleção com as palavras sim e não
id [String} | id do elemento select que será criado |
selecionado {string} | qual valor estará selecionado sim|nao |
{string}
checkItensEditaveis: function( tema, funcao, onde, size, prefixo )
Cria uma lista de elementos do tipo input com textos editáveis contendo a lista de itens de um tema.
tema {string} | código do layer existente no mapa |
funcao {function} | função que será executada para montar a lista. Essa função receberá como parâmetro um array do tipo {dados:ins,tipo:”dados”} onde ins é um array com as linhas e tipo é o tipo de resultado, que pode ser “dados”|”erro” |
onde {string} | id do elemento que receberá a mensagem de aguarde |
size {numeric} | tamanho dos elementos input editáveis |
prefixo {string} | Prefixo que será usado no id de cada elemento |
radioEpsg: function ( funcao, onde, prefixo )
Cria uma lista de códigos EPSG para o usuário escolher um deles.
A lista é mostrada como uma série de elementos do tipo radio com “name” igual ao prefixo mais a palavra EPSG
funcao {function} | função que será executada para montar a lista. Essa função receberá como parâmetro um array do tipo {dados:ins,tipo:”dados”} onde ins é um array com as linhas e tipo é o tipo de resultado, que pode ser “dados”|”erro” |
onde {string} | id do elemento que receberá a mensagem de aguarde |
prefixo {string} | Prefixo que será usado no name de cada elemento |
proximoAnterior: function( anterior, proxima, texto, idatual, container )
Cria uma sequência de opções com botão de anterior e próximo. É utilizado principalmente pelas ferramentas de análise espacial, onde o usuário segue uma sequência de operações de escolha de parâmetros.
anterior {String} | nome da função que é executada para voltar à tela anterior. Pode ser “”. |
proxima {String} | nome da função que é executada para avançar para a próxima tela. Pode ser “”. |
texto {String} | texto que comporá a tela atual |
idatual {String} | id do elemento DIV que será criado para inserir o conteúdo definido em ‘texto” |
container {String} | id do elemento DIV já existente que receberá as telas. |
Obtém um elemento DOM a partir de seu id
$i = function( id )
Converte uma string em uma url válida
escapeURL: function( sUrl )
Cria um novo cookie.
insereCookie: function( nome, valor )
Pega o valor de um cookie.
pegaCookie: function( nome )
Lista as chaves de um objeto.
listaChaves: function ( obj )
Cria um botão flutuante do tipo aplicar.
criaBotaoAplicar: function ( nomeFuncao, titulo, classe, obj )
Cria uma árvore com base em um objeto contendo aspropriedades.
arvore: function( titulo, onde, obj )
Remove acentos de uma palavra ou frase
removeAcentos: function( palavra )
Obtém o protocolo utilizado na URL atual
protocolo: function()
Retorna a posição x,y de um objeto em relação a tela do navegador
pegaPosicaoObjeto: function( obj )
Pega o elemento pai de um elemento clicado para identificar o código do tema.
pegaElementoPai: function( e )
Altera o cursor do ponteiro do mouse.
mudaCursor: function( cursores, tipo, idobjeto, locaplic )
Cria um elemento div na página atual.
criaBox: function( id )
Esconde os BOXES com IDs registrados em i3GEO.util.BOXES
escondeBox: function()
Cria um elemento imagem na página atual.
criaPin: function( id, imagem, w, h )
Posiciona uma imagem no mapa no local onde o mouse está posicionado sobre o mapa
posicionaImagemNoMapa: function( id )
Esconde os PINS com IDs registrados em i3GEO.util.PINS
escondePin: function()
Insere ou remove pontos no mapa.
insereMarca:
Insere um ponto no mapa
cria:function( xi, yi, funcaoOnclick, container )
Inclui um arquivo shapefile no mapa atual como uma nova camada
adicionaSHP: function( path )
Abre a janela flutuante para escolha de uma cor
abreCor: function( janela, elemento, tipo )
Cria o objeto XMLHttpRequest para uso com funções próprias de chamada em ajax
ajaxhttp: function()
Executa uma chamada ajax no modo assíncrono retornando o resultado em XML.
ajaxexecASXml: function( programa, funcao )
Aplica efeito de aparecimento suave de um objetov
aparece: function( id, tempo, intervalo )
Aplica efeito de desaparecimento suave de um objeto
desaparece: function( id, tempo, intervalo, removeobj )
Calcula a extensão geográfica de uma geometria fornecida no formato WKT
wkt2ext:function( wkt, tipo )
Ordena um array contendo números.
sortNumber: function( a, b )
Calcula o tamanho da barra de rolagem, permitindo calcular o tamanho correto da área útil do navegador
getScrollerWidth: function()
Insere um javascript no documento HTML
scriptTag: function( js, ini, id )
Formata uma mensagem de texto com ícone de ?
mensagemAjuda: function( onde, texto )
Gera uma cor RGB de forma aleatória
randomRGB: function()
Converte uma cor RGB para HEX
rgb2hex: function( str )
Cria um combo (caixa de seleção) com a lista de temas existentes no mapa e de determinado tipo
comboTemas: function( id, funcao, onde, nome, multiplo, tipoCombo )
Cria uma lista com check box de temas existentes no mapa e de determinado tipo
checkTemas: function( id, funcao, onde, nome, tipoLista, prefixo, size )
Cria um combo (caixa de seleção) com a lista de itens de um layer
comboItens: function( id, tema, funcao, onde, nome )
Cria uma caixa de seleção com os valores de um item de um tema
comboValoresItem: function( id, tema, itemTema, funcao, onde )
Cria um combo (caixa de seleção) com a lista fontes de texto disponíveis
comboFontes: function( id, onde )
Cria uma caixa de seleção com as palavras sim e não
comboSimNao: function( id, selecionado )
Cria uma lista de elementos do tipo input com textos editáveis contendo a lista de itens de um tema.
checkItensEditaveis: function( tema, funcao, onde, size, prefixo )
Cria uma lista de códigos EPSG para o usuário escolher um deles.
radioEpsg: function ( funcao, onde, prefixo )
Cria uma sequência de opções com botão de anterior e próximo.
proximoAnterior: function( anterior, proxima, texto, idatual, container )