Générer des liens d’étirement élastique (Mise à jour)

Synthèse

Détecte l'endroit où les entités linéaires source correspondent spatialement aux entités linéaires cible et génère des lignes représentant les liens entre des emplacements source et des emplacements cible correspondant pour l'étirement.

Illustration

Illustration de l’outil Générer des liens d’étirement

Utilisation

  • Les entités linéaires provenant des différentes sources de données et couvrant la même zone, par exemple, des routes gérées par une municipalité et des routes pour la même ville issues d’un fournisseur de données commerciales, peuvent ne pas s’aligner parfaitement à cause d’une collecte de données incohérente ou pour toute autre raison. Les décalages spatiaux entre entités correspondantes ne sont souvent pas uniformes. Si vous savez que les données provenant d’une source sont moins précises que celles d’une autre, vous pouvez améliorer l’exactitude des données grâce à l’ajustement de la déformation élastique, en utilisant cet outil pour générer des liens d’étirement. Utilisez ensuite l’outil Effectuer l’étirement d’entités pour réaliser l’ajustement. Les deux ensembles d’entités linéaires sont appelés entités source et entités cible (généralement plus précises). Cet outil détecte les lignes source et les lignes cible correspondantes au sein de la distance de recherche spécifiée et génère des liens d'étirement (également appelés liens de déplacement) entre elles.

  • Remarque :

    Toutes les entrées doivent être exprimées dans le même système de coordonnées.

  • L’union des étendues en entrée est utilisée comme l’étendue de traitement. Le nombre d'entités source et cible participantes est indiqué dans les messages de traitement.

  • La classe d’entités en sortie contient des lignes représentant des liens d'étirement comme entrée pour l’outil Effectuer l'étirement d'entités. Un lien standard connecte un emplacement source à un emplacement cible apparié, non identique.

    Vous pouvez afficher ces liens sur une carte comme vous le feriez avec d’autres entités linéaires. Les lignes peuvent être tracées avec une flèche à leur extrémité pour produire une carte similaire à l’illustration ci-dessus.

  • Outre la classe d’entités linéaires en sortie, une classe d’entités ponctuelles dérivée est créée, qui contient les liens d’identité. Un lien d’entité connecte un emplacement source à un emplacement cible identique apparié. Les emplacements dotés de liens d’identité ne sont pas déplacés dans l’étirement. Si aucun emplacement source identique et aucun emplacement cible n’est apparié, aucun lien d’identité n’est généré. La classe d’entités ponctuelles en sortie est dans ce cas vide. Vous avez seulement besoin de fournir la classe d’entités ponctuelles comme entrée pour l’outil Effectuer l'étirement d'entités si elle n’est pas vide. La classe d’entités ponctuelles en sortie se trouve à la même localisation que la classe d’entités en sortie et porte le même nom que la classe d’entités en sortie, mais avec le suffixe _pnt. Par exemple, si la classe d’entités en sortie est nommée outputLinks, la classe d’entités ponctuelles en sortie est nommée outputLinks_pnt.

  • La sortie des liens d’étirement standard et la sortie des liens d’identité possèdent les champs suivants :

    • SRC_FID : identifiants d’entités source aux points de départ des liens. La valeur est -1 si l'emplacement est partagé par plusieurs entités source (par exemple, un carrefour routier).
    • TGT_FID : identifiants d’entités cible aux points de fin des liens. La valeur est -1 si l’emplacement est partagé par plusieurs entités cibles (par exemple, un carrefour routier).

  • Le paramètre Distance de recherche est utilisé dans la recherche de candidats d'appariement. Utilisez une distance suffisamment importante pour détecter la plupart des décalages entre entités correspondantes, mais pas trop importante, afin de ne pas entraîner un traitement superflu d'un trop grand nombre de candidats et de ne pas obtenir des correspondance erronées.

  • L’appariement d’entités se fait en analysant la topologie des lignes, les motifs et les caractéristiques géométriques. Une fois les entités appariées spatialement, les liens d'étirement sont générés entre emplacements source et emplacements cible. Pour les entités source qui sont des courbes paramétriques (vraies), les liens sont générés à des emplacements densifiés le long des courbes.

  • Si vous spécifiez une ou plusieurs paires de champs pour le paramètre Champs d’appariement, les candidats appariés spatialement sont comparés à ces valeurs de champs afin de déterminer la correspondance exacte. Supposons, par exemple, que les entités source et cible possèdent toutes deux un champ STREET_NAME contenant des noms de rues. Si une entité source correspond spatialement à deux entités cible, mais qu’un seul candidat cible possède la même valeur de champ STREET_NAME que l’entité source, celui-ci constitue la meilleure correspondance. La comparaison de chaînes de texte ne respecte pas la casse : First St est égal à first st.

  • Le paramètre Table d’appariement en sortie est facultatif. Cette table d’appariement fournit des informations d’appariement d’entités complètes, notamment les FID source et cible, les groupes d’appariement, les relations d’appariement et le niveau de confiance de l’appariement dérivé des conditions d’appariement spatiales et d’attributs. Ces informations peuvent vous aider à comprendre les situations d’appariement et faciliter l’inspection a posteriori, la post-édition et l’analyse supplémentaire. Pour plus d'informations, reportez-vous à la rubrique À propos de l'appariement d'entités et de la table d'appariement.

  • La précision de la correspondance des entités dépend de la qualité et de la complexité des données, ainsi que des similitudes entre les deux entrées.

    Réduisez les erreurs de données et sélectionner des entités pertinentes en entrée grâce à un pré-traitement. En général, il est utile lorsque les entités d’un jeu de données en entrée sont correctes sur le plan topologique, possèdent une géométrie valide et sont monoparties et non dupliquées ; dans le cas contraire, des résultats inattendus pourraient survenir.

  • Nous vous recommandons d'examiner les résultats et d'apporter les corrections qui s'imposent. Lors de l’inspection a posteriori et de la post-édition, vous pouvez faire appel aux outils de mise à jour existants pour modifier les liens, par exemple, pour supprimer un lien, modifier un lien en déplaçant son sommet de début ou de fin ou ajouter un nouveau lien. Mettez à jour les valeurs des champs SRC_FID et TGT_FID en conséquence.

