¿Usa software de código abierto para fusionar grandes archivos de forma?


8

Algunos antecedentes: tengo 2 archivos de forma poligonal con aproximadamente 500,000 registros cada uno. Los dos archivos son idénticos en términos de estructura de campo.

Con ArcGIS 10.0, no puedo combinar estos dos archivos con Geoprocesamiento / Fusionar. ArcMap siempre se bloquea en algún lugar en el medio del proceso.

¿Existe algún software de código abierto que pueda hacer este trabajo? QGIS tiene la función: Vector / Fusionar archivo de forma en uno, pero hubo un error reportado con esta función en la versión actual 1.7. Sé que GDAL puede hacer muchas cosas y me pregunto si GDAL o algún otro software de código abierto pueden hacerlo correctamente.


44
¿Existe la posibilidad de que esté excediendo el límite de 2 Gb para los archivos de forma?

Respuestas:


18

Del manual de GDAL:

Una combinación de dos archivos de forma 'file1.shp' y 'file2.shp' en un nuevo archivo 'file_merged.shp' se realiza así:

% ogr2ogr file_merged.shp file1.shp
% ogr2ogr -update -append file_merged.shp file2.shp -nln file_merged

El segundo comando es abrir file_merged.shp en modo de actualización e intentar encontrar capas existentes y agregar las características que se copian.

La opción -nln establece el nombre de la capa a copiar.

http://www.gdal.org/ogr/drv_shapefile.html


2
--skipfailures se asegura de que continúes si también encuentras un mal registro. Lo agregaría si el proceso lleva demasiado tiempo.
Ragi Yaser Burhum

Gracias jzl5325, esto es lo que estaba buscando (además de la alternativa para hacerlo en ArcMap). Creo que hay una buena demanda de un manual / guía de usuario orientado a tareas para GDAL en lugar de sintaxis. Algo así como el de su respuesta que comienza con una tarea: es decir, fusionar un archivo de 2 shp, convertir de la pestaña mapinfo a esri shp. Una larga lista de "hacer esto con GDAL" será muy útil.
anh.hv

@ anh.hv De acuerdo. Algo que me encantaría hacer si tuviera un poco más de tiempo. Sospecho que algo así no sucederá hasta que A) sea parte de algunos cursos universitarios o B) sea financiado por un patrocinador de GDAL.
Jay Laura

Si tiene muchos archivos para combinar, puede usar un script como este: <! - idioma: lang-bsh -> #! / Bin / bash dest_dir = "output" dest_layer = "shape_file" mkdir -p "$ {dest_dir } "i = 0 para src_file en source / *. shp; hacer eco "$ {src_file}" if [$ i -eq 0]; entonces ogr2ogr "$ {dest_dir} / $ {dest_layer} .shp" "$ {src_file}" más ogr2ogr -update -append "$ {dest_dir} / $ {dest_layer} .shp" "$ {src_file}" -nln "$ {dest_layer} "fi i = $ ((i + 1)) hecho
AndrewHarvey

Si tiene muchos archivos para combinar, puede usar un script como este: gist.github.com/andrewharvey/09f1b77f64c6f529e266
AndrewHarvey

3

Intente convertir los archivos de forma en una geodatabase de archivos y luego fusionarlos en ArcGIS.

Incluso puede volver a convertirlos en forma después de la fusión (en caso de que intente mantener la compatibilidad con otro software que se base en archivos de forma).


Gracias Kevin y @vadivelan. Poner shp en la geodatabase de archivos realmente funciona. También reduce el tamaño del archivo combinado en 4 veces en comparación con los 2 archivos de forma originales.
anh.hv

3

Podrías probar Geomerge . No estoy seguro de cuántos registros puede manejar, pero mientras la estructura de la tabla sea la misma para todos los archivos, no he tenido ningún problema.

El MapBrowser disponible en el mismo sitio web también es una pequeña herramienta excelente para la visualización rápida de archivos de forma sin tener que abrir un paquete SIG.


1

Como dijo Kevin, convertir los archivos de forma en fGDB es la mejor opción. (Será muy rápido en comparación con los archivos shp)

Debido a que los archivos de formas tienen una limitación en la capacidad de almacenamiento, creo que sus dos archivos de formas (después de la fusión) están más allá de este límite. Por favor Mira esto.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.