Zone tampon deux par deux (Analyse)

Résumé

Crée des polygones servant de zone tampon autour des entités en entrée à une distance spécifiée, via une approche de traitement parallèle.

L'outil Zone tampon deux par deux est très similaire à l'outil Zone tampon. L'outil Zone tampon deux par deux permet de traiter les zones tampon en parallèle.

Illustration

Illustration de l'outil Zone tampon deux par deux

Utilisation

  • Cet outil respecte l'environnement Facteur de traitement parallèle. Si l'environnement n'est pas défini (valeur par défaut) ou s'il est défini sur 100, le traitement parallèle complet est activé et l'outil tente de répartir les tâches parmi tous les cœurs logiques de la machine. Si vous définissez l'environnement sur 0, le traitement parallèle est désactivé. Si vous spécifiez un facteur compris entre 1 et 99, l'outil détermine le pourcentage de cœurs logiques à utiliser en appliquant la formule (Facteur de traitement parallèle / 100 * Cœurs logiques) arrondie à l'entier supérieur le plus proche. Si le résultat de cette formule est 0 ou 1, le traitement parallèle n'est pas activé.

  • Cet outil s'appuie sur les entités en entrée qui possèdent un index spatial. Utilisez l’outil Ajouter un index spatial pour créer un index (en particulier pour les shapefiles) ou pour régénérer un index existant si vous doutez de son exactitude.

  • Comme la rubrique Fonctionnement de l’outil Zone tampon l’explique, une des fonctionnalités importantes de l’outil Zone tampon est le paramètre Method (Méthode), qui définit le mode de génération des zones tampon. Les deux méthodes de base pour construire des zones tampon, euclidienne et géodésique, sont décrites comme suit :

    • Les zones tampon euclidiennes mesurent la distance dans un plan cartésien bidimensionnel, où les distances en ligne droite ou euclidiennes sont calculées entre deux points d’une surface plane (plan cartésien). Les zones tampon euclidiennes sont le type de zone tampon le plus courant et conviennent à l’analyse de distances autour d’entités dans un système de coordonnées projetées concentrées dans une surface relativement petite (par exemple, une zone UTM).
    • Les zones tampon géodésiques tiennent compte de la forme réelle de la Terre (ellipsoïdale, ou plus exactement géoïdale). Les distances sont calculées entre deux points d'une surface courbe (forme géoïdale), et non entre deux points d'une surface plane (plan cartésien). Il est recommandé de toujours créer des zones tampon géodésiques dans les cas suivants :
      • Vos entités en entrée sont dispersées (elles couvrent plusieurs zones UTM, de vastes régions ou même l’ensemble du globe).
      • La référence spatiale (projection cartographique) de vos entités en entrée déforme les distances en vue de préserver d’autres propriétés, telles que la surface.
      Les zones tampon géodésiques peuvent sembler inhabituelles sur une carte plane. Toutefois, affichées sur un globe, ces zones tampon ont une apparence correcte (vous pouvez également utiliser une scène 3D ou ArcGIS Earth pour afficher des données géographiques sur un globe tridimensionnel). Pour en savoir plus, reportez-vous à la rubrique Fonctionnement de l'outil Zone tampon.

    Le paramètre Method (Méthode) détermine le mode de création des zones tampon.

    • Planar (Planaire) (method="PLANAR" dans Python) est l’option par défaut. Cette option détermine automatiquement la méthode à utiliser en fonction du système de coordonnées de l’entrée.
      • Si les entités en entrée disposent d'un système de coordonnées projetées, des zones tampon euclidiennes sont créées.
      • Si les entités en entrée disposent d’un système de coordonnées géographiques et que vous spécifiez une distance de la zone tampon (Buffer Distance) en unités linéaires (mètres, pieds, etc., par opposition aux unités angulaires telles que les degrés), des zones tampon géodésiques sont créées.
      • Cette option produit le même résultat que l’outil Zone tampon avant ArcGIS 10.3.
    • Geodesic (Géodésique) (method="GEODESIC" dans Python) crée une zone tampon géodésique de préservation de la forme, quel que soit le système de coordonnées en entrée. La zone tampon géodésique de préservation de la forme densifie les entités en entrée avant de créer les zones tampon géodésiques en sortie en vue de générer des zones tampon qui représentent plus fidèlement la forme des entités en entrée. Si vous vous préoccupez de la forme de vos zones tampon, ainsi que du degré de correspondance de leur forme avec les entités en entrée d'origine, il est recommandé d'utiliser cette option, en particulier lorsque vos données en entrée se trouvent dans un système de coordonnées géographiques. Dans certains cas, cette opération peut prendre plus de temps que si vous choisissez l’option Planar (Planaire) pour créer la zone tampon géodésique, mais vous obtenez une zone tampon qui correspond davantage à la forme de l’entité en entrée.

    Remarque :

    Vous pouvez changer le système de coordonnées d’une classe d’entités à l’aide de l’outil Projeter ou définir l’environnement de géotraitement Système de coordonnées en sortie avant d’exécuter l’outil Zone tampon. Ce système de coordonnées est utilisé pour créer des zones tampon.

    Lorsque vous utilisez la méthode Planar (Planaire), vous pouvez améliorer l’exactitude des zones tampon créées avec les entrées projetées à l’aide d’une projection qui réduit la distorsion de distance, comme une projection Equidistante conique ou une projection azimutale équidistante, adaptée à votre entrée d’un point de vue géographique.

  • Lors de la bufférisation d’entités dans un système de coordonnées projetées avec une sortie vers une classe d’entités de géodatabase, les géométries créées peuvent contenir des segments d’arc circulaire (lors de la bufférisation de points, la sortie est toujours constituée d’arcs circulaires). Si les zones tampon contenant des arcs circulaires sont une nouvelle fois projetées vers un système de coordonnées différent, l'emplacement et la taille des zones tampon d'origine sont transformés, mais la forme des zones tampon ne change pas : les zones tampon à nouveau projetées ne représentent plus avec exactitude la surface couverte par la zone tampon d'origine. Si vous projetez une nouvelle fois les zones tampon comportant des arcs circulaires, utilisez tout d'abord l'outil Densifier pour convertir des segments d'arc circulaire en lignes droites, puis projetez une nouvelle fois les zones tampon densifiées.

  • La classe d’entités en sortie comporte un champ BUFF_DIST, qui indique la distance de zone tampon utilisée pour mettre en mémoire tampon chaque entité dans l’unité linéaire du système de coordonnées en entrée. Lorsque vous utilisez la méthode géodésique pour créer des zones tampon, la distance de la zone tampon saisie est convertie en mètres dans tous les cas.

    Si un champ nommé BUFF_DIST est présent dans l’entrée, ses valeurs sont remplacées dans la sortie. Si un type de fusion (Dissolve Type) ALL ou LIST (ALL ou LIST dans Python) est utilisé, la sortie ne comporte pas ce champ.

  • Le nom de la classe d’entités en sortie possèdera un champ ORIG_FID qui contient l’ID de l’entité en entrée pour laquelle la zone tampon a été créée. Si un champ nommé ORIG_FID est présent dans l’entrée, ses valeurs sont remplacées dans la sortie. Si un Type de fusion Tout ou Liste est utilisé, la sortie ne comporte pas ce champ.

  • Lors de la création de zones tampon autour d'entités polygone, l'utilisation de distances de zone tampon négatives permet de créer des zones tampon à l'intérieur des entités polygone. L'utilisation d'une distance de zone tampon négative réduit les limites des polygones de la distance spécifiée.

    Attention :

    Si la distance de zone tampon négative est suffisante pour réduire le polygone à néant, une géométrie nulle est générée. Un message d’avertissement s’affiche et aucune entité de géométrie nulle n’est écrite dans la classe d’entités en sortie.

  • Si les distances de la zone tampon sont déterminées par un champ de l’entrée, les valeurs du champ peuvent correspondre à un nombre (par exemple, 5) ou à un nombre accompagné d’une unité linéaire valide (5 kilomètres, par exemple). Si une valeur de champ est un nombre, la distance est supposée être exprimée dans l’unité linéaire de la référence spatiale de l’entrée (à moins que l’entrée ne se trouve dans un système de coordonnées géographiques, auquel cas la valeur doit être en mètres). Si l’unité linéaire indiquée dans les valeurs de champ est incorrecte ou non reconnue, l’unité linéaire de la référence spatiale de l’entrée est utilisée par défaut.

    Utilisation d'un champ de zone tampon pour les distances de la zone tampon
  • Le bouton Ajouter un champ du paramètre Champ(s) de fusion est utilisé uniquement dans ModelBuilder. Dans ModelBuilder, lorsque l'outil précédent n'a pas été exécuté ou si ses données dérivées n'existent pas, le paramètre Champ(s) de fusion peut ne comporter aucun nom de champ. Le bouton Add Field (Ajouter un champ) permet l’ajout des champs attendus à la liste Dissolve Field(s) (Champ(s) de fusion) afin de renseigner la boîte de dialogue de l’outil Buffer (Zone tampon).

Syntaxe

PairwiseBuffer(in_features, out_feature_class, buffer_distance_or_field, {dissolve_option}, {dissolve_field}, {method}, {max_deviation})
ParamètreExplicationType de données
in_features

Entités point, ligne ou polygone en entrée à buffériser.

Feature Layer
out_feature_class

Classe d'entités contenant les zones tampon en sortie.

Feature Class
buffer_distance_or_field

Distance autour des entités en entrée à buffériser. Les distances peuvent être fournies en tant que valeur représentant une distance linéaire ou en tant que champ des entités en entrée contenant la distance utilisée pour bufferiser chaque entité.

Si les unités linéaires ne sont pas indiquées ou sont spécifiées inconnues, l'unité linéaire de la référence spatiale des entités en entrée est utilisée.

Lors de la spécification d'une distance, si l'unité linéaire souhaitée comporte deux mots, tels que Decimal Degrees (Degrés décimaux), fusionnez ces deux mots (par exemple, 20 DecimalDegrees).

Linear Unit; Field
dissolve_option
(Facultatif)

Le type d'opération de fusion peut permettre de supprimer les superpositions de la zone tampon.

  • NONEUne zone tampon est conservée par entité, indépendamment de la superposition. Il s’agit de l’option par défaut.
  • ALLFusionne toutes les zones tampons dans une entité unique en supprimant les superpositions éventuelles.
  • LISTLes zones tampons éventuelles ayant des valeurs attributaire identiques dans les champs listés (provenant des entités en entrée) sont fusionnées.
