18 votos

Cómo calcular los parámetros para QGIS transformación Afín?

Tengo un vector plano (DXF) que he añadido a un proyecto en blanco en QGIS usando el Dxf2Shp plugin. He estado leyendo tutoriales y StackExchange hilos, pero me parece que no puede averiguar cómo "georreferenciar" mi capa.

Estoy asumiendo que de alguna manera se puede seleccionar las esquinas del edificio y la lat/long.

Mi objetivo es exportar un archivo de forma que se puede utilizar con TileMill y TileStache.

Editar

Me di cuenta de que el proyecto de coordenadas eran en realidad coordenadas en lat/long:

enter image description here

Y necesito usar el "Afín (Rotación, la Traducción de la Escala)" plugin "lugar" mi dibujo de CAD (Gracias @nhopton).

Si alguien sabe de un buen tutorial para el uso de ese plugin, yo estaría muy agradecido!

30voto

Elliott Maynard Puntos 11

En primer lugar usted necesita para su proyecto coordenadas geográficas a coordenadas cartesianas 2D sistema de coordenadas, desde transformaciones afines no se aplican a los sistemas de coordenadas geográficas.

Se puede aplicar una transformación afín de puntos de control o de los parámetros de transformación. El plugin de QGIS le pide que los parámetros de transformación, pero es mucho más común que un usuario tiene el control de los puntos.

A partir de los puntos de control se pueden calcular los parámetros de transformación. Para una transformación afín hay 6 parámetros de transformación, por lo que se necesitan al menos 3 puntos de control (cada punto de control implica 4 coordenadas: Xsource, Ysource, Xtarget, Ytarget), pero más puntos de control se recomienda tener redundancia y por lo tanto ser capaz de aplicar los mínimos Cuadrados, lo que le daría una estimación de la transformación de la calidad. Recuerde que las transformaciones afines pueden rotar, desplazar, escalar (incluso la aplicación de diferentes factores en cada eje) y sesgo de geometrías.

Los puntos de Control debe tener la forma:

X SOURCE: Xs
Y SOURCE: Ys
X TARGET: Xt
Y TARGET: Yt

Los parámetros son:

a: Scale X 
e: Scale Y
d: Rotation X
b: Rotation Y
c: Translation X
f: Translation Y

Y sabemos que:

Xt = X*a + Y*b + c
Yt = X*d + Y*e + f

Así, usted necesita para resolver este sistema de ecuaciones (3 puntos de control):

¦ Xs1 Ys1 1 0 0 0 ¦ | a ¦   ¦ Xt1 ¦
¦ Xs2 Ys2 1 0 0 0 ¦ ¦ b ¦   ¦ Xt2 ¦ 
¦ Xs3 Ys3 1 0 0 0 ¦ ¦ c ¦ = ¦ Xt3 ¦ 
¦ 0 0 0 Xs1 Ys1 1 ¦ ¦ d ¦   ¦ Yt1 ¦ 
¦ 0 0 0 Xs2 Ys2 1 ¦ ¦ e ¦   ¦ Yt2 ¦ 
¦ 0 0 0 Xs3 Ys3 1 ¦ ¦ f ¦   ¦ Yt3 ¦

Donde los parámetros a, b, c, d, e, y f son desconocidos.

Una vez que usted calcule los parámetros a, b, c, d, e, y f, (por ejemplo con esta ecuación solver) lugar en el plugin de QGIS interfaz como esta:

X' = a*x + b*y + c
Y' = d*x + e*y + f

o:

Affine transformation parameters

Creo que esto resuelve tus dos preguntas, si algo no está claro, solo dime.

2voto

Brian Jurgelewicz Puntos 31

El uso de OpenJump para calcular la transformación afín parámetros de rendimientos:

Scale x: 0.02550720529745378
Scale y: 0.025669710194697357
Rotation: -88.6538203230914
Dx: 357101.9 (Translation x)
Dy: 4512814.6 (Translation y)

Estos parámetros cuando se aplican correctamente debe transformar su shapefile de los locales de la agencia que se utiliza para WGS84/UTM Zona 17 del Norte (EPSG:32617). En QGIS la transformación de los datos pueden ser exportados ("guardar como"), al CRS; Google Mercator o lat/lon, por ejemplo.

La mala noticia es que nunca he sido capaz de utilizar correctamente el QGIS afín plug-in para las transformaciones que incluyen la rotación. Por algunas cuentas que funciona para otras personas pero no para mí, así que debe ser algo estoy haciendo mal. Si alguien pudiera decirme qué es esto, yo estaría agradecido.

Hay un hilo aquí en affining vectores que es bien vale la pena leer. El método que yo uso para affining vectores se explica aquí en la parte inferior de la primera página.

Si usted consigue realmente atascado puede publicar un enlace a la shapefile y todos podemos ir a conseguir que se transforme.

Una idea de último momento. Si usted decide probar el OpenJump método necesitará el WGS84/UTM Zona 17 del Norte (EPSG:32617) las coordenadas de las lat/lon puntos:

EPSG:32617: 361154.4 4513930.1
lat/long: 40.764622,-82.645056
shapefile coor: 947.3,1242.8

EPSG:32617: 361152.2 4513850.3
lat/long: 40.763903,-82.645064
shapefile coor: 4050.3,1035.7

EPSG:32617: 361246.5 4513886.7
lat/long: 40.764247,-82.643956
shapefile coor: 2710.5,4765.2

Saludos, Nick.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X