Il existe de nombreuses façons de procéder. Un simple et efficace consiste en:
Calculez les coordonnées x et y sous forme de champs dans la table attributaire.
Concaténez ces coordonnées dans un identifiant.
Résumez le tableau sur cet identifiant, en demandant la somme du champ numérique ainsi que les premières instances de x et y.
Créez un thème d'événement ponctuel du tableau récapitulatif, en utilisant (x, y) pour les coordonnées.
Éditer
Dans un commentaire, @myClone écrit
les points ne se chevauchent pas exactement (ce qui signifie que les coordonnées xy sont proches mais pas égales les unes aux autres), mais j'ai juste besoin d'agréger les points qui se trouvent à moins de 100 pieds les uns des autres.
En général, il n'y a pas de solution unique. Considérons, par exemple, trois points dans une ligne où chacun est séparé de 75 pieds de son voisin:
* * *
a b c
Vous regroupez-vous tous les trois, malgré la distance (a, c)> 100? Sinon, quelle solution choisissez-vous: (a, b), (c) ou (a), (b, c)?
Deux approches , donnant des réponses différentes dans de tels cas, sont:
(i) Mettre en mémoire tampon tous les points de 50 = 100/2 pieds, en demandant que les tampons soient fusionnés. Rejoint spatialement les tampons aux points: cela confère à chaque point l'attribut du tampon fusionné qui le contient. Cela atteint l'objectif de l'étape (2) dans ma solution d'origine. Procédez de là exactement comme avant. Dans l'exemple, cela regrouperait a, b et c ensemble.
(ii) Créez une grille de 100 par 100 pieds et identifiez les points par leurs cellules de grille. Cela ne nécessite pas de dessiner la grille ni même de stocker ses caractéristiques, car la cellule dans laquelle (x, y) se trouve est déterminée par la paire ordonnée (Floor ((x-x0) / 100), Floor ((y-y0) ) / 100)) où (x0, y0) est n'importe quelle origine de grille que vous aimez. Combinez ces coordonnées pour identifier la cellule, atteignant à nouveau l'étape (2) dans ma solution d'origine. Procédez comme avant.
Clairement, la méthode (ii) n'agrège pas tout à fait toutes les paires de points à moins de 100 pieds, car elle est capable d'agréger des paires jusqu'à 100 * Sqrt (2) = 141 pieds les unes des autres. Vous pouvez compenser en réduisant la taille de la grille à 100 / Sqrt (2) = 71 pieds, mais certaines paires à moins de 100 pieds ne seront pas agrégées. Choisis ton poison.
Notez que les solutions de la méthode (ii) dépendent de l'origine de la grille et de l'espacement. En utilisant une grille de 100 pieds, cela donnerait soit {(a, b), (c)} ou {(a), (b, c)}, selon l'origine. En utilisant une grille de 71 pieds, il garderait les trois points séparés, quelle que soit leur origine.
Il existe d'autres méthodes , que je regrouperai en groupes:
(iii) Utiliser une procédure de regroupement statistique , telle que k-means ou regroupement hiérarchique, pour faire le travail. Il existe de nombreuses informations pratiques à ce sujet sur notre site partenaire , stats @ SE . En règle générale, le logiciel de statistiques accepte (id, x, y) des triplets comme entrées et sorties (ou peut être persuadé de produire) une table de tri (id, cluster). Joignez à nouveau cette table de sortie à la table d'attribut de point, ce qui nous ramène une fois de plus à l'étape (2) de la solution d'origine, etc.
(iv) Certains logiciels géostatistiques , tels que GSLib , incluent diverses routines de "déclassement" destinées à préparer des données pour la variographie et le krigeage. Leur sortie peut généralement être réimportée dans le logiciel SIG et transformée en une couche de points.
Les méthodes décrites jusqu'à présent vous donnent un contrôle total sur ce qui se passe, vous permettant de poursuivre votre travail en connaissance de cause et de manière professionnelle (sans avoir à faire de l'ingénierie inverse de vos outils logiciels).
Enfin, il convient de mentionner que
(v) les copies récentes d'ArcGIS disposent d'un outil de déclassement . Si je me souviens bien, on ne sait pas comment cela fonctionne; vous devez lire le code sous-jacent pour comprendre ce qui se passe.