posição de pixel / array para lat long gdal Python

niaR

Estou tentando converter posições em um raster que representa um .tif para as coordenadas globais correspondentes. Convertendo todo o array para um tif e carregá-lo para QGIS tudo é referenciado corretamente, mas usando o método de cálculo abaixo para pontos únicos, há um ligeiro deslocamento (para leste-nordeste nas coordenadas resultantes ....

raster.tif usa ETRS 89 UTM Zona 32N

Alguém tem uma ideia?

from osgeo import ogr, gdal, osr
import numpy as np


raster = gdal.Open("rasters/raster.tif")
raster_array = np.array(raster.ReadAsArray())


def pixel2coord(x, y):
     xoff, a, b, yoff, d, e = raster.GetGeoTransform()
     xp = a * x + b * y + xoff
     yp = d * x + e * y + yoff
     return(xp, yp)


print(pixel2cood(500,598))
t_pr

Acho que o problema pode ser que xoff e yoff contêm coordenadas do canto superior esquerdo do pixel superior esquerdo, e você precisa calcular as coordenadas do centro do pixel.

def pixel2coord(x, y):
    xoff, a, b, yoff, d, e = raster.GetGeoTransform()

    xp = a * x + b * y + a * 0.5 + b * 0.5 + xoff
    yp = d * x + e * y + d * 0.5 + e * 0.5 + yoff
    return(xp, yp)

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Conversão de coordenadas geográficas (long, lat) em posição de pixel (x, y) para uma imagem SAR Sentinel-1

Como converter o UTM para Lat / Long em Python?

Como encontrar locais (Lat, Long) a uma distância da minha posição de usuário (Lat, Long) com solr?

Como obter elevação de cada pixel por gdal?

qual é a precisão de traçar posições lat / long em um mapa?

Obtendo lat / long de localização errada

converter LAT / Long para endereço de localização no iOS swift

Como mapear o local mais próximo por lat-long de um para muitos

Posicione a direção de um marcador no folheto reagente voltado para um [long, lat]

Posicione a direção de um marcador no folheto reagente voltado para um [long, lat]

Fazendo consulta para encontrar o múltiplo mais próximo (Lat, Long) do único (Lat, Long)

imagem python para desempenho de conversão de pixel

Trouver les coordonnées des pixels à partir du point lat/long dans .geotiff en utilisant python et gdal

Gráfico VB.Net: Dica de ferramenta para posição de série e pixel

Transformação PyProj de coordenadas de plano de estado CA para Lat, Long não conforme o esperado

Passe LAT LONG para o Google Maps da CodeBehind

Java - Conversão de String Array para Long Array

Python Non-Loop Way para alterar valores de array com base na posição de linha e coluna

Converta a posição do jogo para lat lng no mapa girado

Array de pesquisa em Python, posição de retorno

Altere o eixo de lat long ao usar JTS jackson

Lat Long não aparecerá no mapa de calor com ipyleaflet

Usando o conjunto de Lat Long Create TURF no Bing Map

Excluindo uma posição para outra posição de elementos da lista em python

Como usar o ffmpeg para posicionar um vídeo exatamente em uma posição de pixel específica em jpeg?

A posição do elemento muda após alterar o valor esquerdo e superior de pixel para porcentagem

Problemas com a instalação do GDAL para Python 3.7.3

Possibilidades de compressão para long array específico

THREE.js convertendo de vetor 3D para posição de pixel 2D, interpretando coordenada z