Existe-t-il un outil gratuit d'agrégation de points pour ArcGIS 10?


10

J'ai besoin de faire une analyse Getis-Ord mais d'abord je dois agréger mes points. Je connais XToolsPro, mais la fonction d'agrégation de points est verrouillée et vous devez acheter une licence pour l'utiliser. Je me demande s'il existe un outil gratuit ou une solution de contournement dans ArcMap qui me manque pour agréger des points.

Un certain contexte: ce que j'ai, c'est plus de 8 000 points, dont beaucoup ont des attributs différents, mais peuvent partager le même emplacement géospatial (approximatif). Pour cette analyse, j'ai juste besoin d'agréger tous les points qui se chevauchent sur la base d'un champ contenant une valeur numérique à additionner. Par exemple:

Point A overlaps Point B and Point C.  
Point A field value = 1.4
Point B = 2.4, and 
Point C = 5.2.  

L'agrégat des points A, B et C renverrait le point D avec une valeur de 9,0

J'espère que cela a du sens. Peut-être que je pourrais m'en tirer avec quelque chose de vraiment basique mais je ne l'ai pas encore assemblé. Toute aide que vous pourriez offrir serait appréciée!

Réponses:


13

ArcGIS v10 le fera. Exécutez d'abord "Ajouter des coordonnées XY". Exécutez ensuite Dissoudre, sélectionnez Point_X et Point_Y comme champs de dissolution, ajoutez un champ de statistiques, Sum. Je viens de le tester sur des points qui se chevauchent. La sortie a un seul point à chaque emplacement de chevauchement tandis que le champ numérique est additionné, pour cet emplacement.


+1 Il est bon d'entendre que 10 ans après avoir supprimé cette fonctionnalité de leur logiciel, ESRI l'a remise à nouveau. (Il existait dans ArcView 2/3 dans le cadre du tableau récapitulatif des opérations.)
whuber

Merci @klewis! Une chose cependant - 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. Il ne semble pas que la fonction de dissolution soit un moyen de se dissoudre à l'intérieur d'un certain seuil de distance. Je suppose alors que je devrais faire un peu de nettoyage en utilisant une analyse de proximité?
myClone

2
Il s'agit d'un outil gratuit qui effectue le clustering Kmeans, ainsi que de nombreux autres outils. Il a besoin d'ArcGIS 10, mais fonctionne avec une licence de niveau ArcView. Je n'ai pas essayé le logiciel mais il a des outils qui ne sont disponibles qu'avec une licence ArcInfo. Vous devez installer GME, R et Statconn. spatialecology.com/gme/kmeans.htm BTW, Arc 10.1 aura un regroupement de kmeans. forums.arcgis.com/threads/20288-fuzzy-c-means-cluster-analysis
klewis

6

Il existe de nombreuses façons de procéder. Un simple et efficace consiste en:

  1. Calculez les coordonnées x et y sous forme de champs dans la table attributaire.

  2. Concaténez ces coordonnées dans un identifiant.

  3. 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.

  4. 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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.