Cálculos

Arquivo

i3geo/classesjs/classe_calculo.js

Licenca

GPL2

I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet

Direitos Autorais Reservados © 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar..nosp@m.moretti@mma.g.nosp@m.ov.br

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;

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.

Summary
Cálculosi3geo/classesjs/classe_calculo.js
i3GEO. calculoUtilitários para cálculos.
Propriedades
metododistanciaMétodo utilizado no cálculo de distâncias
Functions
dms2ddConverte coordenadas formatadas em DMS para DD
dd2telaConverte coordenadas dd em coordenadas de tela.
dd2dmsConverte coordenadas de dd em dms.
tela2ddConverte o x,y de unidades de tela para décimo de grau.
distanciaCalcula a distância em km entre dois pontos.
distHaversineCalcula a distância em km entre dois pontos (método Haversine).
distVincentyGiven two objects representing points with geographic coordinates, this calculates the distance between those points on the surface of an ellipsoid.
direcaoCalcula a direção (0 a 360 graus) entre dois pontos.
destinoDDCalcula as coordenadas de um novo ponto em função da posição de um ponto de origem, distância e direção
rect2extCalcula a extensão geográfica de um retângulo desenhado sobre o mapa.
ext2rectCalcula o posicionamento de um retângulo com base na extensão geográfica.

i3GEO. calculo

Utilitários para cálculos.

Summary
Propriedades
metododistanciaMétodo utilizado no cálculo de distâncias
Functions
dms2ddConverte coordenadas formatadas em DMS para DD
dd2telaConverte coordenadas dd em coordenadas de tela.
dd2dmsConverte coordenadas de dd em dms.
tela2ddConverte o x,y de unidades de tela para décimo de grau.
distanciaCalcula a distância em km entre dois pontos.
distHaversineCalcula a distância em km entre dois pontos (método Haversine).
distVincentyGiven two objects representing points with geographic coordinates, this calculates the distance between those points on the surface of an ellipsoid.
direcaoCalcula a direção (0 a 360 graus) entre dois pontos.
destinoDDCalcula as coordenadas de um novo ponto em função da posição de um ponto de origem, distância e direção
rect2extCalcula a extensão geográfica de um retângulo desenhado sobre o mapa.
ext2rectCalcula o posicionamento de um retângulo com base na extensão geográfica.

Propriedades

metododistancia

Método utilizado no cálculo de distâncias

vicenty|vicenty

Default

{vicenty}

Functions

dms2dd

dms2dd: function(cd,
cm,
cs)

Converte coordenadas formatadas em DMS para DD

Parametros

cd {Numeric}grau (com sinal de - para sul e oeste)
cm {Numeric}minuto
cs {Numeric}segundo

Return

{Numeric}Coordenada em décimos de grau.

dd2tela

dd2tela: function (vx,
vy,
docmapa,
ext,
cellsize)

Converte coordenadas dd em coordenadas de tela.

Parametros

vx {Numeric}coordenada x.
vy {Numeric}coordenada y.
docmapaobjeto DOM que contém o objeto imagem
ext {String}(opcional) extensão geográfica (espaço como separador) xmin ymin xmax ymax
cellsize {Numeric}(opcional) tamanho no terreno em DD de cada pixel da imagem

Returns

{Array}Array com o valor de x [0] e y [1]

dd2dms

dd2dms: function(x,
y)

Converte coordenadas de dd em dms.

Parametros

x {Numeric}coordenada x.
y {Numeric}coordenada y.

Returns

{Array}Array com o valor de x [0] e y [1] no formato dd mm ss

tela2dd

tela2dd: function(xfign,
yfign,
g_celula,
imgext,
idorigem)

Converte o x,y de unidades de tela para décimo de grau.

Parametros

xfign {Numeric}x em valores de imagem.
yfign {Numeric}y em coordenadas de imagem.
g_celula {Numeric}tamanho no terreno do pixel da imagem em dd.
imgext {String}extensão geográfica do mapa.
idorigem {string}(opcional) id do objeto que originou o cálculo (é usado para identificar se o cálculo está sendo feito sobr o mapa de referência ou não)

Returns

{Array}Coordena em dd x[0] e y[1].

distancia

distancia: function(lon1,
lat1,
lon2,
lat2)

Calcula a distância em km entre dois pontos.

O método de cálculo é definido na variável i3GEO.calculo.metododistancia

Parametros

lon1 {Numeric}x inicial.
lat1 {Numeric}y inicial
lon2 {Numeric}x final
lat2 {Numeric}y final

Return

Type

{Numeric}

distHaversine

distHaversine: function(lon1,
lat1,
lon2,
lat2)

Calcula a distância em km entre dois pontos (método Haversine).

