Archivo de formas

Formato de datos vectoriales geoespaciales
Archivo de formas
Un mapa vectorial, con puntos, polilíneas y polígonos.
Extensión de nombre de archivo.shp, .shx,.dbf
Tipo de medio de Internet
x-gis/x-shapefile
Desarrollado porEsri
Tipo de formatoSIG
EstándarDescripción técnica de Shapefile

El formato shapefile es un formato de datos vectoriales geoespaciales para software de sistemas de información geográfica (GIS) . Esri lo desarrolla y regula como una especificación mayoritariamente abierta para la interoperabilidad de datos entre Esri y otros productos de software GIS . [1] El formato shapefile puede describir espacialmente entidades vectoriales : puntos , líneas y polígonos , que representan, por ejemplo, pozos de agua , ríos y lagos . Cada elemento suele tener atributos que lo describen, como el nombre o la temperatura .

Descripción general

El formato shapefile es un formato de almacenamiento vectorial digital para almacenar información de ubicación geográfica y atributos asociados. Este formato no tiene capacidad para almacenar información topológica . El formato shapefile se introdujo con ArcView GIS versión 2 a principios de los años 90. Ahora es posible leer y escribir conjuntos de datos geográficos utilizando el 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 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 .dbf. El shapefile real se relaciona específicamente con el .shparchivo, pero por sí solo está incompleto para su distribución ya que se requieren los otros archivos de soporte. De acuerdo con la Descripción técnica de ESRI Shapefile , [1] el software SIG heredado puede esperar que el prefijo del nombre de archivo se limite a ocho caracteres para cumplir con la convención de nombre de archivo DOS 8.3 , aunque las aplicaciones de software modernas aceptan archivos con nombres más largos.

Archivos obligatorios

.shp
Formato de forma; la geometría de la entidad en sí.
Tipo de contenido :x-gis/x-shapefile
.shx
Formato de índice de forma; un índice posicional de la geometría de la característica que permite realizar búsquedas hacia adelante y hacia atrás rápidamente.
Tipo de contenido: x-gis/x-shapefile
.dbf
Formato de atributo; atributos en columnas para cada forma, en formato dBase IV.
Tipo de contenido: application/octet-stream ORtext/plain

Otros archivos

  • .prj— descripción de la proyección, utilizando una representación de texto 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: x-gis/x-shapefile}
  • .fbny .fbx— un índice espacial de las características que son de solo lectura {content-type: x-gis/x-shapefile}
  • .ainy .aih— un índice de atributos de los campos activos en una tabla {content-type: x-gis/x-shapefile}
  • .ixs— un índice de geocodificación para conjuntos de datos de lectura y escritura {content-type: x-gis/x-shapefile}
  • .mxs— un índice de geocodificación para conjuntos de datos de lectura y escritura (formato ODB) {content-type: x-gis/x-shapefile}
  • .atx— un índice de atributos para el .dbfarchivo en formato (ArcGIS 8 y posterior) {content-type: }shapefile.columnname.atxx-gis/x-shapefile
  • .shp.xmlmetadatos 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/plainOR x-gis/x-shapefile}
  • .qix— un índice espacial de árbol cuaternario alternativo utilizado por el software MapServer y GDAL/OGR {content-type: x-gis/x-shapefile}

En cada uno de los archivos .shp, .shx, y .dbf, las formas de cada archivo se corresponden entre sí en secuencia (es decir, el primer registro del .shparchivo se corresponde con el primer registro de los archivos .shxy .dbf, etc.). Los archivos .shpy .shxtienen varios campos con diferente orden de bytes , por lo que un implementador de los formatos de archivo debe tener mucho cuidado de respetar el orden de bytes de cada campo y tratarlo adecuadamente.

Formatos de archivos

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. Se proporciona una descripción detallada del formato de archivo en la Descripción técnica de ESRI Shapefile . [1] Este formato no debe confundirse con el formato de fuente de forma de AutoCAD , que comparte la extensión..shp

