Exemplo do mundo real de Affine Transform?

9

Do artigo da Wikipedia :

Na geometria, uma transformação afim ou um mapa afim ou uma afinidade (do latim affinis, "conectado com") entre dois espaços vetoriais (a rigor, dois espaços afins) consistem em uma transformação linear seguida por uma tradução.

Alguém pode dar um exemplo do mundo real de quando e como isso é usado no GIS?

geographika
fonte

Respostas:

9

Os usos rotineiros de transformações afins 2D e 3D no GIS incluem

  • Transformações de mapa para exibição

  • Registrando imagens e rasters

  • Alterando pontos de vista 3D

  • Modificando recursos redimensionando, deslocando e girando

  • Alterações no datum (fórmulas de 3 e 7 pontos).

Eles são descritos com mais detalhes e ilustrados para o caso 2D nesta página da Web , encontrado quando você pesquisa "GIS de transformação afim". Outros hits fornecem muitos mais exemplos.

As transformações afins também fornecem algumas simplificações conceituais . Por exemplo, toda grade regular de locais é afinamente equivalente à grade de pontos com coordenadas integrais e todos os modelos elipsóides da Terra são afinamente equivalentes à esfera unitária centralizada na origem.

Finalmente, observe que ( pelo menos desde o final de 1800 ) a geometria euclidiana é o estudo do grupo de transformações afins que preservam a distância. Como quase todo o processamento GIS - índices espaciais, relações espaciais, consultas espaciais, "geoprocessamento" etc. - usa algoritmos baseados na geometria euclidiana do mapa, as transformações afins são fundamentais para o GIS.

whuber
fonte
5

Exibição

Todos os visualizadores usam transformações afins para converter coordenadas geográficas em coordenadas da tela.

Generalização

Muitas operações de transformação usadas na generalização são transformadas afins: escala, alongamento, translação, rotação etc.

julien
fonte
4

http://ian01.geog.psu.edu/geoserver/www/cartogram/discontinous.html mostra um cartograma descontínuo que eu construo usando uma transformação afim simples.

Ian Turton
fonte
11
+1 Observe que essa é uma coleção de transformações afins, uma por estado, não apenas uma única transformação. Pode-se conceber todos os cartogramas como criando uma transformação para cada recurso, mas na maioria dos casos essas transformações são mais complicadas que as afins (e geralmente não são diferenciáveis ​​ou mesmo contínuas).
whuber
3

Do doc do PostGIS :
"ST_Affine - Aplica uma transformação afim 3D à geometria para fazer coisas como traduzir, girar, dimensionar em uma única etapa."

Aí vem um exemplo bastante sujo.

Há dois anos, usei-o para construir um mapa de imagem html com capacidade de clique em uma imagem gif fornecida pelo mapserver. A consulta enviada ao PostGIS faz um buffer simplificado em torno da geometria na escala de pixels direita e recalcula, pois o mapa da imagem tem sua origem no canto superior esquerdo e a projeção do mapa tem sua origem, é claro, no canto inferior esquerdo. Então eu apenas criei o mapa de imagem escrevendo a string retornada com asp, ou se fosse php.

Eu cavei na poeira suja e encontrei o seguinte:

SELECT gid, 
    replace(
        astext(
            st_affine(
                ST_SnapToGrid(
                    st_buffer(
                        st_transscale(
                            st_simplify(
                                (st_dump(the_geom)).geom
                            , (st_length(the_geom)/50)::integer)
                        ,(-" & minx & "),(-" & miny & "),(500::double precision/" & deltax & "),(500::double precision/" & deltax & "))
                    ,5)
                ,1,1)
            ,1,0,0,-1,0,300)
        )
    ,' ',',')   
as thetext 
from
 mytable where gid in (" & theList & ") order by st_length(the_geom);

Não é bonito, mas na verdade funcionou muito bem e serviu por algum tempo.

/ Nicklas

Nicklas Avén
fonte
2

É apenas uma transformação linear de uma imagem ou conjunto de dados - isso significa que todas as coordenadas no conjunto de dados são tratadas igualmente. Por exemplo, se o ponto em (x1, y1) for escalado por a e deslocado por b, todos os outros pontos (x2, y2), (x3, y3), (xn, yn) também serão escalados por a e deslocados por b etc ... Não há dependência de onde no conjunto de dados ou na imagem os pixels residem.

dmsnell
fonte
Transformações afins são generalizações de transformações lineares. Ao contrário de uma transformação linear, uma transformação afim também pode converter pontos (deslocamento).
whuber
1

Quando recebo um mapa que é papel ou imagem digital sem acesso aos dados vetoriais, preciso de informações do mapa para sobrepor-se a outros dados. Se o mapa não for impresso ou exportado no mesmo sistema de coordenadas ou semelhante aos meus dados, será necessário não apenas registrar (colocar, girar, dimensionar). Mas para transformá-lo.

As duas maneiras que isso pode ser feito.
1. digitalize no sistema em que a imagem foi impressa e, em seguida, atribua o sistema de coordenadas apropriado e, em seguida, re-projete os dados. Ou ...
2. coloque, gire e dimensione para uma posição próxima à final e realize a transformação.

Ao escolher o tipo de transformação, você é restringido pelo número de pontos de referência identificáveis ​​nos dois conjuntos de dados.

Normalmente (depende de muitos fatores), escolha localizar a imagem perto do local de descanso final e, em seguida, realize uma transformação na folha de borracha.

Afim é uma das opções que tenho quando utilizo um número maior de pontos de referência.

Brad Nesom
fonte