Polygones voisins (Analyse)

Résumé

Crée une table avec des statistiques basées sur la contiguïté des polygones (superpositions, tronçons coïncidents ou nœuds).

En savoir plus sur le fonctionnement de l’outil Voisinage du polygone

Illustration

Diagramme illustrant un polygone source et ses polygones voisins

Utilisation

  • L'outil permet d'analyser la contiguïté, en récapitulant

    • les surfaces de superposition (voisins superposés - en option)
    • la longueur des tronçons coïncidents (voisins au nœud)
    • le nombre de fois pendant lesquelles des limites se croisent ou se touchent en un point (voisin au nœud)
    entre des polygones source et des polygones voisins. Les informations récapitulatives sont consignées dans une table en sortie. Un polygone source peut avoir un ou plusieurs polygones voisins. Un polygone voisin est spatialement associé au polygone source d'une des façons suivantes :

  • Seule la contiguïté de premier ordre est analysée et signalée par l’outil. Les relations n’y ayant pas trait ne sont pas examinées. Autrement dit, les voisins des voisins (contiguïté de deuxième ordre) ne sont pas examinés.

  • Le paramètre Report By Field(s) (Signaler par champ[s]) (in_fields dans Python) permet d’identifier des polygones uniques ou des groupes de polygones et de communiquer les informations de voisinage de chaque polygone ou de chaque groupe. Pour trouver les voisins de chaque polygone dans l'entrée, indiquez un ou plusieurs champs en entrée produisant une valeur unique ou un ensemble de valeurs (si vous utilisez plusieurs champs) pour chaque polygone.

    Si les champs spécifiés identifient des groupes de polygones uniques, les informations sur le voisinage sont récapitulées et signalées par les groupes.

    Reportez-vous à la rubrique Fonctionnement de l’outil Voisinage du polygone pour savoir comment utiliser ce paramètre.

  • Vous pouvez utiliser le paramètre Include area overlap (Inclure les superpositions de zone) pour analyser les relations de superposition des surfaces. Lorsque vous sélectionnez l'option Include area overlap (Inclure les superpositions de zone), la table en sortie contient un champ appelé AREA, qui contient la surface de superposition du voisin superposé en cours d'analyse. En l'absence de superposition, AREA a pour valeur 0.

    Astuce :

    Le calcul de relations de superposition de surfaces est une opération sollicitant beaucoup de ressources, et les performances risquent d’être bien plus lentes que si vous déterminiez les relations de voisinage au nœud et au tronçon coïncident. Si vous savez que vos données ne présentent aucune entité superposée ou si vous ne souhaitez pas analyser les voisins superposés, désactivez la case à cocher Include area overlap (Inclure les superpositions de zone) dans la boîte de dialogue de l’outil (area_overlap="NO_AREA_OVERLAP" dans Python).

    Attention :

    La case à cocher Include area overlap (Inclure les superpositions de zone) doit être activée dans la boîte de dialogue (area_overlap="AREA_OVERLAP" dans Python) pour obtenir les enregistrements des voisins figurant entièrement dans un polygone source. Si vous n’activez pas la case à cocher Include area overlap (Inclure les superpositions de zone), la table en sortie ne contient pas les enregistrements des voisins figurant entièrement dans un polygone source.

  • Il n'y a aucune entrée dans la table en sortie pour les entités non voisines.

  • La case à cocher Include both sides of neighbor relationship (Inclure les deux côtés de la relation voisine) de la boîte de dialogue de l’outil permet de contrôler les relations incluses dans la sortie. Pour signaler toutes les relations de contiguïté, y compris les relations réciproques, activez la case à cocher Include both sides of neighbor relationship (Inclure les deux côtés de la relation voisine) (both_sides="BOTH_SIDES" dans Python). Par exemple, si OID1 est un voisin d’OID2, une entrée est ajoutée dans la table en sortie pour OID1 ayant pour voisin OID2, et pour OID2 ayant pour voisin OID1. Si seul le premier côté de la relation vous intéresse, désactivez l’option Include both sides of neighbor relationship (Inclure les deux côtés de la relation voisine). Toujours avec cet exemple, si l’option Include both sides of neighbor relationship (Inclure les deux côtés de la relation voisine) est désactivée, seule l’entrée relative à OID1 ayant pour voisin OID2 sera consignée dans la table en sortie.

  • L’option Output Linear Units (Unités linéaires en sortie) spécifie les unités à utiliser pour la longueur de limite mitoyenne entre voisins. Par défaut, les unités utilisées sont les mêmes que celles définies par le système de coordonnées d'entités en entrée.

  • L’option Output Area Units (Unités de surface en sortie) est utilisée uniquement lorsque le paramètre Area Overlap (Superposition de zone) est sélectionné (area_overlap="AREA_OVERLAP" dans Python). Lorsque le paramètre Area Overlap (Superposition de zone) est activé, les unités utilisées pour calculer la superposition de surfaces des voisins sont spécifiées dans le paramètre Output Area Units (Unités de surface en sortie). Par défaut, les unités utilisées sont les mêmes que celles définies par le système de coordonnées de l'entité en entrée.

  • La table en sortie peut être une table de géodatabase fichier ou une table .dbf.

  • La table en sortie contient les champs suivants :

    • src_field(s) - Le préfixe src signifie « source » et field est un champ spécifié dans le paramètre Report By Field(s) (Signaler par champ[s]). Le nombre de champs obtenus dépend des valeurs que vous avez spécifiées dans le paramètre Report By Field(s) (Signaler par champ[s]).
    • nbr_field(s) - Le préfixe nbr est l’abréviation de « neighbor » (voisin) et field est un champ spécifié dans le paramètre Report By Field(s) (Signaler par champ[s]). Tout comme avec src_field(s), le nombre de champs obtenus dépend des valeurs que vous avez spécifiées dans le paramètre Report By Field(s) (Signaler par champ[s]).
    • AREA - Ce champ stocke la surface totale superposée entre un polygone source et un polygone voisin (voisins superposés). Ce champ est inclus dans la table en sortie uniquement si le paramètre Include area overlap (Inclure les superpositions de zone) est activé (area_overlap="AREA_OVERLAP" dans Python).
    • LENGTH - Ce champ stocke la longueur totale des tronçons coïncidents entre un polygone source et un polygone voisin.
    • NODE_COUNT - Ce champ stocke le nombre de croisements ou de contacts en un point entre un polygone source et un polygone voisin.

  • Si une sélection est définie sur les entités en entrée, seules les entités sélectionnées sont analysées.

