4 votos

Reubicación y redimensionamiento de shapefile complejos con software de código abierto

(por favor, disculpe mi pobre inglés)

Tengo un shapefile polygone de un yacimiento arqueológico con datos de elevación de pasos de 10cm y no tengo en mis manos los datos rasterizados ya que fueron recogidos por el dron.

Mi problema es que necesito mover y redimensionar los polígonos, debido a que aunque la forma dice que es un DHDN/GK3, la esquina inferior izquierda de los datos recogidos es 0,0 y las extensiones x e y son decimales respecto a este origen.

¿Hay alguna forma útil de resolver el problema con QGIS + herramientas (usando Ubuntu Linux)?

Mi mejor idea hasta ahora es ....

a) Exportación de geometría CSV mediante MMQGIS (temp-nodes.csv, temp-attributes.csv) El CSV cuenta con ~8.500.000 nodos b) Sugerir el origen de los datos hasta el momento (mantenido como variable) c) pasar el nodo-csv por el script para convertir el decímetro en metro para obtener el nuevo delta x/y desde el origen d) añadir el nuevo delta x/y al origen y guardar e) Mejora de la geometría CSV a través de MMQGIS

¿Hay alguna manera de resolver esto más fácilmente? Hace años que no escribo guiones.

Chris

2voto

GreyCat Puntos 146

1) Desde la versión 1.10, se puede utilizar ogr2ogr (GDAL) para reajustar/"georreferenciar" un shapefile con puntos de control o GCPs (como Ajuste espacial en ArcGIS, mira ¿Cómo georreferenciar una capa vectorial con puntos de control? o Añadir la capacidad de transformar vectores basados en GCPs en ogr2ogr )

Ejemplo

ogr2ogr -gcp 5 -135 0 0 \
     -gcp 283 -135 1000 0 \
     -gcp 5 278 0 1000 \
     -gcp 283 278 1000 1000 \
     -f "ESRI shapefile" gcppolyg2.shp gcppolyg.shp

Resultado sencillo con escalado, traslación, rotación y cizallamiento de un shapefile original sencillo

enter image description here

Se crearon dos plugins de QGIS y un script python de procesamiento para aprovechar esta característica:

Plugins:

  1. VectorBender hace a los vectores lo que los georreferenciadores hacen a las tramas. Esta característica también se conoce como "rubber sheeting"
  2. vectorgeoref Una herramienta visual para la georreferenciación de capas vectoriales

Script Python de procesamiento (en francés):

2) También puedes utilizar transformaciones afines con el plugin de QGIS Affine o el comando v.transformar en GRASS GIS o en la caja de herramientas de procesamiento de QGIS

enter image description here

Existen comandos equivalentes en GVSIG o OpenJump

enter image description here

Transformación afín en OpenJump

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