El shapefile es el formato de datos vectorial más popular y extendido en el trabajo con un SIG.
Se trata de un formato vectorial que guarda la localización de elementos geográficos y atributos a ellos asociados, pero no es capaz de almacenar relaciones topológicas. Estos elementos geográficos se pueden representar a partir de una capa de tipo punto, línea o polígono (áreas).
Un shapefile se compone de varios archivos informáticos, sin los cuales no podríamos visualizarlo en un software GIS, siendo tres el número imprescindible:
- .shp – almacena las entidades geométricas de los objetos.
- .shx – almacena el índice de los elementos geométricos.
- .dbf – tabla dBASE donde se almacenan los atributos de los elementos geométricos.
Por otro lado y, opcionalmente, un shapefile puede estar compuesto por otros archivos que lo hacen más completo para la explotación de la información, fundamentalmente son:
- .prj – almacena la información relativa al Sistema de Coordenadas.
- .sbn y .sbx – almacena el índice espacial de las entidades.
- .shp.xml – almacena los metadatos de la capa.
En este artículo, vamos a explicarte como crear un shapefile en los 3 software GIS más demandados del momento, ArcGIS, QGIS y gvSIG.
Índice
Crear un shapefile en ArcGIS
Para crear una nueva capa en ArcGIS debemos iniciar la aplicación ArcCatalog y, una vez abierto, navegaremos por el árbol de explorador hasta situarnos en la carpeta o directorio en el que deseamos crearla.
Dentro de la pestaña Contents ejecutamos un clic derecho de ratón para desplegar el diálogo de opciones, seleccionamos New/Shapefile…..
La herramienta Create new shapefile nos permite indicar tres parámetros:
- Name: Nombre de la capa.
- Feature type: Desplegable en el que debemos indicar el tipo de geometría (punto, línea o polígono).
- Spatial Reference: Información acerca del Sistema de Coordenadas, el cuál podremos asignar a través del botón Edit…
Tras presionar OK ya tendremos nuestra capa creada y lista para ser editada.
Crear un shapefile en QGIS 3 (Nueva capa de archivo shape)
En QGIS podemos crear una nueva capa tanto desde QGIS Desktop como desde QGIS Browser.
En QGIS Desktop, seleccionamos la herramienta Nueva capa de archivo shape de la barra de herramientas Administrar capas.
La herramienta Nueva capa vectorial se desglosa de la siguiente forma:
- Nombre de archivo: Debemos indicar un nombre y directorio donde alojar el nuevo shapefile.
- Codificación de archivo: Donde indicaremos la norma acorde a nuestros datos, por defecto, System.
- Tipo de geometría: Donde debemos indicar si deseamos una capa de tipo punto, línea o polígono.
- Additional dimensions: Aquí especificaremos si deseamos añadir también soporte para dimensiones Z (altitud) y/o M (rutas).
- Sistema de Coordenadas, desde donde podremos asignarlo a través de Especificar SRC.
- Nuevo atributo. Nos permite añadir campos a la tabla de atributos de la capa, debemos indicar un nombre, el tipo de campo, y la longitud y precisión del mismo.
Con el botón Añadir a la lista de atributos confirmamos la creación del campo.
- Lista de atributos. Listado de campos que contiene la tabla con información sobre su tipo y estructura. Además, nos permite borrar campos no deseados mediante el botón Eliminar atributo.
En el Navegador de QGIS el proceso es el mismo, para iniciarlo has de seleccionar el botón Nueva/Archivo shape.. del desplegable que surge tras hacer clic derecho de ratón sobre el directorio deseado donde alojarlo.
El proceso de generación de nueva información en forma de capa es más intuitivo y simple en QGIS, ya que en la misma herramienta y de un vistazo podemos observar todas sus características (indicar tipo de geometría, establecer SRC y la creación, edición y eliminación de campos de la tabla de atributos)
Crear un shapefile en gvSIG
Para crear un shapefile en gvSIG lo primero es crear una nueva Vista desde el Gestor de Proyecto.
A continuación selecciona la herramienta Nueva capa en el menú Vista y arrancará el asistente para su creación.
Pulsa en Siguiente y da un nombre a la nueva capa e indica el directorio o carpeta donde deseas guardarla.
En la siguiente ventana debes indicar el tipo de geometría que se ha de crear (línea, punto o polígono) y, además, puedes crear los campos que requieras.
Por otro lado, puedes comprobar el Sistema de Coordenadas asignado (el mismo que se haya definido para la Vista).
Por último, el asistente pregunta si deseas añadir la nueva capa creada a la Vista en gvSIG marcando la casilla de verificación Añadir capa a la vista. Tras hacer clic en Terminar se habrá creado nuestra capa.
Si ya tienes una tabla con coordenadas solo te falta crear el shapefile:
Cómo crear una capa a partir de una tabla con coordenadas XY
Tutor de los cursos de QGIS, QGIS avanzado, QGIS aplicado a Urbanismo y Catastro, PostGIS, Teledetección con QGIS y Google Earth Engine, PostGIS y ArcGIS. Licenciado en Geografía y Master en SIG y Ordenación del Territorio. Echa un vistazo a todos nuestros cursos de SIG online.
Hola, muchas gracias por la guía,
una pregunta ¿puedo generar shapes por medio de líneas de comando? es para generar archivos shapes en un proceso diario que corra en la noche y que actualice los datos de los shapes.
muchas gracias.
David.
Hola David,
Los tres programas utilizan Python como lenguaje de programación para automatizar esa tarea. Nosotros somos especialistas en formación con ArPy y PyQGIS. Saludos!
Hola,
navegando buscando información sobre GIS me he encontrado con esta página y me ha sorprendido gratamente, primero porque está muy bien y segundo porque sois de Valladolid como yo 🙂
Allá va la pregunta (de nivel muy novato): tengo un archivo shape con un nivel de granularidad muy pequeño y quiero generar un fichero shape con un nivel de agrupación por encima. ¿Esto es posible? Con un ejemplo igual me hago entender: Tengo un fichero shape digamos de códigos postales. Por otro lado tengo un excel que dice a qué provincia pertenece cada uno de esos códigos postales. ¿Hay alguna herramienta que me permita de manera automática darle el fichero shape y el excel y que me devuelva un fichero shape con los contornos de las provincias?
Gracias!
Hola Chema,
En primer lugar encantados de saludarte y agradecerte que sigas nuestro blog y además desde tan cerquita. Espero que te sirva de ayuda en más aspectos para conocer mejor el mundo SIG.
Respecto a tu duda y siguiendo tu ejemplo… Deberías de realizar un join entre la capa que recoge los códigos postales y la tabla excel que recoge las provincias (tendrá que existir un campo común en ambas tablas que supongo que será el código postal).
Una vez realizada la unión, guarda la capa con otro nombre, para que la unión sea estable, de no guardarla al eliminar la información de la interfaz desaparecerá también esta unión.
Por último, aplica la herramienta Dissolve/Disolver por el campo que recoge la provincia en esa nueva capa creada y listo!.
Un saludo!
Muchas gracias! Vamos a ver qué se puede hacer con estas manazas 🙂
Hola!
Os escribo para informaros de que gracias a vuestros consejos he podido crear la nueva capa sin problema. Bueno, no del todo. Para ser exactos, en ArcGis me ha ido perfecto. Pero en qGis resulta que lo hago todo, y cuando voy a abrir el shp resultante en mi programa (spotfire) resulta que sólo me aparece una de las provincias. El resto no lo veo. Pero en qGis sí que me aparece dibujado todo el mapa y también todos los registros en la capa de atributos…supongo que estaré omitiendo algún paso o alguna opción al guardar la capa, pero el caso es que no lo encuentro.
Gracias de nuevo!
Hola Chema,
Deberías de poder visualizar de igual forma dicho shapefile, ya que el formato no cambia de un software a otro. La verdad es que no tenemos conocimiento del funcionamiento de Spotfire por lo que no te puedo ayudar mucho en este aspecto 🙁
Un saludo!
Muchas gracias. Desde Argentina.
Hola Edgar,
Muchas gracias a ti por seguir nuestro blog.
Un saludo!
Felicitaciones, es una guía bien sociable para ejecutar, he consultado varias dudas y quedo totalmente satisfecha con la metodología explicativa de su parte.
Gracias Olys por seguir nuestro blog, nos alegra que te haya servido de ayuda para resolver tus dudas.
Un saludo!
He bajado varios puntos de gps juntos, necesito separarlos por shape diferentes en quantum gis como hago
Hola Milton,
Puedes utilizar la herramienta Dividir capa vectorial… del menú Vectorial/Herramientas de gestión de datos. Tendrás que tener un campo en el shape de origen con un valor diferente por registro para que el resultado sea correcto.
Un saludo!