Tengo un shapefile de puntos con varios nombres y hay muchos nombres duplicados en los datos.
Quiero destacar los duplicados más cercanos en los datos.
¿Cómo puedo resolver esto en QGIS?
Puedes utilizar expresiones para obtener para cada punto el id del punto más cercano con el mismo valor de atributo, como name
.
Puede utilizar para ello overlay_nearest
función ( disponible desde QGIS 3.16 Para las versiones más antiguas, consulte la página Plugin refFunctions ).
La expresión tiene el siguiente aspecto: la salida es el id del punto más cercano con el mismo valor en el campo name
. Utilice esta expresión con la calculadora de campos para crear un campo nearest_duplicate
:
array_first (
array_filter(
overlay_nearest(
@layer,
$id,
limit:= count(name)
),
attribute(
get_feature_by_id (
@layer,
@element
),
'name'
) =
attribute(
get_feature_by_id (
@layer,
$id
),
'name'
)
)
)
Ver captura de pantalla: aquí, he utilizado una versión ligeramente ampliada de la expresión anterior para crear líneas de conexión con el generador de geometría para visualizar la conexión de cada punto con su duplicado más cercano:
Véase la siguiente captura de pantalla, en la que los puntos también están numerados para facilitar su identificación. Mire por ejemplo en la parte inferior derecha, donde tiene tres puntos denominados C
- C:28, C:47 y C:19. Sus respectivos duplicados más cercanos son los siguientes:
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.