Cálculo de longitudes de línea y estadísticas

Advertencia

Este tutorial está ahora obsoleto. Una versión nueva y actualizada está disponible en Calcular Longitudes y Estadísticas de Línea (QGIS3)

QGIS tiene funciones incorporadas para calcular varias propiedades basadas en la geometría de la entidad - tales como longitud, área, perímetro, etc. Este tutorial mostrará como usar la Calculadora de Campo para agregar una columna con un valor que representa la longitud de cada entidad.

Vista general de la tarea

Usaremos una archivo shape polilínea de ferrocarriles en Norte América e intentaremos determinar la longitud total de los ferrocarriles en los Estados Unidos.

Otras habilidades que aprenderás

  • Usar expresiones para seleccionar entidades

  • Reproyectar una capa de Geográfico a un Sistema de Referencia de Coordenadas (SRC) Proyectado.

  • Ver estadísticas para valores de un atributo en una capa.

Obtener los datos

Natural Earth tiene un conjunto de datos de ferrocarriles de dominio público. Descargue el archivo zip North America supplement del portal.

Para su comodidad, puede descargar directamente una copia del conjunto de datos del siguiente enlace:

ne_10m_railroads_north_america..zip

Fuente de Datos [NATURALEARTH]

Procedmiento

  1. Vaya a Capa ‣ Añadir Capa Vectorial.

../_images/1170.png
  1. Navegue al archivo ne_10m_railroads_north_america.zip y clic en Aceptar.

../_images/2140.png
  1. En el diálogo Seleccione capas a añadir…, elija la capa ne_10m_railroads_north_america.shp.

../_images/380.png
  1. Una vez que la capa esté cargada, notará que la capa tiene líneas que representan los ferrocarriles de toda Norte América. Como queremos calcular las longitudes de línea sólo para los ferrocarriles de Estados Unidos, necesitaremos seleccionar las líneas que caen en los Estados Unidos. Clic-derecho en la capa y seleccione Abrir Tabla de Atributos.

../_images/448.png
  1. La capa tiene un atributo llamado sov_a3. Éste es un código de 3 letras para el país en el que cae una entidad particular. Podemos usar el valor de este atributo para seleccionar entidades que están en EE.UU.

../_images/542.png
  1. En la ventana Tabla de Atributos, clic el botón Seleccionar objetos espaciales usando una expresión.

../_images/641.png
  1. Se abrirá un nuevo diálogo Seleccionar Por Expresión. Encuentre el atributo sov_a3 bajo Campos y Valores en la sección Lista de funciones. Doble-clic en el atributo para agregarlo al área de texto Expresión. Complete la expresión escribiendo "sov_a3" = 'USA'. Clic Seleccionar objetos espaciales seguido de Cerrar.

../_images/741.png
  1. De vuelta en la ventana principal QGIS, verá que todas la líneas que caen en EE.UU. están seleccionadas y aparecen en amarillo.

../_images/840.png
  1. Ahora guardemos nuestra selección en un nuevo archivo shape. Clic-derecho en la capa ne_10m_railroads_north_america y seleccione Guardar Selección Como….

../_images/941.png
  1. Clic Explorar y nombre el archivo de salida como usa_railroads.shp. También queremos cambiar el SRC de la capa. Clic en Explorar junto a SRC.

Nota

Las funciones incorporadas que usar una geometría de objetos espaciales para cálculo usan las unidades del SRC de la capa. Un Sistema de Referencia de Coordenadas (SRC) como EPSG:4326 tiene grados como unidades - de manera que la longitud del objeto estaría en grados y el área en grados cuadrados - lo que no tiene sentido. Necesita usar una Sistema de Referencia de Coordenadas Proyectadas con unidades de metros o pies para realizar tales cálculos.

../_images/1048.png
  1. Como estamos interesados en calcular longitud, seleccionemos una proyección equidistante. Escriba north america equ en la caja de búsqueda Filtro. En el panel de resultados abajo, seleccione North_America_Equidistant_Conic EPSG:102010 como el SRC. Clic en Aceptar.

../_images/1171.png
  1. En el diálogo Guardar capa vector como…, marque Añadir archivo guardado al mapa y clic en Aceptar.

../_images/1251.png
  1. Una vez que el proceso de exportación finalice, verá cargada una nueva capa usa_railroads en QGiS. Puede desmarcar la casilla junto a la capa ne_10m_railroads_north_america para desactivarla ya que no la necesitamos más.

../_images/1349.png
  1. Clic-derecho en la capa usa_railroads y seleccione Abrir Tabla de Atributos.

../_images/1446.png
  1. Ahora es tiempo de agregar una columna con la longitud de cada objeto espacial. Ponga la capa en modo edición haciendo clic en el botón Conmutar edición. Una vez en modo edición, clic en el botón Abrir calculadora de campo.

../_images/1542.png
  1. En la Calculadora de campo, marque :guilabel:`Crear un nuevo campo. Ingrese length_km como el Nombre de campo de salida. Elija Número decimal (real) como el Tipo de campo de salida. Cambie la salida Precisión a 2. En el panel Lista de función, encuentre $length bajo Geometría. Haga doble-clic para agregarlo a la Expresión. Complete la expresión como $length / 1000 debido a que nuestro SRC de capa está en unidades metros y queremos la salida en km. Clic en Aceptar.

../_images/1640.png
  1. De vuelta en la Tabla de Atributos, verá aparecer una nueva columna length_km. Clic el botón Conmutar edición para guardar los cambios en la tabla de atributos.

../_images/1738.png
  1. Ahora que tenemos la longitud para cada línea individual en nuestra capa, podemos fácilmente sumarlas conjuntamente y encontrar la longitud Total. Vaya a Vectorial ‣ Herramientas de Análisis ‣ Estadísticas básicas para campos.

../_images/1835.png
  1. Seleccione para la Capa vectorial de entrada usa_railroads. Elija para el Campo destino length_km y clic en Aceptar. Verá aparecer varias estadísticas. El valor Suma es la longitud total de las ferrovías que estamos buscando.

Nota

Esta respuesta variará ligeramente si una proyección diferente es escogida. En la práctica, las longitudes de línea para caminos y otros objetos lineales son medidos en el terreno y provistos como atributos al conjunto de datos. Este método funciona en ausencia de tal atributo y como una aproximación de las longitudes efectivas.

../_images/1926.png

If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)