Ordem preferida de escrever tuplas de latitude e longitude nos serviços GIS

144

Ao lidar com o código-fonte GIS, você geralmente precisa escrever tuplas de coordenadas de latitude e longitude.

Por exemplo, nos links do Google Maps (123, 456):

http://maps.google.com/maps/ms?msid=214518704716144912556.00046d7689a99e95b721c&msa=0&ll=123.456&spn=0.007996,0.026865

Qual é a ordem preferida (e por quê?)

  • latitude longitude

  • longitude latitude

Eu já vi ambos sendo usados ​​em vários sistemas e espero encontrar alguma evidência para ficar com outro.

Existe uma prática padrão e, em caso afirmativo, o que é / o que são?

Mikko Ohtamaa
fonte
2
em vez de ordem preferida, você pode verificar uma compilação de casos: macwright.org/lonlat
Golimar
3
É da latitude, longitudeordem
onmyway133
1
Estou votando para encerrar esta questão, porque não se trata de programação, mas de geografia. É também uma pergunta baseada em opinião.
TylerH
1
@MikkoOhtamaa A diferença é que sua pergunta não pergunta qual é o pedido necessário para uma especificação técnica específica (que provavelmente seria tão fora de tópico quanto uma solicitação de informações de documentação externa), mas sim o método 'preferido' é [ em geral ]. O que é preferido muda com base na pessoa que você pergunta e no objetivo / contexto do uso. Como as respostas aqui mostraram, ambos os pedidos têm um número substancial de seguidores. Posteriormente, a questão da relação de programação ainda não foi totalmente resolvida.
TylerH 10/07
1
@MikkoOhtamaa Não tenho problemas com perguntas de GIS no Stack Overflow. Esta não é uma pergunta GIS; é uma pergunta "como devo solicitar a latitude / longitude" ... não há sequer um aplicativo GIS específico que você esteja solicitando. Essa pergunta ainda é baseada em opiniões (qualquer pergunta que solicite "métodos preferenciais" é baseada em opiniões), muito ampla (em que contexto, cenário ou aplicativo você está perguntando? Como as respostas mostram, é diferente com base nesses critérios), e não sobre programação (latitude e longitude não são termos de programação, mas termos de geografia).
TylerH 13/07

Respostas:

210

O EPSG: 4326 afirma especificamente que a ordem das coordenadas deve ser latitude, longitude. Muitos pacotes de software ainda usam pedidos de longitude e latitude. Essa situação causou estragos inimagináveis ​​nos prazos do projeto e na sanidade do programador.

A melhor orientação que se pode oferecer é estar ciente da ordem de eixos esperada de cada componente em sua pilha de software. O PostGIS espera lng / lat. O WFS 1.0 usa lng / lat, mas o WFS 1.3.0 adota o padrão e usa lat / lng. O GeoTools usa como padrão lat / lng, mas pode ser substituído por uma propriedade do sistema.

Os documentos do GeoTools sobre o histórico e a explicação do problema merecem uma leitura: http://docs.geotools.org/latest/userguide/library/referencing/order.html

Shane
fonte
6
Eu raramente vejo como resposta no SO.com, que afirma por que isso está bem. É melhor do que as respostas "porque o MongoDB usa" respostas.
27612 Mikko Ohtamaa
1
Seu link não concorda com você; No banco de dados EPSG, o 4326 é mapeado para um CRS geográfico com a ordem do eixo (latitude, longitude). No entanto, a maioria dos softwares no campo entende o EPSG: 4326 como um CRS geográfico com a ordem dos eixos (longitude, latitude), porque as especificações OGC herdadas foram projetadas dessa maneira.
Aaron McIver
7
As duas primeiras frases da minha resposta: EPSG: 4326 afirma especificamente que a ordem das coordenadas deve ser latitude, longitude. Muitos pacotes de software ainda usam pedidos de longitude e latitude. Isso não é exatamente o mesmo?
Shane
5
Se alguém tiver problemas com o Google Maps e fornecer um arquivo KML, o pedido será Longitude / Latitude !! Nenhuma documentação para o arquivo KML diz isso !!
precisa saber é o seguinte
2
"Nenhuma documentação para o arquivo KML diz isso" está incorreta. developers.google.com/kml/documentation/kmlreference#point "Uma única tupla que consiste em valores de ponto flutuante para longitude, latitude e altitude (nessa ordem)."
tmcw
28

A ordem preferida é por convenção latitude, longitude. Presumivelmente, isso foi padronizado pela Organização Marítima Internacional, conforme relatado aqui . O Google também usa esse pedido em seus Mapas e Terra . Lembro-me dessa ordem pensando em ordem alfabética de latitude, longitude.

Jiri Kriz
fonte
12
Exceto nos arquivos KML. As coordenadas são armazenadas como lng, lat, alt; provavelmente porque que pode ser traduzido para x, y, z
Wouter van Nifterick
23

A ordem correta é longitude, latitude, em praticamente todas as aplicações profissionais de SIG, como na matemática convencional (ou seja, f(x ,y, z)). O padrão GeoJSON é bastante típico e sucinto:

The order of elements must follow x, y, z order
(easting, northing, altitude for coordinates in a 
projected coordinate reference system, or longitude,
latitude, altitude for coordinates in a geographic
coordinate reference system).

O mesmo vale para os principais padrões do Open Geospatial Consortium (WKT e WKB e extensões como EWKB). Da mesma forma, o Google pode emitir o pedido em Lat / Lon para torná-lo mais familiar aos usuários que cresceram com esse costume (ou seja, de padrões de navegação como IMO, e não computacionais.) Mas o próprio padrão KML é como praticamente todos os outros sistemas GIS:

The KML encoding of every kml:Location and coordinate
tuple uses geodetic longitude, geodetic latitude, and
altitude (in that order).

Boa regra de ouro: se você sabe o que é uma tupla é e são de programação, você deve estar usando lon, lat. Eu diria mesmo isso se aplica se o seu usuário final (dizem que um piloto ou de um capitão de navio) preferem ver a saída em lat, lon. Você pode mudar a ordem na sua interface do usuário, se necessário, mas a grande maioria dos seus dados (shapefiles, geojson etc.) estará na ordem cartesiana normal.

desmontado
fonte
4
Vejo algumas divergências aqui: DUAS DIVERSAS escolhas - muitas!
Mikko Ohtamaa 10/09/11
6
Os leitores devem observar que a ISO 6709 afirma explicitamente que você sempre deve usar o formato [lat, lon] em qualquer interface do usuário e não é - como se pode inferir - apenas uma questão de preferência pessoal.
Iain Collins
9

