Un método muy, muy RÁPIDO y fácil de ordenar una capa de shapefile (usando varios campos).
1 - Exporte el archivo de forma a CSV (seleccione un buen separador, como punto y coma) y agregue GEOMETRÍA usando "opciones de capa" -> "AS WKT"
2 - Abra file.csv con LIBREOFFICE (calc) y use MENU-> DATA-> SORT (muy intuitivo, potente y MUY RÁPIDO (Clasifique sobre la marcha las características 50000 usando 3 columnas como las opciones de ordenación, ascendente y descendente, e i tener un cuaderno muy lento;))
3 - Guarde nuevamente el archivo de LIBREOFFICE (calc) como "Text CSV" (marque "Editar configuración de filtro" y elija el separador como 'punto y coma', no importa la advertencia de libreoffice, guarde como CSV y seleccione 'punto y coma' como separador)
4 - Desde Qgis abra el nuevo archivo.csv (y ordenado) desde el menú 'Agregar capa "-> Agregar capa de texto delimitador.
PROS: - Muy, muy rápido, ordenar desde varios campos - Funciona bien con datos codificados UTF_8
CONTRAS: - Necesita LIBREOFFICE (pero es un software de código abierto)
Método alternativo para ordenar (sustituye los puntos 2 y 3, y es el más rápido) usando la consola (BASH)
Abra la consola y vaya a donde tiene file.csv
Supongamos que desea ordenar el archivo con la clave:
field6 (desc) + field1 (ascen) + field3 (desce)
entonces el comando será:
sort -t ';' -k6,6r -k1,1 -k3,3r file.csv> file_sort.csv
NOTAS
- puede agregar -kn, n para cada número de columna 'n' (campo) que necesita agregar a su "clave de clasificación"
- agregando 'r' después de cada n, n se ordenará en modo inverso (descenso)
- Debe pasar el separador de caracteres utilizado en el archivo csv con -t param