Générer une tessellation (Outils de gestion des données)
Résumé
Génère une grille tessellée d’entités surfaciques régulières pour couvrir une étendue donnée. La tessellation peut être constituée de triangles, carrés, losanges, hexagones, hexagones H3 ou hexagones transversaux.
Illustration
Utilisation
Pour garantir la couverture de la totalité de l’étendue en entrée par la grille tessellée, les entités en sortie sont prolongées au-delà de l’étendue en entrée. Cela se produit car les bords de la grille tessellée ne sent pas toujours des lignes droites et que des interruptions apparaissent si la grille est limitée par l'étendue en entrée.
Pour les options du paramètre Shape Type (Type de forme) autres que H3 hexagon (Hexagone H3), les entités en sortie sont créées au moyen de calculs euclidiens. Pour de meilleurs résultats, la valeur du paramètre Extent (Étendue) doit se trouver dans un système de coordonnées qui minimise la distorsion des distances ou des superficies. Les étendues doivent se trouver dans un système de coordonnées projetées adéquat. Les étendues dont le système de coordonnées géographiques ou les systèmes de coordonnées projetées ne conviennent pas aux mesures de distance doivent être projetées en premier.
Lorsque la valeur du paramètre Shape Type (Type de forme) est H3 hexagon (Hexagone H3), les valeurs du champ GRID_ID sont des index hiérarchiques uniques pour chaque cellule.
Pour toutes les autres valeurs du paramètre Shape Type (Type de forme), le champ GRID_ID contient un ID unique pour chaque entité. Le format des ID est A-1, A-2, B-1, B-2, etc. Cela permet de sélectionner des lignes et des colonnes par requête via l’outil Sélectionner une couche par attributs. Par exemple, sélectionnez toutes les entités de la colonne A avec GRID_ID like 'A-%' ou sélectionnez toutes les entités de la ligne 1 avec GRID_ID like '%-1'.
La référence spatiale en sortie est déterminée par les éléments suivants :
La valeur du paramètre Spatial Reference (Référence spatiale), si elle est indiquée
Si le paramètre Spatial Reference (Référence spatiale) n’est pas spécifié, la valeur d’environnement Système de coordonnées en sortie est utilisée, si celle-ci est définie
Si aucun de ces éléments n’est défini, la référence spatiale de la valeur du paramètre Extent (Étendue) est utilisée
La valeur du paramètre Extent (Étendue) comprend les coordonnées définissant un rectangle ainsi qu’une référence spatiale. Lorsque l’étendue est définie à partir d’un objet existant, comme l’étendue de la carte active, ou lors de l’utilisation de arcpy.Describe(dataset).extent dans Python, la référence spatiale de l’objet est généralement incluse.
Si la valeur du paramètre Extent (Étendue) indique une référence spatiale indéfinie, les coordonnées sont traitées comme si elles se trouvaient dans la référence spatiale de la sortie.
Si la valeur du paramètre Extent (Étendue) présente une référence spatiale différente de celle de la valeur du paramètre Output Feature Class (Classe d’entités en sortie), les entités sont générées dans la référence spatiale de la valeur du paramètre Extent (Étendue) et sont projetées dans la référence spatiale de la sortie. Cela ne s’applique pas lorsque le paramètre Shape Type (Type de forme) a pour valeur H3 hexagon (Hexagone H3).
Pour générer une grille qui exclut les entités de tessellation ne présentant aucune intersection avec des entités d’un autre jeu de données, utilisez l’outil Sélectionner une couche par localisation pour sélectionner des polygones en sortie qui contiennent les entités source et utilisez l’outil Copier des entités pour effectuer une copie permanente des entités en sortie sélectionnées dans une nouvelle classe d’entités.
L’outil génère des formes en fonction d’une zone spécifiée. Pour déterminer la superficie d’une forme en fonction de la longueur d’un côté, utilisez l’une des formules suivantes pour calculer la valeur du paramètre Size (Taille) :
Forme
Formule
Exemple
Hexagone ou hexagone transversal
\(A = \frac{3\sqrt{3}}{2}\mathsf{s}^2\)
Pour générer des hexagones avec des côtés de 100 mètres de long, spécifiez 25 980,76211353316 mètres carrés comme valeur du paramètre Size (Taille) (100 élevé à la puissance 2, multiplié par 3, multiplié par la racine carrée de 3, divisé par 2).
Carré
\(A = \mathsf{s}^2\)
Pour générer des carrés avec des côtés de 100 mètres de long, spécifiez 10 000 mètres carrés comme valeur du paramètre Size (Taille) (100 élevé à la puissance 2).
Losange
\(A = \mathsf{s}^2\)
Pour générer des losanges avec des côtés de 100 mètres de long, spécifiez 10 000 mètres carrés comme valeur du paramètre Size (Taille) (100 élevé à la puissance 2).
Triangle
\(A = \frac{\sqrt{3}}{4}\mathsf{s}^2\)
Pour générer des triangles avec des côtés de 100 mètres de long, spécifiez 4 330,127018922193 mètres carrés comme valeur du paramètre Size (Taille) (100 élevé à la puissance 2, multiplié par la racine carrée de 3, divisé par 4).
L’option H3 heagon (Hexagone H3) du paramètre Shape Type (Type de forme) ignore le paramètre Size (Taille). La superficie de l’hexagone dépend de la valeur du paramètre H3 Resolution (Résolution H3).
Chemin et nom de la classe d’entités en sortie contenant la grille tessellée.
Feature Class
Etendue
Étendue couverte par la tessellation. Il peut s'agir de la zone actuellement visible, de l'étendue d'un jeu de données ou de valeurs saisies manuellement.
Current Display Extent (Étendue actuellement affichée) : l’étendue repose sur la carte ou scène active.
Draw Extent (Dessiner l’étendue) : l’étendue est basée sur un rectangle dessiné sur la carte ou dans la scène.
Extent of a Layer (Étendue d’une couche) : l’étendue repose sur une couche de carte active. Choisissez une couche disponible ou utilisez l’option Étendue des données dans toutes les couches. Chaque couche de carte comporte les options suivantes :
All Features (Toutes les entités) : étendue de toutes les entités.
Selected Features (Entités sélectionnées) : étendue des entités sélectionnées.
Visible Features (Entités visibles) : étendue des entités visibles.
Browse (Parcourir) : l’étendue repose sur un jeu de données existant.
Clipboard (Presse-papiers) : l’étendue peut être copiée depuis et vers le Presse-papiers.
Copy Extent (Copier l’étendue) : copie l’étendue et le système de coordonnées dans le Presse-papiers.
Paste Extent (Coller l’étendue) : colle l’étendue et les coordonnées depuis le Presse-papiers. Si le Presse-papiers n’inclut pas de système de coordonnées, l’étendue utilise celui de la carte.
Reset Extent (Réinitialiser l’étendue) : la valeur par défaut de l’étendue est rétablie.
Lorsque les coordonnées sont saisies manuellement, elles doivent être des valeurs numériques incluses dans le système de coordonnées de la carte active. La carte peut utiliser des unités d’affichage différentes de celles des coordonnées saisies. Utilisez le signe moins pour les coordonnées sud et ouest.
Extent
Type de forme
(Facultatif)
Spécifie la forme de groupe générée.
Hexagone—Des entités en forme d’hexagone sont générées. Les côtés supérieur et inférieur de chaque hexagone sont parallèles à l’axe x du système de coordonnées (les côtés supérieur et inférieur sont plats).
Hexagone transversal—Des entités en forme d’hexagone transversal sont générées. Les côtés droit et gauche de chaque hexagone sont parallèles à l’axe y du système de coordonnées du jeu de données (le bas et le haut sont pointus).
Carré—Des entités en forme de carré sont générées. Les côtés supérieur et inférieur de chaque carré sont parallèles à l’axe x du système de coordonnées et les côtés droit et gauche sont parallèles à l’axe y du système de coordonnées.
Losange—Des entités en forme de losange sont générées. Les côtés de chaque polygone font l’objet d’une rotation de 45 degrés par rapport à l’axe x et l’axe y du système de coordonnées.
Triangle—Des entités en forme de triangle sont générées. Chaque triangle est un polygone équilatéral régulier à trois côtés.
Chemin et nom de la classe d’entités en sortie contenant la grille tessellée.
Feature Class
Extent
Étendue couverte par la tessellation. Il peut s'agir de la zone actuellement visible, de l'étendue d'un jeu de données ou de valeurs saisies manuellement.
MAXOF : l’étendue maximale de toutes les entrées est utilisée.
MINOF : l’étendue minimale commune à toutes les entrées est utilisée.
DISPLAY : l’étendue est égale à l’affichage visible.
Nom de la couche : l’étendue de la couche spécifiée est utilisée.
Extent object : l’étendue de l’objet spécifié est utilisée.
Chaîne délimitée par des espaces de coordonnées géographiques : l’étendue de la chaîne spécifiée est utilisée. Les coordonnées sont exprimées dans l’ordre x-min, y-min, x-max, y-max.
Extent
Shape_Type
(Facultatif)
Spécifie la forme de groupe générée.
HEXAGON—Des entités en forme d’hexagone sont générées. Les côtés supérieur et inférieur de chaque hexagone sont parallèles à l’axe x du système de coordonnées (les côtés supérieur et inférieur sont plats).
TRANSVERSE_HEXAGON—Des entités en forme d’hexagone transversal sont générées. Les côtés droit et gauche de chaque hexagone sont parallèles à l’axe y du système de coordonnées du jeu de données (le bas et le haut sont pointus).
SQUARE—Des entités en forme de carré sont générées. Les côtés supérieur et inférieur de chaque carré sont parallèles à l’axe x du système de coordonnées et les côtés droit et gauche sont parallèles à l’axe y du système de coordonnées.
DIAMOND—Des entités en forme de losange sont générées. Les côtés de chaque polygone font l’objet d’une rotation de 45 degrés par rapport à l’axe x et l’axe y du système de coordonnées.
TRIANGLE—Des entités en forme de triangle sont générées. Chaque triangle est un polygone équilatéral régulier à trois côtés.
Exemple 3 d’utilisation de la fonction GenerateTessellation (script autonome)
Le script Python autonome ci-après illustre l’extraction par programmation d’une étendue à partir d’une classe d’entités et l’utilisation de l’étendue pour spécifier les paramètres de la fonction GenerateTessellation.
# Name: GenerateDynamicTessellation.py
# Purpose: Generate a grid of squares over the envelope of a provided feature
# class.
# Import modules
import arcpy
# Set paths of features
my_feature = r"C:\data\project.gdb\myfeature"
output_feature = r"C:\data\project.gdb\sqtessellation"
# Describe the input feature and extract the extent
description = arcpy.Describe(my_feature)
extent = description.extent
# Find the width, height, and linear unit used by the input feature class' extent
# Divide the width and height value by three.
# Multiply the divided values together and specify an area unit from the linear
# unit.
# Should result in a 4x4 grid covering the extent. (Not 3x3 since the squares
# hang over the extent.)
width = extent.width
height = extent.height
unit = extent.spatialReference.linearUnitName
size = width/3 * height/3
area = f"{size} Square{unit}s"
# Use the extent's spatial reference to project the output
spatial_ref = extent.spatialReference
arcpy.management.GenerateTessellation(output_feature, extent, "SQUARE", area,
spatial_ref)