String
dissolve_field
[dissolve_field,...]
(Facultatif)

Liste des champs des entités en entrée sur lesquelles les zones tampon en sortie doivent être fusionnées. Les zones tampons éventuelles ayant des valeurs attributaire identiques dans les champs listés (provenant des entités en entrée) sont fusionnées.

Field
method
(Facultatif)

Indique la méthode à utiliser, planaire ou géodésique, pour créer la zone tampon.

  • PLANARSi les entités en entrée sont dans un système de coordonnées projetées, des zones tampon euclidiennes sont créées. Si les entités en entrée sont dans un système de coordonnées géographiques et que la distance de la zone tampon est en unités linéaires (mètres, pieds, etc., par opposition aux unités angulaires telles que les degrés), des zones tampon géodésiques sont créées. Il s’agit de l’option par défaut. Vous pouvez utiliser le paramètre d’environnement Système de coordonnées en sortie pour indiquer le système de coordonnées à utiliser. Par exemple, si vos entités en entrée sont dans un système de coordonnées projetées, vous pouvez définir l’environnement sur un système de coordonnées géographiques afin de créer des zones tampon géodésiques.
  • GEODESICToutes les zones tampon sont créées à l’aide d’une méthode de zone tampon géodésique de préservation de la forme, quel que soit le système de coordonnées en entrée.
String
max_deviation
(Facultatif)

Distance maximale selon laquelle la limite surfacique de la zone tampon en sortie obtenue peut s'écarter de la limite de la zone tampon réelle.

La limite de la zone tampon réelle est une courbe. Toutefois, la limite surfacique obtenue est une polyligne densifiée. Avec ce paramètre, vous pouvez contrôler l'approximation de la limite surfacique en sortie par rapport à la limite de la zone tampon réelle.

Si le paramètre n'est pas défini, ou s'il est défini sur 0, l'outil détermine l'écart maximum. Nous recommandons vivement d'utiliser le paramètre par défaut. Des dégradations importantes des performances (dans l'outil même ou dans les analyses ultérieures) peuvent résulter de l'utilisation d'un écart trop faible de décalage maximal.

Consultez les informations du paramètre max_deviation indiquées dans la documentation de l'outil Densifier pour en savoir plus.

Linear Unit

Exemple de code

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

Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil PairwiseBuffer.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.PairwiseBuffer_analysis("roads", "C:/output/majorrdsBuffered", "100 Feet", "LIST", "Distance")
Exemple 2 d'utilisation de l'outil PairwiseBuffer (script autonome)

Identifiez les surfaces de végétation convenable en excluant les surfaces très affectées par les routes principales.

# Name: PairwiseBuffer.py
# Description: Find areas of suitable vegetation that exclude areas heavily impacted by major roads
# import system modules 
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data/Habitat_Analysis.gdb"
# Select suitable vegetation patches from all vegetation
veg = "vegtype"
suitableVeg = "C:/output/Output.gdb/suitable_vegetation"
whereClause = "HABITAT = 1" 
arcpy.Select_analysis(veg, suitableVeg, whereClause)
# Buffer areas of impact around major roads
roads = "majorrds"
roadsBuffer = "C:/output/Output.gdb/buffer_output"
distanceField = "Distance"
sideType = "FULL"
endType = "ROUND"
dissolveType = "LIST"
dissolveField = "Distance"
arcpy.PairwiseBuffer_analysis(roads, roadsBuffer, distanceField, dissolveType, dissolveField)
# Erase areas of impact around major roads from the suitable vegetation patches
eraseOutput = "C:/output/Output.gdb/suitable_vegetation_minus_roads"
xyTol = "1 Meters"
arcpy.Erase_analysis(suitableVeg, roadsBuffer, eraseOutput, xyTol)

Informations de licence

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

Rubriques connexes