Qual é o comprimento máximo de latitude e longitude?


320

Quanto tempo pode ter latitude e longitude?

Estou recebendo comprimentos muito longos enviados por um dispositivo Windows Phone:

Latitude=-63572375290155
Longitude=106744840359415

Isso está excedendo o tamanho da coluna da minha tabela e estou recebendo erros.


7
Tem certeza de que são lat / long? Max / Min deles são lat +90 a -90 long +180 a -180, eu diria que há uma vírgula ausente ... salvá-la como float no db seria suficiente, se estiver formatada corretamente. Mas acho que algo der errado, porque seus valores não pode ser verdade
Xavjer

2
Você está usando alguma API para obter esses valores. Presumivelmente, a API vem com documentação. O que a documentação diz sobre as unidades?
NPE

19
Eu suspeito que os números sejam na verdade -63.572375290155 e 106.744840359415, que fica ao largo da costa da Antártica. Uma latitude ou longitude com sete casas decimais tem precisão de 5 pés. Mais de 8 casas decimais é ruído.
Gilbert Le Blanc


1
Estou votando para encerrar esta questão como fora de tópico, porque não se trata de desenvolvimento de software.
Jim G.

Respostas:


646

O intervalo válido de latitude em graus é -90 e +90 para o hemisfério sul e norte, respectivamente. A longitude está no intervalo -180 e +180, especificando as coordenadas a oeste e leste do Meridiano de Greenwich, respectivamente.

Para referência, o Equador tem uma latitude de 0 °, o pólo norte tem uma latitude de 90 ° norte (escrita 90 ° N ou + 90 °) e o pólo sul tem uma latitude de -90 °.

O Meridian Prime tem uma longitude de 0 ° que passa por Greenwich, Inglaterra. A International Date Line (IDL) segue aproximadamente a 180 ° de longitude. Uma longitude com um valor positivo cai no hemisfério oriental e um valor negativo cai no hemisfério ocidental.

Graus decimais de precisão

A precisão de seis (6) casas decimais em coordenadas usando a notação de graus decimais tem uma resolução de 10 cm (ou 0,1 metro). Cada diferença de 0,000001 no grau decimal da coordenada tem aproximadamente 10 cm de comprimento. Por exemplo, as imagens do Google Earth e do Google Maps geralmente têm a resolução de 1 metro e alguns lugares têm uma resolução mais alta de 1 polegada por pixel. A resolução de um metro pode ser representada usando 5 casas decimais, portanto mais de 6 casas decimais são estranhas para essa resolução. A distância entre longitudes no equador é igual à latitude, mas a distância entre longitudes chega a zero nos polos, à medida que as linhas do meridiano convergem nesse ponto.

Se o valor de Latitude for relatado como -6,3572375290155 ou -63,572375290155, você poderá arredondar e armazenar até 6 casas decimais com precisão de 10 cm (ou 0,1 metro).

Para milímetros (mm), a precisão representa lat / lon com 8 casas decimais no formato de graus decimais. Como a maioria dos aplicativos não precisa desse nível de precisão, 6 casas decimais são suficientes para a maioria dos casos.

Na outra direção, graus decimais inteiros representam uma distância de ~ 111 km (ou 60 milhas náuticas) e uma diferença de 0,1 graus decimais representa uma distância de ~ 11 km.

Aqui está uma tabela com # diferença de casas decimais em latitude com os graus delta e a distância estimada em metros usando 0,0 como ponto de partida.

decimal  decimal     distance
places   degrees    (in meters)
-------  ---------  -----------
  1      0.1000000  11,057.43      11 km
  2      0.0100000   1,105.74       1 km
  3      0.0010000     110.57
  4      0.0001000      11.06
  5      0.0000100       1.11
  6      0.0000010       0.11      11 cm
  7      0.0000001       0.01       1 cm

Representação em graus-minuto-segundo (DMS)

Para notação DMS 1 arco segundo = 1/60/60 grau = ~ 30 metros de comprimento e 0,1 delta de segundo de arco é ~ 3 metros.

