Suite

Comment compter le point dans le polygone + sur la limite ?

Comment compter le point dans le polygone + sur la limite ?


Je recherche donc des suggestions dans ArcGIS 10.2 et QGIS sur les méthodes permettant de compter les points dans un polygone et les points qui tombent sur une limite de polygone sans ajuster les données/points.

Le problème est que si un point est partagé par deux polygones (à la limite des deux), j'aimerais que ce point soit compté dans chaque polygone.

J'ai constaté que la sélection par emplacement dans Arc fonctionne comme un bon contrôle visuel pour examiner ces zones. Cependant, si vous utilisez généralement une jointure spatiale, le point n'est compté qu'une seule fois, voire pas du tout. Et s'il existe un ensemble de données plus important, l'inspection visuelle n'est pas toujours possible.

Une recherche rapide sur Google montre que vous pouvez utiliser la fonction Near, mais je ne pense pas que cela compterait le même point plus d'une fois dans des polygones partageant une limite.

Quelqu'un a-t-il des idées pour améliorer cette méthodologie dans ArcGIS et QGIS ?


Pour ArcGIS, je suggérerais d'utiliser un script python pour cela. Le flux de code général ressemblerait à quelque chose comme :

  1. Créer une couche d'entités à partir d'une couche de points
  2. Créer un champ de comptage pour la couche de polygones
  3. Définir le curseur de mise à jour sur la couche de polygones
  4. Parcourez chaque entité et utilisez la méthode de sélection de couche par emplacement
  5. Utiliser la méthode get count pour obtenir le nombre d'entités ponctuelles sélectionnées
  6. Écrire la valeur de comptage de l'étape 5 dans le champ de comptage de polygones vers l'entité surfacique actuelle à l'aide du curseur de mise à jour

Cela vous permettra de compter les points qui peuvent croiser de nombreuses entités surfaciques différentes par polygone.


Points d'intersection et polygones (ArcGIS) - type de sortie - point. Pour les points exactement sur la limite partagée de 2 polygones, cela se traduira par 2 points


Near n'est pas votre ami dans ce cas :

  • Il modifie les entités ponctuelles en ajoutant NEAR_FID et NEAR_DIST à leur table et éventuellement d'autres champs.
  • Vous avez raison, un point ne peut être qu'à proximité d'un polygone.

Ce que vous voulez vraiment, c'est Generate Near Table avec un search_radius de 0 (ou au moins quelque chose de très petit) - un point sur une ligne est mathématiquement très difficile à moins qu'elle ne coïncide avec un sommet, et en utilisant le plus proche de tous.

À partir de là, vous pouvez ensuite générer un résumé à l'aide des statistiques récapitulatives avec un champ de statistiques de type IN_FID COUNT et un champ de cas de NEAR_FID. Cela vous donnera le nombre de points à l'intérieur ou à la limite (dans la tolérance). Les points seront comptés plus d'une fois lorsqu'ils tombent sur la limite entre deux polygones.


Voir la vidéo: SEMIOLOGIE. 01- Troubles du transit: Diarrhées