Syntaxe

arcpy.analysis.PolygonNeighbors(in_features, out_table, {in_fields}, {area_overlap}, {both_sides}, {cluster_tolerance}, {out_linear_units}, {out_area_units})
ParamètreExplicationType de données
in_features

Entités surfaciques en entrée.

Feature Layer
out_table

Table en sortie.

Table
in_fields
[field,...]
(Facultatif)

Le ou les champs attributaires utilisés pour identifier des polygones uniques ou des groupes de polygones et les représenter dans la sortie.

Field
area_overlap
(Facultatif)

Détermine si les polygones superposés sont analysés et inclus dans la sortie.

  • NO_AREA_OVERLAPLes relations de superposition ne sont ni analysées, ni incluses dans la sortie. Il s’agit de l’option par défaut.
  • AREA_OVERLAPLes relations de superposition sont analysées et incluses dans la sortie.
Boolean
both_sides
(Facultatif)

Détermine si les deux côtés des relations de voisinage sont incluses dans la sortie.

  • BOTH_SIDES En présence d’une paire de polygones voisins, les informations identifiant le premier polygone comme étant la source et le second comme étant le voisin sont consignées, et vice-versa. Il s’agit de l’option par défaut.
  • NO_BOTH_SIDES En présence d’une paire de polygones voisins, seules les informations identifiant le premier polygone comme étant la source et le second comme étant le voisin sont consignées. Ne consignez pas la relation réciproque.
Boolean
cluster_tolerance
(Facultatif)

Distance minimale entre des coordonnées avant qu’elles ne soient considérées comme identiques. Par défaut, il s’agit de la tolérance XY des entités en entrée.

Attention :

Modifier la valeur de ce paramètre peut provoquer des erreurs ou des résultats inattendus. Il est recommandé de ne pas modifier ce paramètre. Ce paramètre n’est plus affiché dans la boîte de dialogue de l’outil. Par défaut, la propriété tolérance x,y de référence spatiale de la classe d'entités en entrée est utilisée.

Linear Unit
out_linear_units
(Facultatif)

Unités utilisées pour signaler la longueur totale du tronçon coïncident entre des polygones voisins. Par défaut, il s'agit des unités des entités en entrée.

  • UNKNOWNInconnu
  • INCHESPouces
  • FEETPieds
  • YARDSYards
  • MILESMilles
  • NAUTICAL_MILESMilles nautiques
  • MILLIMETERSMillimètres
  • CENTIMETERSCentimètres
  • DECIMETERSDécimètres
  • METERSMètres
  • KILOMETERSKilomètres
  • DECIMAL_DEGREESDegrés décimaux
  • POINTSPoints
String
out_area_units
(Facultatif)

Unités utilisées pour indiquer la superposition de surfaces de polygones voisins. Les unités des entités en entrée sont utilisées par défaut. Ce paramètre n’est disponible que si area_overlap="AREA_OVERLAP".

  • UNKNOWNInconnu
  • ARESAres
  • ACRESAres
  • HECTARESHectares
  • SQUARE_INCHESPouces carrés
  • SQUARE_FEETPieds carrés
  • SQUARE_YARDSYards carrés
  • SQUARE_MILESMiles carrés
  • SQUARE_MILLIMETERSMillimètres carrés
  • SQUARE_CENTIMETERSCentimètres carrés
  • SQUARE_DECIMETERSDécimètres carrés
  • SQUARE_METERSMètres carrés
  • SQUARE_KILOMETERSKilomètres carrés
String

Exemple de code

Exemple d'utilisation de l'outil PolygonNeighbors (fenêtre Python)

Recherchez tous les voisins des districts électoraux dans la province de Nouvelle-Écosse.

import arcpy
arcpy.MakeFeatureLayer_management(r"C:\Data\Canada\CanadaElecDist.shp", 
                                  "Canada_ElectoralDist")
arcpy.SelectLayerByAttribute_management("Canada_ElectoralDist", "NEW_SELECTION", 
                                        "\"PROVCODE\" = 'NS'")
count = arcpy.GetCount_management("Canada_ElectoralDist")[0]
print("Selected feature count: {}".format(count))
arcpy.PolygonNeighbors_analysis("Canada_ElectoralDist", 
                                r"C:\Data\Output\NS_elec_neigh.dbf", "ENNAME")
print(arcpy.GetMessages())

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes