5 votos

¿Cómo se puede crear un archivo .shx faltante?

Estoy utilizando ArcGIS para ver un archivo de forma.

Sólo un selecto número de características que se muestran. El mismo número se muestran en la tabla de atributos, incluso aunque el archivo de base de datos (.dbf) tiene una lista completa con muchas más características.

Luego traté de abrir el archivo de forma en QGIS y se me informa de que el archivo no es válido. Tras la inspección de la shapefile, me encontré con que la .shx archivo falta.

Puedo recrear la falta .shx archivo, de modo que todos los atributos/características se pueden cargar?

12voto

David M Williams Puntos 195

ESRI ofrece una guía para la reparación dañado archivos de forma que se puede encontrar en el sitio web de ESRI: https://support.esri.com/en/technical-article/000007161

Yo no puedo comprobar en mi máquina, pero uno de los Shapefile Reparador de la Utilidad o el archivo de forma de la Herramienta de Reparación (que están vinculados en la parte inferior de ESRI página de ayuda) solía ser capaz de reconstruir una .shx archivo.

También se puede hacer en Python. Este enlace sugiere este código para volver a una .shx archivo:

    # Build a new shx index file
    #Code by Joel Lawhead http://geospatialpython.com/2011/11/generating-shapefile-shx-files.html
    import shapefile
    # Explicitly name the shp and dbf file objects
    # so pyshp ignores the missing/corrupt shx
    myshp = open("myshape.shp", "rb")
    mydbf = open("myshape.dbf", "rb")
    r = shapefile.Reader(shp=myshp, shx=None, dbf=mydbf)
    w = shapefile.Writer(r.shapeType)
    # Copy everything from reader object to writer object
    w._shapes = r.shapes()
    w.records = r.records()
    w.fields = list(r.fields)
    # saving will generate the shx
    w.save("myshape")

No es que el código requiere el Python Shapefile de la Biblioteca (pyshp) para ejecutar.

4voto

markgraeflerland Puntos 121

Puede abrir el Shapefile sin el shx en OpenJump y guardarlo como un nuevo Shapefile. Entonces se generará el archivo shx.

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: