[Gvsig_usuarios] Merge de muchos SHP

Lorenzo Herrero Enrique enrique.lorenzo en chsegura.es
Lun Mayo 14 10:59:10 CEST 2012


Si quieres puedes probar esta alternativa usando el comando ogr2ogr de las utilidades gdal/ogr en la ventana de comandos, aunque debería ser posible con Sextante tal como estás haciendo. Comento los pasos detallados para quien no haya usado este procedimiento y le interese probarlo.

Yo creo que es un poco más seguro para unir muchas capas, porque va agregando cada original al resultado uno por uno. Si fallara en alguna de las capas originales, se podría detectar fácilmente.

- Necesitas tener instalado gdal/ogr (por ejemplo del paquete FWTools).
- El comando que indico es para Windows ("Símbolo del sistema"), pero es parecido en GNU/Linux.
- Todos los Shapefiles tienen la misma estructura
- Los Shapefiles de origen están en carpetas sin espacios ni tildes como C:\Originales\001\CARRETERAS.shp,  C:\Originales\002\CARRETERAS.shp,  C:\Originales\003\CARRETERAS.shp, ...
- El resultado se guarda en una carpeta fuera del árbol de carpetas de los originales, como C:\Resultado\CARRETERAS.shp

Pasos:
1- Mover uno de los Shapefiles (el primero) desde su carpeta original a C:\Resultado\CARRETERAS.shp
2- Abrir el Símbolo del Sistema (menú Accesorios) y escribir el comando (no importan mayúsculas/minúsculas):

FOR /R C:\Originales\ %F IN (*.shp) DO ogr2ogr -append %F C:\Resultado\CARRETERAS.shp

Espero que te sirva.

De: gvsig_usuarios-bounces en listserv.gva.es [mailto:gvsig_usuarios-bounces en listserv.gva.es] En nombre de Gabriel Gaona
Enviado el: sábado, 12 de mayo de 2012 2:00
Para: gvsig_usuarios en listserv.gva.es
Asunto: [Gvsig_usuarios] Merge de muchos SHP

Hola todos, 

Necesito unir muchos shp en uno solo, estoy hablando de más de 7000; he intentado con la herramienta de sextante "Juntar" (ejecutar por lotes) pero no he tenido los resultados deseados, para ello hice el siguiente proceso

La estructura es: 
- \raiz 
- \raiz\001\carreteras.shp 
- \raiz\002\carreteras.shp 
- ... 
- \raiz\100\carreteras.shp
y he creado un archivo csv con la siguiente estructura: Capa principal, capa adicional, capa resultado

\raiz\001\carreteras.shp,\raiz\002\carreteras.shp,\raiz\ALL\carreteras.shp 
\raiz\001\carreteras.shp,\raiz\003\carreteras.shp,\raiz\ALL\carreteras.shp 
\raiz\001\carreteras.shp,\raiz\004\carreteras.shp,\raiz\ALL\carreteras.shp 
... 
\raiz\001\carreteras.shp,\raiz\100\carreteras.shp,\raiz\ALL\carreteras.shp 

Como resultado me generó una capa con los registros de \raiz\001\carreteras.shp unido al de \raiz\100\carreteras.shp y no me unió los demás (es decir solo tuve la unión de la capa principal con la última capa!) 

¿Alguien sabe si hay alguna otra manera de hacerlo? o ¿podrían ayudarme a corregir mi error?

-- 
Gabriel Gaona
______________________________
INGENIERÍA AMBIENTAL
DFG - PREDICT
Móvil: 091665888 -095264337
gavg712 en hotmail.com
gavg712 en gmail.com.
_______________________________


Más información sobre la lista de distribución gvSIG_usuarios