PROGRAMACIÓN
GEOESPACIAL:
HERRAMIENTAS
PARA LA INNOVACIÓN
Especialización en Gestión de
Geoinformación con mención
en Proyectos de Ingeniería

SEMANA 4

Unidad 3: Manejo de datos vectoriales

Profesor: MSc. Santiago Quiñones

Docente Investigador

Departamento de Ingeniería Civil

Contenidos

3.1 Formato de datos espaciales - Vector

Formato de datos espaciales - Vector

En el contexto del análisis geoespacial, el formato de datos espaciales vectoriales es fundamental para representar la información geográfica. Este formato permite almacenar y analizar datos espaciales a través de geometrías discretas definidas por coordenadas en un sistema de referencia.

Formato comunes de datos vectoriales

Los datos vectoriales pueden almacenarse en distintos formatos, cada uno con sus características específicas:

Shapefiles

Los Shapefiles almacenan un tipo especial de datos conocidos como geometría.

Punto

Línea

Polígono

Componentes de un Shapefile

MANTENGA TODOS LOS ARCHIVOS JUNTOS!!

  • my_map.shp (contiene la geometría)
  • my_map.dbf (contiene los atributos de cada geometría)
  • my_map.shx (vincula los atributos a la geometría)

Archivos GeoJson

El shapefile no es la única forma de almacenar datos vectoriales. También existen otros formatos, como GeoJSON, que permite representar datos espaciales en estructuras JSON. Además, ciertos datos espaciales pueden almacenarse en formatos tabulares donde la información espacial se encuentra contenida en columnas.

 

 

{
	"type": "FeatureCollection",
	"features": [
		{
			"type": "Feature",
			"geometry": {
              "type": "Point",
              "coordinates": [-70.6483, -33.4569]
			},
			"properties": {
				"nombre": "Santiago",
				"pais": "Chile"
			}
		}
	]
}

Es un formato más reciente para datos geoespaciales publicado en 2016. A diferencia de los shapefiles, GeoJSON es un único archivo, por lo que es más fácil trabajar con él.

¿Cuáles datos son almacenados en un formato de vectores espaciales?

Lectura de archivos vectoriales

Geopandas

Este código lee un shapefile en un GeoDataFrame y mira las primeras filas.

import geopandas as gpd

geo_df = gpd.read_file('My_Map_Files/my_map.shp')
geo_df.head()

Los datos se almacenan en formato tabular, donde la columna geometry contiene la información espacial de los puntos, líneas o polígonos.

Representación gráfica de datos vectoriales

Geopandas

La visualización de datos vectoriales se facilita con librerías como Matplotlib y GeoPandas.

import matplotlib.pyplot as plt

# Gráfico básico de datos vectoriales
df.plot(color="red")
plt.show()

Secuencia de mapa de colores de Matplotlib

Geopandas

Importación y creación de mapas con múltiples archivos vectoriales

Para visualizar múltiples capas de información en un mapa, se pueden combinar varios archivos shapefile utilizando GeoPandas.

# Cargar múltiples archivos shapefile
gdf1 = gpd.read_file("capa1.shp")
gdf2 = gpd.read_file("capa2.shp")

# Graficar ambas capas en un solo mapa
ax = gdf1.plot(color='blue', edgecolor='black')
gdf2.plot(ax=ax, color='red', edgecolor='black')
plt.show()

3.2 Cambio de SRC

¿Qué es un Sistema de Referencia de Coordenadas (SRC)?

  • En análisis geoespacial, es fundamental trabajar con un mismo Sistema de Referencia de Coordenadas (SRC).
  • El SRC define cómo se representan ubicaciones en la Tierra usando coordenadas específicas.
  • Proyecta la superficie 3D de la Tierra sobre un plano 2D. (Beuzen, 2021)

Georreferenciación y elementos de un SRC

Georreferenciación: vincula datos a ubicaciones específicas en un mapa (Hahmann & Burghardt, 2013).

 

Elementos clave:

  • Datum: modelo de la Tierra.

  • Proyección cartográfica: transformación a plano 2D.

  • Parámetros adicionales: meridiano central, escala y conversión de coordenadas. (Vermeer, 2019)

Diferencia de proyecciones

  • Diferentes proyecciones afectan la forma y precisión de los mapas.

  • Ejemplo: Mapas de EE.UU. en distintas proyecciones.

