El formato shapefile es un formato de datos vectoriales geoespaciales para software de sistemas de información geográfica (SIG) . Es desarrollado y regulado por Esri como una especificación mayormente abierta para la interoperabilidad de datos entre Esri y otros productos de software SIG . [ 1 ] El formato shapefile puede describir espacialmente características vectoriales : puntos , líneas y polígonos , que representan, por ejemplo, pozos de agua , ríos y lagos . Cada elemento generalmente tiene atributos que lo describen, como nombre o temperatura .
Descripción general
El formato shapefile es un formato de almacenamiento vectorial digital para guardar información de ubicación geográfica y sus atributos asociados. Este formato no permite almacenar información topológica . El formato shapefile se introdujo con ArcView GIS versión 2 a principios de la década de 1990. Actualmente, es posible leer y escribir conjuntos de datos geográficos en formato shapefile con una amplia variedad de software.
El formato shapefile almacena la geometría como formas geométricas primitivas como puntos, líneas y polígonos. Estas formas, junto con los atributos de datos que están vinculados a cada forma, crean la representación de los datos geográficos. El término "shapefile" es bastante común, pero el formato consiste en una colección de archivos con un prefijo de nombre de archivo común, almacenados en el mismo directorio . Los tres archivos obligatorios tienen extensiones de nombre de archivo.shp , .shxy . El shapefile.dbf real se relaciona específicamente con el archivo, pero por sí solo es incompleto para la distribución ya que se requieren los otros archivos de soporte. De acuerdo con la Descripción Técnica de Shapefile de ESRI , [ 1 ] el software GIS heredado puede esperar que el prefijo del nombre de archivo esté limitado a ocho caracteres para cumplir con la convención de nombres de archivo de DOS 8.3 , aunque las aplicaciones de software modernas aceptan archivos con nombres más largos..shp
Archivos obligatorios
.shp- Formato de forma; la geometría de la característica en sí. Tipo de contenido :
application/vnd.shp .shx- Formato de índice de forma; un índice posicional de la geometría de la característica para permitir la búsqueda hacia adelante y hacia atrás rápidamente. Tipo de contenido:
application/vnd.shp.shx .dbf- Formato de atributo; atributos columnares para cada forma, en formato dBase IV. Tipo de contenido:
application/vnd.dbf
Otros archivos
.prj— descripción de la proyección, utilizando una representación textual bien conocida de sistemas de referencia de coordenadas {content-type: text/plain OR application/text}.sbny.sbx— un índice espacial de las características {content-type: application/vnd.shp}.fbny.fbx— un índice espacial de las características que son de solo lectura {content-type: application/vnd.shp}.ainy.aih— un índice de atributos de los campos activos en una tabla {content-type: application/vnd.shp}.ixs— un índice de geocodificación para conjuntos de datos de lectura y escritura {content-type: application/vnd.shp}.mxs— un índice de geocodificación para conjuntos de datos de lectura y escritura (formato ODB) {content-type: application/vnd.shp}.atx— un índice de atributos para el.dbfarchivo en el formato (ArcGIS 8 y posteriores) {content-type: }shapefile.columnname.atxapplication/vnd.shp.shp.xml— metadatos geoespaciales en formato XML, como ISO 19115 u otro esquema XML {content-type: application/fgdc+xml}.cpg— se utiliza para especificar la página de códigos (solo para.dbf) para identificar la codificación de caracteres que se utilizará {content-type:text/plainORapplication/vnd.shp}.qix— un índice espacial de quadtree alternativo utilizado por el software MapServer y GDAL/OGR {content-type: application/vnd.shp}
En cada uno de los archivos .shp, .shx, y .dbf, las formas en cada archivo se corresponden entre sí en secuencia (es decir, el primer registro en el .shparchivo corresponde al primer registro en los archivos .shxy , etc.). Los archivos y tienen varios campos con diferente orden de bytes , por lo que quien implemente los formatos de archivo debe tener mucho cuidado de respetar el orden de bytes de cada campo y tratarlo correctamente..dbf.shp.shx
Formatos de archivo
Formato de forma Shapefile ( .shp )
El archivo principal ( .shp ) contiene los datos de geometría. La geometría de una característica dada se almacena como un conjunto de coordenadas vectoriales. [ 1 ] : 5 El archivo binario consta de un único encabezado de longitud fija seguido de uno o más registros de longitud variable . Cada uno de los registros de longitud variable incluye un componente de encabezado de registro y un componente de contenido de registro. Una descripción detallada del formato de archivo se proporciona en la Descripción técnica de ESRI Shapefile . [ 1 ] Este formato no debe confundirse con el formato de origen de fuente de forma de AutoCAD , que comparte la extensión..shp
El ordenamiento de ejes 2D de los datos de coordenadas asume un sistema de coordenadas cartesianas , utilizando el orden (XY) o (Este Norte). Este orden de ejes es consistente para los sistemas de coordenadas geográficas , donde el orden es similar (longitud latitud). Las geometrías también pueden admitir coordenadas Z y M de 3 o 4 dimensiones , para elevación y medida, respectivamente. Una dimensión Z almacena la elevación de cada coordenada en el espacio 3D , que puede usarse para análisis o para visualización de geometrías usando gráficos por computadora 3D . La dimensión M definida por el usuario puede usarse para una de muchas funciones, como almacenar medidas de referencia lineal o tiempo relativo de una característica en el espacio 4D .
El encabezado del archivo principal tiene una longitud fija de 100 bytes y contiene 17 campos; nueve campos enteros de 4 bytes (entero con signo de 32 bits o int32) seguidos de ocho campos de punto flotante con signo de 8 bytes ( double ):
Encabezados de archivos shapefile
Encabezados de registro de archivos shapefile
El archivo contiene entonces cualquier número de registros de longitud variable. Cada registro está precedido por un encabezado de registro de 8 bytes:
Registros Shapefile
A continuación del encabezado del registro se encuentra el registro propiamente dicho:
El contenido de los registros de longitud variable depende del tipo de forma, que debe ser el tipo de forma especificado en el encabezado del archivo o nulo. Los siguientes son los posibles tipos de forma:
Formato de índice de forma de archivo shapefile ( .shx )
El índice contiene el índice posicional de la geometría de la característica y el mismo encabezado de 100 bytes que el .shparchivo, seguido de cualquier número de registros de longitud fija de 8 bytes que constan de los dos campos siguientes:
Mediante este índice, es posible retroceder en el archivo shapefile: primero, se busca hacia atrás en el índice shapefile (lo cual es posible gracias al uso de registros de longitud fija); luego, se lee el desplazamiento del registro y se utiliza dicho desplazamiento para ubicar la posición correcta en el .shparchivo. También es posible avanzar un número arbitrario de registros utilizando el mismo método.
Es posible generar el archivo de índice completo a partir de un único .shparchivo. Sin embargo, dado que se supone que un shapefile siempre contiene un índice, hacerlo equivale a reparar un archivo corrupto. [ 2 ]
Formato de atributo de archivo shapefile ( .dbf )
Este archivo almacena los atributos de cada forma; utiliza el formato dBase IV. El formato es de dominio público y se ha implementado en muchos clones de dBase conocidos como xBase . La biblioteca C de código abierto para archivos shapefile, por ejemplo, denomina a su formato "xBase" aunque se trata simplemente de dBase IV. [ 3 ]
Los nombres y valores de los atributos no están estandarizados y variarán según la fuente del archivo shapefile.
Formato de índice espacial shapefile ( .sbn )
Este es un archivo de índice espacial binario , utilizado exclusivamente por el software de Esri. Esri no documenta su formato. Sin embargo, la comunidad de código abierto lo ha descifrado y documentado. El encabezado de 100 bytes es similar al de .shp . [ 4 ] Actualmente, otros proveedores no lo implementan. El archivo no es estrictamente necesario, ya que contiene toda la información necesaria para analizar correctamente los datos espaciales..sbn.shp
Limitaciones
El formato shapefile tiene varias limitaciones. [ 5 ]
Topología y formato shapefile
El formato shapefile no permite almacenar relaciones topológicas entre las formas. Las coberturas de ESRI ArcInfo y muchas geodatabases sí permiten almacenar la topología de las entidades.
Almacenamiento de datos
El tamaño de los archivos .shpde .dbfcomponentes no puede exceder los 2 GB (o 2³¹ bytes), lo que equivale a unos 70 millones de características puntuales en el mejor de los casos. [ 6 ] El número máximo de características para otros tipos de geometría varía según el número de vértices utilizados.
El formato de base de datos de atributos para el .dbfarchivo de componentes se basa en un estándar dBase antiguo . Este formato de base de datos tiene inherentemente una serie de limitaciones: [ 6 ]
- Si bien el estándar dBase actual y GDAL/OGR (la principal biblioteca de software de código abierto para leer y escribir conjuntos de datos en formato shapefile) admiten valores nulos , el software de ESRI representa estos valores como ceros, lo cual es un problema muy serio para el análisis de datos cuantitativos, ya que puede distorsionar la representación y las estadísticas si las cantidades nulas se representan como cero.
- Soporte deficiente para nombres de campos Unicode o almacenamiento de campos
- La longitud máxima de los nombres de campo es de 10 caracteres.
- El número máximo de campos es 255.
- Los tipos de campo admitidos son: punto flotante (almacenamiento de 13 caracteres), entero (almacenamiento de 4 o 9 caracteres), fecha (sin almacenamiento de hora; almacenamiento de 8 caracteres) y texto (almacenamiento máximo de 254 caracteres).
- Los números de coma flotante pueden contener errores de redondeo ya que se almacenan como texto.
Mezcla de tipos de formas
Dado que el tipo de forma precede a cada registro geométrico, un archivo shapefile puede almacenar, en teoría, una combinación de diferentes tipos de forma. Sin embargo, la especificación establece que «todas las formas no nulas de un archivo shapefile deben ser del mismo tipo». Por lo tanto, esta capacidad de combinar tipos de forma debe limitarse a intercalar formas nulas con el único tipo de forma declarado en el encabezado del archivo. Un archivo shapefile no debe contener datos de polilíneas y polígonos simultáneamente; por ejemplo, las descripciones de un pozo (punto), un río (polilínea) y un lago (polígono) se almacenarían en tres conjuntos de datos separados.
Véase también
Referencias
- 1 2 3 4 ESRI (julio de 1998). "Descripción técnica del archivo shapefile de ESRI" (PDF) . Consultado el 4 de julio de 2007 .
- ↑ Rollason, Ed. "qgis - ¿Creando archivo .shx faltante?" . Sistemas de Información Geográfica Stack Exchange .
- ↑ "Biblioteca C Shapefile V1.2" .
- ↑ "Formato SBN" (PDF) . 4 de octubre de 2011. Archivado del original (PDF) el 13 de agosto de 2016. Consultado el 21 de junio de 2023 .
- ↑ Cepicky, Jachym (2017). "Cambiar de Shapefile" . switchfromshapefile.org .
- 1 2 "Ayuda de ArcGIS Desktop 9.3: consideraciones de geoprocesamiento para la salida de archivos shapefile" . Esri. 24 de abril de 2009.
Enlaces externos
- Extensiones de archivo Shapefile : documentación de Esri Webhelp para ArcGIS 10.0 (2010)
- Esri – Comprensión de la topología y los archivos shapefile
- shapelib.maptools.org – Librería C gratuita para leer/escribir archivos shapefile
- Biblioteca Python Shapefile – Código abierto (Licencia MIT) Biblioteca Python para leer/escribir archivos shapefile.
- Bibliotecas Java Shapefile y Dbase – Código abierto (licencia Apache) Bibliotecas Java para leer/escribir archivos shapefile y los archivos dBase asociados (las bibliotecas forman parte de la biblioteca AFC, pero podrían usarse de forma independiente).
- Formatos abiertos
- formatos de archivos vectoriales SIG