Exemplo:

  • 0 ° 0 '0 "W, 0 ° 0' 0" N -> 0 ° 0 '0 "W, 0 ° 0' 1" N => 30.715 metros
  • 0 ° 0 '0 "W, 0 ° 0' 0" N -> 0 ° 0 '0 "W, 0 ° 0' 0,1" N => 3,0715 metros

1 minuto de arco = 1/60 grau = ~ 2000m (2km)

UPDATE: Aqui está uma postagem divertida sobre precisão de coordenadas.


2
E a Longtitude. Quanta precisão de casa decimal é suficiente para mantê-la.
ArunRaj

14
A diferença de 6 casas decimais (0,000001) na latitude é de ~ 0,11 metros de comprimento e na longitude é de ~ 0,11 metros de latitude perto do equador e perto do delta dos pólos na longitude é uma distância muito menor (4 graus decimais se torna 20 cm). Portanto, em média, 6 casas decimais são suficientes para 10 cm de resolução.
JasonM1 17/03

4
Obrigado pela explicação adorável.
ArunRaj

1
Posso sugerir o uso no 0.1 mlocal em que você está usando no momento 10 cm(exceto quando você diz "aproximadamente 10 cm"). Caso contrário, excelente resposta.
Floris


192
  • Latitude : max / min +90a-90

  • Longitude : max / min +180a-180


@ RickJames Infelizmente, em alguns países, sim.
vpibano

31

As longitudes válidas são de -180 a 180 graus.

Supõe-se que as latitudes sejam de -90 a 90 graus, mas as áreas muito próximas aos polos não são indexáveis.

Os limites exatos, conforme especificado por EPSG: 900913 / EPSG: 3785 / OSGEO: 41001, são os seguintes:

  • As longitudes válidas são de -180 a 180 graus.
  • As latitudes válidas são de -85,05112878 a 85,05112878 graus.

7
Os limites mencionados nesta resposta são para uma PROJEÇÃO MAP específica. Esta resposta não é válida para a pergunta e é enganosa. Uma questão completamente diferente.
Bugmenot123

Você sabe por que as latitudes válidas são de -85 a 85? Eu tenho procurado por toda parte para descobrir a razão por trás disso. Eu adoraria saber a razão por trás disso.
Ludvig W

2
@Lurr Talvez porque você não queira terminar no Pólo Norte e Sul. Se a terra é um pouco achatar nos pólos, então não faz sens a desaparecer e nivela cerca de 85 antes que ele atinja o grau 90
Nditah

24

O total máximo de latitude é: 9 (12.3456789), longitude 10 (123.4567890), ambos têm no máximo 7 caracteres decimais (pelo menos é o que posso encontrar no Google Maps ),

Por exemplo, as duas colunas no Rails e no Postgresql são mais ou menos assim:

t.decimal :latitude, precision: 9, scale: 7
t.decimal :longitude, precision: 10, scale: 7

8

O tipo de dados ideal para armazenar valores Lat Long no SQL Server é decimal (9,6)

Como já foi dito, isso tem aproximadamente 10 cm de precisão, enquanto utiliza apenas 5 bytes de armazenamento.

por exemplo CAST(123.456789 as decimal(9,6)) as [LatOrLong]



0

Estou ciente de que já existem várias respostas, mas adicionei isso, pois adiciona informações substanciais sobre as casas decimais e, portanto, o tamanho máximo solicitado.

O comprimento da latitude e langitude depende da precisão. O comprimento máximo absoluto para cada um é:

  • Latitude: 12 caracteres (exemplo: -90.00000001)
  • Longitude: 13 caracteres (exemplo: -180.00000001)

Para ambas as retenções: é possível um máximo de 8 locais de decalque (embora não seja comumente usado).

Explicação para a dependência da precisão:

insira a descrição da imagem aqui

Veja a tabela completa no artigo sobre graus decimais na Wikipedia

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.