El ordenamiento de los 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 tridimensionales o cuatridimensionales, para elevación y medida, respectivamente. Una dimensión Z almacena la elevación de cada coordenada en el espacio 3D , que se puede utilizar para el análisis o la visualización de geometrías mediante gráficos de computadora 3D . La dimensión M definida por el usuario se puede utilizar 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 (enteros con signo de 32 bits o int32) seguidos de ocho campos de punto flotante con signo de 8 bytes ( doble ):

Encabezados de shapefile

Encabezado de un archivo con formato .shp
BytesTipoEndianidadUso
0–3int32grandeCódigo de archivo (siempre valor hexadecimal 0x0000270a )
4–23int32grandeSin usar; cinco uint32
24–27int32grandeLongitud del archivo (en palabras de 16 bits, incluido el encabezado)
28–31int32pequeñoVersión
32–35int32pequeñoTipo de forma (ver referencia a continuación)
36–67doblepequeñoRectángulo delimitador mínimo (MBR) de todas las formas contenidas en el conjunto de datos; cuatro dobles en el siguiente orden: min X, min Y, max X, max Y
68–83doblepequeñoRango de Z; dos dobles en el siguiente orden: min Z, max Z
84–99doblepequeñoRango de M; dos dobles en el siguiente orden: min M, max M

Encabezados de registros de Shapefile

El archivo contiene entonces cualquier cantidad de registros de longitud variable. Cada registro tiene como prefijo un encabezado de registro de 8 bytes:

BytesTipoEndianidadUso
0–3int32grandeNúmero de registro (basado en 1)
4–7int32grandeLongitud del registro (en palabras de 16 bits)

Registros de shapefile

A continuación del encabezado del registro se encuentra el registro real:

BytesTipoEndianidadUso
0–3int32pequeñoTipo de forma (ver referencia a continuación)
4–Dar forma al contenido

El contenido de los registros de longitud variable depende del tipo de forma, que debe ser el tipo de forma indicado en el encabezado del archivo o nulo. Los siguientes son los tipos de forma posibles:

ValorTipo de formaCampos
0Forma nulaNinguno
1PuntoX, Y
3PolilíneaMBR, Número de partes, Número de puntos, Partes, Puntos
5PolígonoMBR, Número de partes, Número de puntos, Partes, Puntos
8MultipuntoMBR, Número de puntos, Puntos
11PuntoZX, Y, Z

Opcional : M

13PolilíneaZObligatorio : MBR, Número de partes, Número de puntos, Partes, Puntos, Rango Z, Matriz Z

Opcional : rango M, matriz M

15Polígono ZObligatorio : MBR, Número de partes, Número de puntos, Partes, Puntos, Rango Z, Matriz Z

Opcional : rango M, matriz M

18MultipuntoZObligatorio : MBR, Número de puntos, Puntos, Rango Z, Matriz Z

Opcional : rango M, matriz M

21PuntoMX, Y, M
23PolilíneaMObligatorio : MBR, Número de partes, Número de puntos, Partes, Puntos

Opcional : rango M, matriz M

25PolígonoMObligatorio : MBR, Número de partes, Número de puntos, Partes, Puntos

Opcional : rango M, matriz M

28MultipuntoMObligatorio : MBR, Número de puntos, Puntos

Campos opcionales : rango M, matriz M

31MultiparcheObligatorio : MBR, Número de piezas, Número de puntos, Piezas, Tipos de piezas, Puntos, Rango Z, Matriz Z

Opcional : rango M, matriz M

Formato de índice de forma de shapefile (.shx)

El índice contiene el índice posicional de la geometría de la entidad y el mismo encabezado de 100 bytes que el .shparchivo, seguido de cualquier cantidad de registros de longitud fija de 8 bytes que constan de los siguientes dos campos:

BytesTipoEndianidadUso
0–3int32grandeDesplazamiento de registro (en palabras de 16 bits)
4–7int32grandeLongitud del registro (en palabras de 16 bits)

Con este índice, es posible buscar hacia atrás en el shapefile, primero buscando hacia atrás en el índice de forma (lo cual es posible porque utiliza registros de longitud fija), luego leyendo el desplazamiento del registro y utilizando ese desplazamiento para buscar la posición correcta en el .shparchivo. También es posible buscar hacia adelante una cantidad arbitraria de registros utilizando el mismo método.

