Como converter coordenadas do plano de estado em latitude-longitude?

32

Dado um sistema específico de coordenadas do plano de estado (NAD27 ou NAD83), existem recursos para converter em latitude-longitude?

Richard Morgan
fonte

Respostas:

19

Você precisará reprojetá-los para lidar com essa conversão.

O Proj.4 é uma biblioteca muito padrão, usada por muitos softwares para reprojeções.

Um meio de usar isso seria usar um utilitário como gdaltransform para fazer a transformação por você.

Reed Copsey
fonte
9

Se você conhece os códigos EPSG relevantes ou os parâmetros do proj.4, ambos gdaltransforme o proj.4 cs2cs( página de manual ) são uma boa rota, como Reed mencionou.

No entanto, se você se encontrar sem essas informações, tente spatialreference.org : fornece os parâmetros e um mapa da web para fazer uma lat / long para coordenar a transformação do sistema ( exemplo com o plano de estado da IL ). Como muitas das projeções do plano de estado carecem de um código EPSG, use sr.org para encontrar a sequência proj.4, que gdaltransformcompreende. Aqui está um exemplo de conversão de pares de lat / longitude da Zona Estadual da Califórnia V para WGS84:

gdaltransform -s_srs '+proj=lcc +lat_1=34.03333333333333 \ 
+lat_2=35.46666666666667 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 \ 
+ellps=GRS80 +units=m +no_defs' -t_srs epsg:4326

Depois disso, a digitação 1815241.25377291 557301.336190851deve retornar -120 33.9999999999996.

scw
fonte
Isso está certo, mas há um erro de digitação, o argumento -s_srs é fornecido duas vezes. O comando deve terminar em -t_srs:gdaltransform -s_srs '+proj=lcc +lat_1=34.03333333333333 +lat_2=35.46666666666667 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs' -t_srs epsg:4326
alvin
@ alvin, corrigi o erro de digitação, obrigado pelo aviso!
ACS
8

Cliente ou servidor? Idioma específico? Único ou a granel?

Por exemplo - para o cliente - com JavaScript - use OpenLayers + Proj4js.

0) Importe todas as bibliotecas apropriadas

1) crie seu ponto

var lonlat = new OpenLayers.LonLat( ....)

2) converta

lonlat.transform( new OpenLayers.Projection("epsg:XXXX"), new OpenLayers.Projection("epsg:4326"));

agora lonlat.lon e lonlat.lat estão nos valores lon / lat WGS84.

Vadim
fonte
Isso funciona, mas requer desenvolvimento personalizado. Não tenho certeza se o OP queria apenas uma ferramenta utilizável.
Reed Copsey
1
Certo, eu estava apenas dando um exemplo - lado do cliente, javascript, no código. OP não especificou o que estava procurando. Até a resposta aceita é uma biblioteca. Também existem muitos sites que fornecem um formulário simples para inserir manualmente as cordas e permitem transformar.
Vadim
6

Um programa gratuito e extremamente fácil é o CorpsCon, que converte pontos únicos, lotes de pontos em arquivos de texto e possui uma DLL que pode ser usada em ambientes de programação como o python.

09-07-2014: o link atualizado é http://www.agc.army.mil/Missions/Corpscon.aspx Clicar em "Download CorpsCon" leva você a uma página que parece um pouco estranha e temporária, mas funciona.

Dennis
fonte
O link está inoperante. Você gosta de outro?
Scott_B
Estou interessado em usar a Corpscon dll em python. Existe alguma documentação para isso que eu não vi nenhuma no site da corpscon.
Gary Lester
Há algum tempo, comecei a usar o pyproj para todas as transformações dentro do python no final do post listado abaixo. Você pode ver como isso pode ser feito com muita facilidade em apenas algumas linhas. dshimer.blogspot.com/2012/11/…
Dennis
3

Se você quiser criar você mesmo, aqui está um documento do National Geodetic Survey que descreve as transformações:

http://www.ngs.noaa.gov/PUBS_LIB/ManualNOSNGS5.pdf

Você ainda precisará conhecer os parâmetros específicos para a projeção de interesse.

Andy
fonte
2

Outra opção (mas apenas para o NAD83) é o SPCS83 em http://www.ngs.noaa.gov/PC_PROD/SPCS83 . É executado em uma janela de linha de comando em um PC e converte interativamente ou a partir de uma entrada de arquivo de texto. Ele inclui o código-fonte se você realmente deseja apenas o algoritmo. A origem é Fortran, que pode ser uma tarefa difícil de usar, mas é fácil de decifrar para obter os algoritmos. Consulte também www.metzgerwillard.us/spcge/spcge.html, que é um front end para o SPCS83 no Google Earth.

Jersey Andy
fonte
2

Confira o serviço de tradução gratuita. Carregue seus dados e especifique o sistema de coordenadas de saída desejado. Ao selecionar o mesmo formato de saída que a entrada, você efetivamente executa uma reprojeção.

O serviço pode ser encontrado em http://fmeserver.com/userweb/sharper/Portal/EasyTranslator/index.html

e é baseado no produto FME. Também há um teste gratuito de 14 dias disso. www.safe.com

donatsafe
fonte
1

Este site pode ajudar se você estiver apenas procurando converter um único ponto. Não funcionou para mim, mas parece estar funcionando na maioria das áreas.

http://www.earthpoint.us/stateplane.aspx

Sean Hirschi
fonte