Estoy buscando una explicación más profunda de las diferencias en los archivos shp y shx en vano. Quiero decir más allá de 'shp contiene geometría: shx contiene un índice de la geometría'.
La razón por la que pregunto es porque, mientras trabajaba en QGIS recientemente, hice dos observaciones que me llevaron a cuestionar las diferencias exactas en estas extensiones de archivo:
- QGIS puede abrir y mostrar shx y shp, y cada archivo parece ser más o menos idéntico en su salida (pantalla),
 - pero no exactamente así: me he dado cuenta de que a veces los archivos shx / shp coincidentes se muestran ligeramente "fuera de lugar" entre sí. No parece ser un problema de proyección, simplemente no dibujan exactamente en la misma ubicación que el otro.
 
Estas observaciones me hicieron sentir curiosidad acerca de por qué existen estas diferencias en la visualización, y por qué QGIS puede abrir y operar el shx de la misma manera que el shp, cuando anteriormente entendí que el shp es el archivo 'maestro' si lo desea, pero requiere .dbf y .shx para funcionar correctamente como una entidad única y completa.
                    
                        qgis
                                shapefile
                                file-formats
                                
                    
                    
                        Maggie
fuente
                
                fuente

Respuestas:
La referencia definitiva sobre el formato del archivo de forma es la Descripción técnica del archivo de forma ESRI .
Es engañoso describir el
shxcomo un "índice". En cambio, es el archivo de desplazamiento de acceso directo. No hay datos en elshx, solo un clon de los primeros cien bytes y el número de registro y el desplazamiento al byte inicial de ese registro en elshp. La única ubicación para los atributos esdbf(que es independiente, a pesar de "conocimiento" en contrario, elshxno vincula elshpydbf, solo el número de registro lo hace).Es posible que los archivos de forma tengan "huecos" en los
shpque se haceshxindispensable, pero en la práctica las herramientas de Esri reescribirán todoshpyshxasí se eliminará cualquier espacio creado al editar registros. En la mayoría de las condiciones, es posible recuperar elshxcontenido si se pierde; No se puede decir lo mismo para elshpodbf.La denominación de
shpyshxes un artefacto delVFILEmódulo de acceso directo de ancho variable del sistema operativo PrImeOS, primero portado por Esri a Unix, VAX / VMS, Data General e IBM, luego a Microsoft Windows. El par de índicesbn/sbxespacial comparte la misma convención de nomenclatura (aunque no están documentados dentro de la especificación del archivo de forma). Dentro de laVFILEbiblioteca FORTRAN original , solo se nombró el archivo base, y el archivo de desplazamiento con unxcarácter terminal acaba de aparecer en la creación del archivo.fuente
The index file (.shx) contains a 100-byte header followed by 8-byte, fixed-length records. Figure 4 illustrates the index file organization.lógicamente es análogo a los índices de bases de datosa data structure that improves the speed of data retrieval operations.shxabsolutamente no es un índice espacial.shxrealidad, ralentiza el acceso en serie (más E / S), pero hace posible el acceso directo , lo que podría considerarse una mejora.shpyshx. Es no presente en eldbf, desplazamiento desde el final de los registros de cabecera (40 bytes para la tabla, que incluye un número de campos, y 40 bytes adicionales para cada campo) veces el tamaño del registro solamente el byte implícita. He escrito lectores y escritores de archivos de forma tanto en 'C' como en Java, y es la variable del contador de bucles del programa la que vincula elshp/shxaldbf. Elshxproporciona la vinculación del número de registro, por compensada con una comprobación de integridad regnum, al inicio de lashpgrabación, nada más.Shx ciertamente no tiene nada que mostrar en un mapa solo, ya que puede leer la especificación https://www.esri.com/library/whitepapers/pdfs/shapefile.pdf .
De hecho, tiene razón en que es posible abrir shapefile seleccionando la parte .shx con QGIS 3.0.3, pero no puedo ver ninguna diferencia en la ubicación. Creo que el shapefile todavía se abre por el mismo camino y el resultado es el mismo. Si puede hacer un caso de prueba para reproducir el problema de la ubicación diferente de las geometrías, cree un ticket QGIS sobre el problema.
Si elimina la parte .shp, verá que QGIS no abre .shx solo.
fuente
.shxes el índice de un.shparchivo.Necesita ambos para poder abrir el
.shparchivo. Si abre un.shxarchivo en QGIS, se abre el.shparchivo. Si están apagados, hay un problema de proyección.Un ShapeFile necesita tres componentes:
.shp- almacena la geometría.shx- almacena el índice.dbf- almacena los atributos.prjGeneralmente se recomienda un archivo, que almacena la información de proyección. Puede haber otros archivos asociados con un ShapeFile, pero estos no son absolutamente necesarios.fuente