Varias de las respuestas proporcionadas aquí ya no son opciones para QGIS 3, y / o solo permiten transformaciones lineales del archivo vectorial que se georreferencia. Esto puede responder a la pregunta del OP, pero otros que miran esta publicación pueden querer otras opciones de transformación para georreferenciar archivos vectoriales.
Problemas con algunas de las soluciones para archivos vectoriales de georreferenciación:
El complemento qgsAffine solo permite transformaciones lineales. Esto significa que puede escalar, rotar y mover el archivo vectorial, pero no puede doblar ni deformar el archivo vectorial. El Georeferenciador para archivos ráster ofrece más opciones y permite una variedad de transformaciones, incluyendo polinomios de segundo orden y splines de placa delgada. Además, no parece que el complemento qgsAffine todavía esté disponible en QGIS 3.
El módulo GRASS v.transform es similar al complemento qgsAffine y solo permite transformaciones lineales.
Parece que el complemento Vector Bender era una buena opción, pero no se ha portado completamente a QGIS 3, por lo que actualmente no es una opción. Parece que ya no se mantiene.
Usar ogr2ogr, como se sugiere en la publicación de HeikkiVesanto, es una buena opción. Le permite a uno usar GCP (puntos de control de tierra) y especificar qué tipo de transformación le gustaría. No pude encontrar instrucciones en ninguna parte sobre cómo hacer esto, así que he incluido algunas instrucciones a continuación:
Genere un conjunto de pares GCP, siendo un punto la ubicación original en el archivo vectorial no referenciado y el otro punto la ubicación deseada en su espacio de trabajo georreferenciado.
Hay una variedad de formas de generar GCP. Usé el complemento Georeferencer GDAL en QGIS. Está disponible en el menú desplegable Ráster, después de que se instala utilizando el Administrador de complementos. Solo funciona en archivos ráster, por lo que primero debe convertir el archivo vectorial en un archivo ráster. Esto es posible con "Caja de herramientas de procesamiento: GDAL: Conversión de vectores: Rasterizar (vector a ráster)". Establezca la resolución en un número que aún le permita ver las características del archivo vectorial.
El Georeferenciador tiene una interfaz agradable que le permite agregar muchos puntos GCP. También puede probar diferentes transformaciones y ver cuál funciona mejor. Y puede ver si alguno de sus puntos de GCP es probable que esté en error, observando sus residuos. Una vez que haya agregado todos sus puntos GCP y haya comprobado que le gusta la salida, puede exportar el archivo GCP desde el Georeferencer para usarlo para georreferenciar el archivo vectorial original.
El archivo GCP debe cambiarse para tener el siguiente formato. Puede agregar tantos puntos de GCP como desee, cada uno de ellos procede de un -gcp y se separa por un espacio. Ejecuté esto con más de 800 puntos GCP, y funcionó muy bien.
-gcp <ungeoref_x1> <ungeoref_y1> <georef_x1> <georef_y1> -gcp <ungeoref_x2> <ungeoref_y2> <georef_x2> <georef_y2>
Hay una variedad de formas en que uno podría cambiar los puntos GCP en el formato correcto. Los importé a Excel como un archivo csv y creé una columna para generar el formato correcto para cada punto. Luego pegué esa columna en TextEdit y reemplacé los extremos de la línea con espacios.
El archivo vectorial que desea georreferenciar debe importarse a su espacio de trabajo utilizando el mismo SRS que desea para el archivo georreferenciado final, que debe ser el mismo SRS que su espacio de trabajo. Podría haber un largo camino desde donde debería estar, si originalmente utilizó un SRS diferente, pero la transformación lo moverá a la ubicación correcta.
Acceda a ogr2ogr a través de "Processing Toolbox: GDAL: Conversión de vectores: Convertir formato". Esto le permite seleccionar el archivo vectorial que desea georreferenciar y su archivo de salida. En el campo "Opciones de creación adicionales", agregue un comando que especifique qué tipo de transformación desea, y luego la línea con todos sus puntos GCP.
Los comandos para diferentes tipos de transformación incluyen:
- "-order 1" para lineal
- "-orden 2" para polinomio de segundo orden
- "-orden 3" para polinomio de tercer orden
- "-tps" para Thin Plate Spline.
Por ejemplo, el código agregado en el campo "Opciones de creación adicionales" podría verse así:
-order 2 -gcp <ungeoref_x1> <ungeoref_y1> <georef_x1> <georef_y1> -gcp <ungeoref_x2> <ungeoref_y2> <georef_x2> <georef_y2>