Por convenção na 'vida real', ao dar uma posição, a latitude (ou seja, norte / sul) é sempre dada em primeiro lugar, por exemplo, 20 ° N 56 ° W (embora isso não siga a convenção normal se pensar em um cartesiano padrão rede); Da mesma forma, todas as coordenadas da Wikipedia seguem esta convenção (por exemplo, consulte a localização de Southampton: http://en.wikipedia.org/wiki/Southampton ). Para economizar confusão, especialmente quando as unidades não estão sendo incluídas, eu sempre recomendo que a latitude seja a 1ª em uma tupla.

ChrisW
fonte
9

Pessoalmente, nunca vi nada além de latitude seguida de longitude.

E, ao usar + e - em vez de N e S, sempre foi + é N e - é S.

Eu observei variação ao usar + e - para E e W. geralmente + foi E e - foi W. No entanto, em aplicativos mais antigos, onde eles estavam lidando demais com longitudes W, eu vi + ser W e - ser E .

Espero que você não precise lidar com aplicativos tão antigos.

Terry
fonte
É facilmente observável quando você trabalha com aplicativos em todo o mundo.
Daniel Antunes Pinto
Basta digitar qualquer par de coordenadas de longitude e latitude no Google maps e você verá que a interpreta como (long, lat), e não vice-versa. Esse é um exemplo de um sistema muito usado.
cazort
2
@cazort Por qualquer motivo, isso não acontece aqui. Por exemplo, minha cidade natal de Eugene, Oregon, está aproximadamente em N 44.1, W 123.1. Se em maps.google.com eu inserir 44.1 -123.1, ele será direcionado para Eugene. Se eu digitar -123.1 44, ele me diz que não pode encontrá-lo. Curiosamente, se eu digitar 123,1 W 44 N, ele descobrirá e vai para Eugene, para que haja alguma flexibilidade. Também reference.com/technology/… parece indicar que a ordem preferida é de lat / long. Além disso, pelo que vale a pena, o Google Earth usa lat / long.
Terry
5

Além das especificações do GeoJSON, que outros já mencionaram, existem outros casos práticos em que a longitude, a ordem de latitide é recomendada e até obrigatória - por exemplo: indexação geoespacial no MongoDB . Se você errar o pedido, suas consultas retornarão resultados incorretos, como se fosse executado novamente um conjunto de dados transposto.

Aleksander Adamowski
fonte
5

Portanto, a ordem preferida depende da preferência pessoal!

Latitude veio em primeiro lugar; o equinócio é conhecido há milênios, como os dias em que o "sol cruza o equador"; em março, passando de S para N e de setembro de N para S. A única questão poderia ter sido se o Equador deveria ter sido de 0 ou 90 graus. Ao tomar 0 graus, o ângulo entre o zênite solar vertical e o meio-dia no equinócio é a latitude de um local, em qualquer lugar do planeta. A latitude principal, ou paralelo principal se definiu efetivamente.

Longitude só poderia ser por acordo. A Grã-Bretanha concedeu um prêmio de longitude. A Grã-Bretanha precisava que seus navios soubessem onde estavam e precisava de melhores mapas. Harrison ( http://www.youtube.com/watch?v=T-g27KS0yiY ) produziu um cronômetro marinho preciso; eles enviaram viagens de mapas como, por exemplo, James Cook 1770's. A Grã-Bretanha, portanto, reivindicou o Meridiano Prime usando Greenwich como 000deg para seus mapas. Após 100 anos de uso, o Meridian Prime foi aceito internacionalmente, em 1884.

No tempo de Cristóvão Colombo, Latitude era o único número que eles tinham. A estratégia era atravessar um paralelo antes de virar à esquerda ou à direita para o destino; observando nuvens ou pássaros. Medir a velocidade em nós a cada hora era comum, mas não contava com correntes. Talvez a maior conquista de Colombo foi voltar para casa das Índias Ocidentais quatro vezes. Sem isso, as terras que ele descobriu não poderiam ser adicionadas aos mapas.

Leia "Longitude" de Dava Sobel (ISBN: 9780007214228)

Graham
fonte
1
Eu acho que ele quer dizer programaticamente e com uma referência técnica (mas eu posso estar enganado). A lição de história foi interessante, no entanto.
JWW
1
Isso não está relacionado à questão, mas definitivamente interessante. Obrigado :)
Mikko Ohtamaa
Mas faz sentido, pois, se apenas as coordenadas do mapa fossem usadas, seria sem dúvida que a ordem seria longitude, latitude, como em X, Y; a confusão só existe por causa das centenas de anos de precedência em dizer (e ouvir) latitude, longitude em todos os lugares.
Antti Haapala
5

A norma ISO 6709 padroniza a listagem do pedido como latitude, longitude por razões de segurança. A explicação de Graham acima parece correta para mim também. Alguém sugeriu que essa resposta não está relacionada à pergunta - é absolutamente, e explica por que a ordem geralmente é dada como latitude, longitude.

É assim que ele foi listado por quanto tempo os navegadores estiverem usando o sistema; mudar isso agora seria confuso e, como a ISO sugere, potencialmente perigoso. Os softwares GIS, como o ArcMap, listam o contrário, porque essa é a convenção típica para pares de coordenadas x, y. Latitude é y, longitude é x, então é assim que o Arc as lista.

vce500
fonte
1

Longitude depois Latitude (lon, lat).

Quando projetada para Mercator, a longitude define a direção x e a latitude define a direção y. A maioria das bibliotecas de geometria usa estritamente esse formato de (lon, lat), pois é a maneira mais intuitiva de pensar em coordenadas geográficas em um plano 2D.

David
fonte
3
Portanto, se essa é a maneira mais intuitiva de pensar, por que o blog do Google Earth se chama Lat-Long Blog enquanto eles usam long-lat no KML?
Theta
1
Basicamente, é que os navegadores usavam tradicionalmente a ordem lat-lon, portanto, se você mexeu com essa ordem, pode estragar suas navegações. Portanto, o Google está usando o tradicional para um blog e o pedido de plano 2D para sua estrutura de dados. respostas @mkennedy este melhores na sua resposta à mesma pergunta: gis.stackexchange.com/questions/6037/...
David