¿Por qué existen diferentes SRC?

 

Causas:

  • Diferentes proveedores de datos (instituciones públicas y privadas).
  • Adaptación regional: Ecuador utiliza UTM zonas 17S, 18S y 19S según su ubicación geográfica.
  • Falta de estandarización histórica: creación del sistema EPSG para unificar criterios.

Verificación de SRC en Datos Vectoriales

  • Verificar siempre el SRC antes de analizar.
import geopandas as gpd

# Cargar un archivo de caminos y un área de influencia (AOI)
caminos = gpd.read_file("caminos.shp")
aoi = gpd.read_file("aoi.shp")

# Verificar los SRC de ambas capas
print(f"El SRC de los caminos es: {caminos.crs}")
print(f"El SRC del AOI es: {aoi.crs}")

Reproyección de Datos Vectoriales

  • Reproyectar si las capas no se alinean.
  • Unificar el SRC permite una visualización precisa.
# Reproyectar el AOI al SRC de los caminos
aoi_reproyectado = aoi.to_crs(epsg=32719) # EPSG 32719 es UTM Zona 19 Sur

Visualización de datos con diferentes SRC

  • Cuando los datos tienen diferentes SRC, pueden no alinearse correctamente en una visualización.
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

caminos.plot(ax=ax, alpha=0.1)
aoi.plot(ax=ax, color='red', edgecolor='red', linewidth=1)

ax.set_title("Caminos y AOI en Diferentes SRC")
plt.show()

Reproyección y visualización ajustada

  • Después de reproyectar los datos, se pueden visualizar correctamente en un mismo SRC.
fig, ax = plt.subplots()

caminos.plot(ax=ax, alpha=0.1)
aoi_reproyectado.plot(ax=ax, color='red', edgecolor='red', linewidth=1)

ax.set_title("Caminos y AOI en el Mismo SRC")
plt.show()

3.3 Procesamiento de datos vectoriales – Parte 1

Recortando datos vectoriales

Técnica geoespacial que reduce un conjunto de datos a un área específica de interés.


Permite trabajar solo con información relevante y optimizar el procesamiento.


Aplicaciones:

  • Estudios ambientales (e.g., bosques dentro de un parque nacional)
  • Planificación urbana (e.g., carreteras en un municipio)

Recortando datos vectoriales

import geopandas as gpd

# Cargar datos espaciales
datos = gpd.read_file("datos.shp")
area_interes = gpd.read_file("area_interes.shp")

# Recortar los datos según el área de interés
datos_recortados = gpd.overlay(datos, area_interes, how="intersection")

# Guardar los datos recortados
datos_recortados.to_file("datos_recortados.shp")

Disolviendo datos vectoriales

La disolución de datos vectoriales permite combinar múltiples características en una sola entidad en función de un atributo compartido. Esta técnica es útil para la agregación de datos, como la fusión de polígonos administrativos en una sola unidad territorial.

 

Observe, a continuación, en la figura un ejemplo del método disolver.

Disolviendo datos vectoriales

# Cargar datos espaciales
datos = gpd.read_file("provincias.shp")

# Disolver polígonos por un atributo común
datos_disueltos = datos.dissolve(by="region")

# Guardar el resultado
datos_disueltos.to_file("datos_disueltos.shp")

Creación de buffers en capas vectoriales

  • Zonas de influencia alrededor de puntos, líneas o polígonos

  • Útiles para planificación territorial y análisis de proximidad

  • Aplicaciones:
    • Áreas de protección ambiental (ej. ríos)
    • Accesibilidad a transporte (ej. estaciones de metro)

Disolviendo datos vectoriales

# Cargar datos espaciales
datos = gpd.read_file("caminos.shp")

# Crear un buffer de 100 metros alrededor de los caminos
buffer = datos.buffer(100)

# Guardar el resultado
buffer.to_file("caminos_buffer.shp")

¿Tienes más preguntas sobre la temática?

Seleccione el componente Programación Geoespacial

 

y consulta lo que quieras saber.

S4 - Unidad 3: Manejo de datos vectoriales

By Santiago Quiñones Cuenca

S4 - Unidad 3: Manejo de datos vectoriales

Unidad 3: Manejo de datos vectoriales

  • 53