Baseado no site http://www.movable-type.co.uk- /scripts- /latlong.html (indicado por lour.nosp@m.iques@yahoo..nosp@m.com.br)

Em versões anteriores utilizava-se o cálculo proposto em http://www.wcrl.ars.usda.gov- /cec- /java- /lat-long.htm

Parametros

lon1 {Numeric}x inicial.
lat1 {Numeric}y inicial
lon2 {Numeric}x final
lat2 {Numeric}y final

Return

Type

{Numeric}

distVincenty

distVincenty: function(lon1,
lat1,
lon2,
lat2)

Given two objects representing points with geographic coordinates, this calculates the distance between those points on the surface of an ellipsoid.

Baseado em OpenLayers.Util.distVincenty

Parametros

lon1 {Numeric}x inicial.
lat1 {Numeric}y inicial
lon2 {Numeric}x final
lat2 {Numeric}y final

Return

{Numeric}The distance (in km) between the two input points as measured on an ellipsoid.  Note that the input point objects must be in geographic coordinates (decimal degrees) and the return distance is in kilometers.

direcao

direcao: function(lon1,
lat1,
lon2,
lat2)

Calcula a direção (0 a 360 graus) entre dois pontos.

Baseado no site http://www.movable-type.co.uk- /scripts- /latlong.html (indicado por lour.nosp@m.iques@yahoo..nosp@m.com.br)

Parametros

lon1 {Numeric}x inicial.
lat1 {Numeric}y inicial
lon2 {Numeric}x final
lat2 {Numeric}y final

Return

Ângulo em décimos de grau

Type

{Numeric}

destinoDD

destinoDD: function(lon,
lat,
d,
direcao)

Calcula as coordenadas de um novo ponto em função da posição de um ponto de origem, distância e direção

O novo ponto é calculado em coordenadas geográficas em DD

Baseado no site http://www.movable-type.co.uk- /scripts- /latlong.html (indicado por lour.nosp@m.iques@yahoo..nosp@m.com.br)

Parametros

lon {Numeric}longitude (x) do ponto de origem
lat {Numeric}latitude do ponto de origem
d {Numeric}distância em Km
direção {Numeric}ângulo desejado em décimos de grau (direção de 0 a 360)

Return

Array com a longitude e latitude em décimos de grau ([0] = longitude, [1] = latitude

Type

{Array}

rect2ext

rect2ext: function(idrect,
mapext,
pixel)

Calcula a extensão geográfica de um retângulo desenhado sobre o mapa.

Parametros

idrectid do elemento html com o retangulo
mapextextensao geografica do mapa onde está o retangulo
pixeltamanho do pixel do mapa em dd

return

{Array}extensão, xmin, ymin, xmax, ymax

ext2rect

ext2rect: function(idrect,
mapext,
boxext,
pixel,
documento)

Calcula o posicionamento de um retângulo com base na extensão geográfica.

Parametros

idrect {String}id do elemento html com o retangulo, pode ser vazio
mapext {String}extensao geografica do mapa onde está o retangulo
boxext {String}extensao geografica do retangulo
pixel {Number}tamanho do pixel do mapa em dd
documento {Object DOM}objeto sob o qual o retângulo será posicionado

Return

{Array}width,heigth,top,left
dms2dd: function(cd,
cm,
cs)
Converte coordenadas formatadas em DMS para DD
dd2tela: function (vx,
vy,
docmapa,
ext,
cellsize)
Converte coordenadas dd em coordenadas de tela.
dd2dms: function(x,
y)
Converte coordenadas de dd em dms.
tela2dd: function(xfign,
yfign,
g_celula,
imgext,
idorigem)
Converte o x,y de unidades de tela para décimo de grau.
distancia: function(lon1,
lat1,
lon2,
lat2)
Calcula a distância em km entre dois pontos.
distHaversine: function(lon1,
lat1,
lon2,
lat2)
Calcula a distância em km entre dois pontos (método Haversine).
distVincenty: function(lon1,
lat1,
lon2,
lat2)
Given two objects representing points with geographic coordinates, this calculates the distance between those points on the surface of an ellipsoid.
direcao: function(lon1,
lat1,
lon2,
lat2)
Calcula a direção (0 a 360 graus) entre dois pontos.
destinoDD: function(lon,
lat,
d,
direcao)
Calcula as coordenadas de um novo ponto em função da posição de um ponto de origem, distância e direção
rect2ext: function(idrect,
mapext,
pixel)
Calcula a extensão geográfica de um retângulo desenhado sobre o mapa.
ext2rect: function(idrect,
mapext,
boxext,
pixel,
documento)
Calcula o posicionamento de um retângulo com base na extensão geográfica.