Eu tenho uma nuvem de pontos cujas coordenadas estão em relação a um sistema de coordenadas local. Eu também tenho pontos de controle de solo com valores de GPS. Posso converter essas coordenadas locais em um sistema de coordenadas global usando o PROJ.4 ou qualquer outra biblioteca?
Qualquer código em Python para o problema mencionado acima seria uma grande ajuda.
python
coordinate-system
gps
proj
ground-control
user18953
fonte
fonte
Respostas:
Você parece estar tentando conduzir uma transformação afiada entre o sistema de coordenadas local e um sistema de coordenadas georreferenciadas.
Afim transforma todos os sistemas de coordenadas de forma subjacente e pode ser representado pela equação da matriz abaixo.
No entanto, você tem um problema de duas etapas.
O Projeto 4 destaca-se em # 2: transferência entre sistemas de coordenadas georreferenciadas com matrizes de transformação conhecidas. No meu conhecimento, não é possível encontrar uma matriz de transformação a partir de dados pontuais. No entanto, você pode fazer a coisa toda facilmente usando alguma álgebra linear leve (uma inversão de matriz dos mínimos quadrados) em Numpy. Eu usei uma versão desta classe para reduzir dados de vários estudos de campo:
Pode ser usado como tal:
projected_coordinates
agora está no WGS84, UTM ou em qualquer sistema de coordenadas gravado pelo seu GPS. Uma característica importante desse método é que ele pode ser usado com qualquer número de pontos de empate (3 ou mais) e, com precisão, quanto mais pontos de empate forem usados. Você está essencialmente encontrando o melhor ajuste em todos os seus pontos de empate.fonte
A função de transformação de grama faz exatamente o que você precisa, mesmo que não seja baseado em python ou proj, conforme solicitado:
http://grass.osgeo.org/grass65/manuals/g.transform.html
fonte
É sempre mais fácil identificar o sistema de coordenadas local, como fizemos aqui:
Projeção estereográfica do elipsóide WGS84 em um avião [python]
Agora o GDAL é capaz de transformar dados vetoriais usando pontos GCP.
fonte
Eu estava preso no mesmo problema há algumas semanas, descobri um script python que pode ajudar. Solução original daqui
fonte