Es posible generar el archivo de índice completo a partir de un solo .shparchivo. Sin embargo, dado que se supone que un shapefile siempre debe contener un índice, hacerlo cuenta como reparar un archivo dañado. [2]

Formato de atributo de shapefile (.dbf)

Este archivo almacena los atributos de cada forma; utiliza el formato dBase IV. El formato es de conocimiento público y se ha implementado en muchos clones de dBase conocidos como xBase . La biblioteca de archivos de formas de código abierto C, por ejemplo, llama a su formato "xBase" aunque se trata de dBase IV simple. [3]

Los nombres y valores de los atributos no están estandarizados y serán diferentes según la fuente del shapefile.

Formato de índice espacial Shapefile (.sbn)

Este es un archivo de índice espacial binario , que solo utiliza el software de Esri. El formato no está documentado por Esri. Sin embargo, la comunidad de código abierto lo ha diseñado y documentado mediante ingeniería inversa. 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 una serie de limitaciones. [5]

Topología y formato shapefile

El formato shapefile no tiene la capacidad de almacenar relaciones topológicas entre formas. Las coberturas ESRI ArcInfo y muchas geodatabases sí tienen la capacidad de almacenar topología de entidades.

Almacenamiento de datos

El tamaño de ambos archivos .shpy .dbfde sus componentes no puede superar los 2 GB (o 231 bytes ), es decir, alrededor de 70 millones de características de puntos en el mejor de los casos. [6] La cantidad máxima de características para otros tipos de geometría varía según la cantidad de vértices utilizados.

El formato de la base de datos de atributos para el .dbfarchivo de componentes se basa en un estándar dBase más antiguo . Este formato de base de datos tiene inherentemente una serie de limitaciones: [6]

  • Si bien el estándar actual dBase 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 ESRI representa estos valores como ceros, un problema muy grave para analizar datos cuantitativos, ya que puede sesgar la representación y las estadísticas si las cantidades nulas se representan como cero.
  • Compatibilidad deficiente con 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 campos 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 punto flotante pueden contener errores de redondeo ya que se almacenan como texto

Mezcla de tipos de formas

Debido a que el tipo de forma precede a cada registro de geometría, un shapefile es técnicamente capaz de almacenar una mezcla de diferentes tipos de formas. Sin embargo, la especificación establece que "todas las formas que no sean nulas en un shapefile deben ser del mismo tipo de forma". Por lo tanto, esta capacidad de mezclar tipos de formas debe limitarse a intercalar formas nulas con el tipo de forma único declarado en el encabezado del archivo. Un shapefile no debe contener datos de polilíneas y polígonos; 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. ^ abcd ESRI (julio de 1998). «ESRI Shapefile Technical Description» (PDF) . Consultado el 4 de julio de 2007 .
  2. ^ Rollason, Ed. "qgis - ¿Cómo crear un archivo .shx que falta?". Intercambio de pila de sistemas de información geográfica .
  3. ^ "Biblioteca Shapefile C V1.2".
  4. ^ "Formato SBN" (PDF) . 4 de octubre de 2011. Archivado desde el original (PDF) el 13 de agosto de 2016. Consultado el 21 de junio de 2023 .
  5. ^ Cepicky, Jachym (2017). "Cambiar desde Shapefile". switchfromshapefile.org .
  6. ^ ab "Ayuda de ArcGIS Desktop 9.3: consideraciones de geoprocesamiento para la salida de archivos shapefile". Esri. 24 de abril de 2009.
  • Extensiones de archivos Shapefile: documentación de Esri Webhelp para ArcGIS 10.0 (2010)
  • Esri: comprensión de la topología y los shapefiles
  • shapelib.maptools.org – Biblioteca C gratuita para leer y escribir archivos shape
  • Biblioteca de archivos Shapefile de Python: código abierto (licencia MIT) Biblioteca de Python para leer y escribir archivos Shapefile
  • Bibliotecas Java Shapefile y Dbase: código abierto (licencia Apache) Bibliotecas Java para leer/escribir shapefiles y los archivos dBase asociados (las bibliotecas son parte de la biblioteca AFC pero se pueden usar de forma independiente)
Obtenido de "https://es.wikipedia.org/w/index.php?title=Shapefile&oldid=1255410788"