¿Ejemplo del mundo real de la transformación afín?

9

Del artículo de Wikipedia :

En geometría, una transformación afín o un mapa afín o una afinidad (del latín affinis, "conectado con") entre dos espacios vectoriales (estrictamente hablando, dos espacios afines) consiste en una transformación lineal seguida de una traducción.

¿Alguien puede dar un ejemplo del mundo real de cuándo y cómo se usa esto en SIG?

geographika
fuente

Respuestas:

9

Los usos rutinarios de transformaciones afines 2D y 3D en SIG incluyen

  • Transformaciones de mapa a visualización

  • Registrar imágenes y rásteres

  • Cambiar puntos de vista 3D

  • Modificación de características mediante reescalado, desplazamiento y rotación

  • Cambios de datos (fórmulas de 3 puntos y 7 puntos).

Estos se describen con más detalle e ilustrados para el caso 2D en esta página web , que se encuentra cuando busca "SIG de transformación afín". Otros éxitos proporcionan muchos más ejemplos.

Las transformaciones afines también proporcionan algunas simplificaciones conceptuales . Por ejemplo, cada cuadrícula regular de ubicaciones es equivalente a la cuadrícula de puntos con coordenadas integrales y todos los modelos elipsoidales de la Tierra son equivalentes a la esfera unitaria centrada en el origen.

Finalmente, tenga en cuenta que ( al menos desde finales de 1800 ) la geometría euclidiana es el estudio del grupo de transformaciones afines que preservan la distancia. Debido a que casi todo el procesamiento de SIG (índices espaciales, relaciones espaciales, consultas espaciales, "geoprocesamiento", etc.) utiliza algoritmos basados ​​en la geometría euclidiana del mapa, las transformaciones afines son fundamentales para los SIG.

whuber
fuente
5

Monitor

Todos los espectadores usan transformaciones afines para convertir coordenadas geográficas en coordenadas de pantalla.

Generalización

Muchas operaciones de transformación utilizadas en generalización son transformaciones afines: escala, estiramiento, traslación, rotación, etc.

julien
fuente
4

http://ian01.geog.psu.edu/geoserver/www/cartogram/discontinous.html muestra un cartograma discontinuo que construyo usando una simple transformación afín.

Ian Turton
fuente
1
+1 Tenga en cuenta que esta es una colección de transformaciones afines, una por estado, no solo una transformación. Uno puede concebir que todos los cartogramas crean una transformación para cada característica, pero en la mayoría de los casos esas transformaciones son más complicadas que las afines (y a menudo no son diferenciables o incluso continuas).
whuber
3

Del documento de PostGIS :
"ST_Affine: aplica una transformación afín 3D a la geometría para hacer cosas como traducir, rotar, escalar en un solo paso".

Aquí viene un ejemplo bastante sucio.

Hace dos años lo usé para construir un mapa de imagen html en el que se puede hacer clic en una imagen gif entregada desde el servidor de mapas. La consulta enviada a PostGIS crea un búfer simplificado alrededor de la geometría en la escala de píxeles derecha y vuelve a calcular ya que el mapa de la imagen tiene su origen en la esquina superior izquierda y la proyección del mapa tiene su origen, por supuesto, en la esquina inferior izquierda. Luego, acabo de crear el mapa de imagen escribiendo la cadena devuelta con asp, o si era php.

Excavé el polvo sucio y encontré esto:

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);

No es hermoso, pero en realidad funcionó muy bien y sirvió durante algún tiempo.

/ Nicklas

Nicklas Avén
fuente
2

Es solo una transformación lineal de una imagen o conjunto de datos, esto significa que todas las coordenadas en el conjunto de datos se tratan por igual. Por ejemplo, si el punto en (x1, y1) es escalado por a y desplazado por b, entonces todos los demás puntos (x2, y2), (x3, y3), (xn, yn) también serán escalados por a y desplazados por b, etc. ... No hay dependencia de en qué parte del conjunto de datos o imagen residen los píxeles.

dmsnell
fuente
Las transformaciones afines son generalizaciones de transformaciones lineales. A diferencia de una transformación lineal, una transformación afín también puede traducir (desplazar) puntos.
whuber
1

Cuando recibo un mapa que es papel o imagen digital sin acceso a los datos del vector, y necesito información del mapa para superponerlo con otros datos. Si el mapa no se imprime o exporta en el mismo sistema de coordenadas o similar que mis datos, entonces no solo necesito registrarme (colocar, rotar, escalar). Pero para transformarlo.

Las dos formas en que esto se puede hacer.
1. digitalice en el sistema la imagen impresa y luego asigne el sistema de coordenadas apropiado y luego vuelva a proyectar los datos. O ...
2. colocar, rotar y escalar a una posición cercana a la final y realizar la transformación.

Al elegir el tipo de transformación, está restringido por el número de puntos de referencia identificables en ambos conjuntos de datos.

Usualmente (depende de muchos factores) elijo ubicar la imagen cerca de su lugar de descanso final y luego realizar una transformación de la hoja de goma.

Affine es una de las opciones que tengo cuando utilizo un mayor número de puntos de referencia.

Brad Nesom
fuente