47 votos

Cómo rellenar mi columna con números consecutivos

Soy muy nuevo en Qgis, así que perdona esta simple pregunta. La búsqueda en temas más antiguos tampoco me ha ayudado: Hago una nueva columna en mi tabla de atributos y tiene un valor por defecto(por ejemplo 0). Quiero (probablemente utilizar la calculadora de campo) y tener el resultado, que la fila 1 tiene el valor 1, fila 2=2 y así sucesivamente, al igual que un índice numerado. Agradecería un ejemplo de código para la calculadora de campos(incluyendo el uso de $rownum(creo que lo necesito para pasar a la fila))

81voto

gregmac Puntos 12813

No es una prueba "diagramática", pero se puede ver que esto es, de hecho, la aproximación del "logaritmo principal" mirando lo que se obtiene cuando se resuelve el Callan-Symanzik con la primera función beta de bucle. Digamos que tengo una función de correlación $\mathcal{G}(\lambda,\ell)$ que es una función de algún acoplamiento marginal $\lambda$ y $\ell \equiv \log \Lambda$ el logaritmo de la escala de energía. Digamos que el primer bucle $\beta$ función para $\lambda$ parece

$\beta(\lambda) = b\lambda^2 + \mathcal{O}(\lambda^3)$

para alguna constante $b$ . Al igual que el escalar $\phi^4$ en $d=4$ .

La ecuación del CS es la siguiente

$\left(\frac{\partial}{\partial\ell} - \beta(\lambda)\frac{\partial}{\partial\lambda}\right)\mathcal{G}(\lambda,\ell) = 0$

Resolviendo esta ecuación con el orden más bajo $\beta$ le ofrece la función $\mathcal{G}$ en el límite $\lambda \rightarrow 0$ pero $\lambda\ell$ fijo. Se trata, por tanto, de la suma de los términos que llevan en $\ell$ por cada pedido de $\lambda$ . Se puede ver esto reescribiendo $\mathcal{G}$ de la siguiente manera:

$\mathcal{G}(\lambda,\ell) = \lambda\mathcal{G}^{(1)}(\lambda\ell) +\lambda^2\mathcal{G}^{(2)}(\lambda\ell) + \lambda^3\mathcal{G}^{(3)}(\lambda\ell) +\,\,...$

donde el $\mathcal{G}^{(i)}$ son algunas funciones desconocidas de una sola variable. Puedes hacer esto ya que hay un nivel máximo de divergencia en cada orden de la teoría de la perturbación. Si introduces esto en la ecuación del CS y sigues el orden de los términos ves que obtienes una buena ecuación diferencial para $\mathcal{G}^{(1)}$ pero no para ninguno de los términos de orden superior. Si se pasa al siguiente orden en $\lambda$ en el $\beta$ que le daría una buena ecuación para $\mathcal{G}^{(2)}$ que es el siguiente a los diagramas más divergentes de todos los órdenes de la teoría de perturbación. Así que el procedimiento RG convierte el límite $\lambda\rightarrow 0$ , $\ell$ que se obtiene de la teoría de perturbación estándar, en el límite $\lambda\rightarrow 0$ , $\lambda\cdot\ell$ fijo, que suele ser más útil.

2 votos

He seguido tu planteamiento, sin embargo sin razón aparente, los números cambian en un punto. Funcionó perfectamente desde la fila 1 hasta la 129, y después cambió a la 789... ¿hay alguna manera de resolver esto?

3 votos

Asegúrate de que no tienes un filtro de pantalla activo, ya que no hay razón para que salte.

13voto

Cemre Puntos 153

@ArMoraer ha desarrollado un interesante plugin para poder controlar la forma en que se realiza esta numeración automática, se llama "Ordenar y numerar" . Puede utilizarlo para rellenar una columna con números únicos teniendo en cuenta otros 3 campos para ordenar sus datos como desee antes de la numeración.

Ver el tema de origen : ¿Existe una forma de asignar un número de fila a una tabla ordenada por columna en QGIS?

11voto

Leo Cardona Puntos 81

Si está utilizando QGIS 3 debe utilizar @row_number

enter image description here

0 votos

En qué se diferencia su respuesta de gis.stackexchange.com/a/27741/99589 ?

0 votos

No hay ninguna diferencia en la respuesta (sólo incluye una imagen ilustrativa), cuando publiqué mi respuesta aún no se había actualizado la anterior. Si lo recomiendan, puedo borrar esta respuesta.

0 votos

Tengo una pregunta. ¿Qué se hace cuando se añaden nuevos valores a la tabla? ¿Cambian los números de las filas o continúan la secuencia? Como los números que di deben permanecer como son y sólo continuar la secuencia.

5voto

Elizabeth Henning Puntos 201

Para mí la mejor y más fácil manera es simplemente $id , esto devolverá un id a cada fila indexándola desde 0 .

3 votos

Devuelve el ID de cada característica, pero la secuencia no empieza necesariamente en 0 y puede tener valores perdidos. Es el caso después de haber eliminado una característica existente (es decir, empezar con una capa que tiene 3 características, eliminar #2, la llamada a $id devolverá 0 y 2.)

0 votos

Tienes razón, si faltan valores, entonces habrá un problema con el número de indexación real. Sin embargo, supongo que llamar a la $id , después de borrar las filas debería corroborar @row_number . Si he entendido bien su afirmación.

0 votos

no, dejará agujeros

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X