Paramètres

ÉtiquetteExplicationType de données
Entités source

Entités linéaires qui seront utilisées en tant qu’entités sources pour la génération de liens d’étirement. Tous les liens débutent aux entités source.

Feature Layer
Entités cibles

Entités linéaires qui seront utilisées en tant qu’entités cibles pour la génération de liens d’étirement. Tous les liens prennent fin aux entités cible.

Feature Layer
Classe d’entités en sortie

Classe d’entités en sortie contenant les lignes qui représentent des liens d’étirement.

Feature Class
Distance de recherche

Distance utilisée pour rechercher des candidats à l’appariement. La distance doit être indiquée et elle doit être supérieure à zéro. Vous pouvez choisir une unité préférée. Par défaut, il s’agit de l’unité de l’entité.

Linear Unit
Champs d'appariement
(Facultatif)

Liste des champs des entités source et cible. Si cette option est renseignée, des candidats à l’appariement sont recherchés dans chaque paire de champs afin de déterminer la correspondance adéquate.

Value Table
Table d'appariement en sortie
(Facultatif)

Table en sortie contenant des informations d'appariement d'entités complètes.

Table

Sortie obtenue

ÉtiquetteExplicationType de données
Liens d'identité

Classe d’entités contenant les liens d’identité.

Feature Class

arcpy.management.GenerateRubbersheetLinks(source_features, target_features, out_feature_class, search_distance, {match_fields}, {out_match_table})
NomExplicationType de données
source_features

Entités linéaires qui seront utilisées en tant qu’entités sources pour la génération de liens d’étirement. Tous les liens débutent aux entités source.

Feature Layer
target_features

Entités linéaires qui seront utilisées en tant qu’entités cibles pour la génération de liens d’étirement. Tous les liens prennent fin aux entités cible.

Feature Layer
out_feature_class

Classe d’entités en sortie contenant les lignes qui représentent des liens d’étirement.

Feature Class
search_distance

Distance utilisée pour rechercher des candidats à l’appariement. La distance doit être indiquée et elle doit être supérieure à zéro. Vous pouvez choisir une unité préférée. Par défaut, il s’agit de l’unité de l’entité.

Linear Unit
match_fields
[[source_field, target_field],...]
(Facultatif)

Liste des champs des entités source et cible. Si cette option est renseignée, des candidats à l’appariement sont recherchés dans chaque paire de champs afin de déterminer la correspondance adéquate.

Value Table
out_match_table
(Facultatif)

Table en sortie contenant des informations d'appariement d'entités complètes.

Table

Sortie obtenue

NomExplicationType de données
out_point_feature_class

Classe d’entités contenant les liens d’identité.

Feature Class

Exemple de code

Exemple 1 d'utilisation de l'outil Générer des liens d'étirement (fenêtre Python)

Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction GenerateRubbersheetLinks en mode immédiat.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.edit.GenerateRubbersheetLinks("source_Roads.shp", "target_Roads.shp", 
                                    "rubbersheet_Links.shp", "25 Feet")
Exemple 2 d’utilisation de l’outil GenerateRubbersheetLinks (script autonome)

Le script autonome suivant est un exemple d’application de la fonction GenerateRubbersheetLinks dans un environnement de scripts.

"""Name:        GenerateRubbersheetLinks_example_script2.py
Description: Generates links for rubbersheeting spatial adjustment. The links go
             from base road data to newly updated road data. The links are then
             analyzed for potential errors. They are then used to adjust the
             base roads (a copy is made) to better align with the updated roads.
"""

# Import system modules
import arcpy

# Set environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = r"D:\conflationTools\ScriptExamples\data.gdb"

# Set local variables
sourceFeatures = "baseRoads"
targetFeatures = "updateRoads"
grlOutput = "grlinks_out"
grlOutputPts = "grlinks_out_pnt"

search_distance = "300 Feet"
match_fields = "FULLNAME RD_NAME"

qaLocations = "qa_locations"

# Generate rubbersheet links
arcpy.edit.GenerateRubbersheetLinks(sourceFeatures, targetFeatures, grlOutput, search_distance, match_fields)

"""
Note 1:  The result of GenerateRubbersheetLinks may contain errors; see the tool reference.
         Inspection and editing may be necessary to ensure correct links before using
         them for rubbersheeting.

         One of the common errors is intersecting or touching links. Their locations 
         can be found by the process below.
"""

# Find locations where links intersect or touch. The result contains coincident points.
arcpy.analysis.Intersect(grlOutput, qaLocations, "", "", "POINT")

# Delete coincident points
arcpy.management.DeleteIdentical(qaLocations, "Shape")

"""
Note 2:  You can manually inspect locations in qaLocations and delete or
         modify links as needed.
"""

# Make a copy of the sourceFeatures for rubbersheeting
arcpy.management.CopyFeatures(sourceFeatures, "sourceFeatures_Copy")


# Use the links for rubbersheeting
arcpy.edit.RubbersheetFeatures("sourceFeatures_Copy", grlOutput, grlOutputPts, "LINEAR")