Tengo un archivo de forma en el que estaba trabajando en ArcGIS Desktop 9.3 se corrompe de alguna manera y me da el error "El número de formas no coincide con el número de registros de la tabla". Lo que me gustaría es recuperar este archivo de forma, ya que tiene muchas ediciones que otras revisiones del archivo no tienen.
Anteriormente me recuperé de este error usando ogr2gui, pero la herramienta ahora se bloquea. Incluso probé la versión de línea de comandos ogr2ogr pero todavía no tuve suerte. Este script, Shapefile Repair Tool del sitio web ArcScripts tampoco ayudó.
¿Algunas ideas? (excepto que dejo de usar shapefiles)
Aquí está el resultado de ogr2ogr (basado en una sugerencia en las respuestas):
Respuestas:
Una opción, con la pérdida de las características corruptas, podría ser usar ogr2ogr convirtiendo su shapefile a otro shapefile, con la opción -skipfailures:
Para más detalles, mire esta publicación del blog de PerryGeo:
http://www.perrygeo.net/wordpress/?p=132
fuente
Yo uso este Siempre me ha solucionado ese problema.
shapecheck.exe
fuente
La respuesta oficial de Esri tiene una serie de consejos, pero te señala la utilidad de reparación de shp que me ha ahorrado que me despidan varias veces.
Pocos otros que he oído hablar pero que no puedo decir que he intentado:
fuente
Ok, aquí hay otro truco para agregar a la pila de buenas respuestas anteriores.
Esta es un poco más de fuerza bruta, la mayoría de las veces ayuda, a veces no lo hace, y aunque probablemente sea solo un primer paso para solucionar el problema (en lugar de una solución en sí misma, que a menudo no lo es), puede ayudar llevarte a donde puedes abrir el archivo shape. En la mayoría de los casos, aún tendrá que realizar más reparaciones manuales en ArcMap después de que se abra el archivo de forma (¿entidades corruptas ?, ¿atributos faltantes? ¿Atributos desalineados? Etc.)
Copie el archivo de forma en una nueva carpeta vacía. Solo lleve el SHP, SHX y DBF con usted. Deje todos los demás archivos y sí, eso incluye el prj.
(Windows): haga clic con el botón derecho en el archivo SHX y seleccione "Propiedades" para abrir las propiedades del archivo.
En la pestaña "General", observe el tamaño EXACTO del archivo SHX hasta el byte. Mire la propiedad "Tamaño", y no la propiedad "Tamaño en disco".
Tome ese tamaño de archivo en bytes y reste 100 bytes (el encabezado). Del resto, divídalo entre 8 (el tamaño de cada "palabra"). El resultado le proporciona la cantidad de características de forma dentro de la parte SHP del archivo de forma.
Abra el DBF en algún software que le permita editar el DBF y guardarlo nuevamente como un DBF. Agregue o elimine registros para hacer que las filas en el DBF coincidan con el número de entidades de forma en el SHP que calculó en el paso 4. (Si está utilizando una versión anterior de Excel, tenga en cuenta que la Fila n. ° 1 contiene los nombres de campo, por lo que si va a buscar 1,000 registros, eso terminará siendo 1,001 filas en la hoja desde la primera fila de datos es la fila n. ° 2). Si para hacer coincidir el número de filas necesitabas eliminar filas y esas filas tenían datos reales, debes guardarlas, solo guárdalas en un nuevo DBF y podrás volver a leer esas cosas luego, una vez que haya llegado al punto en que todo se abre nuevamente en ArcMap.
Una vez que haya utilizado los pasos anteriores para hacer coincidir el número de entidades en el SHP con el número de filas en el DBF, intente abrir el archivo de forma nuevamente en ArcMap.
fuente
Puede intentar contar el número de formas en sus archivos .shp con ogrinfo (no estoy seguro de que funcione):
Si puede contar la cantidad de formas, puede abrir su archivo .dbf con open office para completarlo (o eliminar filas adicionales)
fuente
Tuve suerte eliminando los archivos de índice (.idx y .shx), que su SIG regenerará cuando se vuelva a conectar.
fuente
Si su archivo de forma era una capa de puntos y tenía valores de campo XY, podría ejecutar la herramienta Crear capa de evento XY para crear otra capa del archivo de forma corrupto dbf.
fuente