ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Aide
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plateforme cartographique de votre organisation

ArcGIS Desktop

Un SIG professionnel complet

ArcGIS Enterprise

SIG dans votre entreprise

ArcGIS for Developers

Outils de création d'applications de localisation

ArcGIS Solutions

Modèles d'applications et de cartes gratuits pour votre secteur d'activité

ArcGIS Marketplace

Téléchargez des applications et des données pour votre organisation.

  • Documentation
  • Support
Esri
  • Se connecter
user
  • Mon profil
  • Déconnexion

ArcMap

  • Accueil
  • Commencer
  • Carte
  • Analyser
  • Gérer les données
  • Outils
  • Extensions

Simplifier des lignes

  • Résumé
  • Illustration
  • Utilisation
  • Syntaxe
  • Exemple de code
  • Environnements
  • Informations de licence

Résumé

Simplifie les lignes en supprimant les sommets relativement extérieurs tout en conservant leur forme globale.

En savoir plus sur le fonctionnement des outils Simplifier les lignes et Simplifier un polygone

Illustration

Comparaison des trois algorithmes de simplification utilisés par l’outil Simplify Line (Simplifier des lignes)

Utilisation

  • Cet outil utilise différents algorithmes de simplification pour différents objectifs :

    • L'algorithme POINT_REMOVE fonctionne en identifiant et en supprimant les sommets relativement redondants pour simplifier les données pour un affichage à des échelles plus petites. Il s'agit de l'algorithme de simplification le plus rapide dans cet outil. Cet algorithme est souvent utilisé pour la compression des données ou pour la simplification grossière. L'angularité des lignes résultantes augmente significativement au fur et à mesure que la tolérance s'accroît. Cet algorithme est basé sur l'algorithme de Douglas-Peucker : Douglas, David and Peucker, Thomas, "Algorithms for the reduction of the number of points required to represent a digitized line or its caricature," The Canadian Cartographer 10(2), 112–122 (1973).
    • L'algorithme BEND_SIMPLIFY fonctionne en identifiant et en supprimant les courbes relativement non significatives pour simplifier les données pour un affichage à des échelles plus petites. Il est généralement plus fidèle pour la géométrie en entrée que l'algorithme POINT_REMOVE, mais peut prendre plus de temps à traiter. La méthode est plus lente mais produit généralement des résultats plus fidèles aux entités d'origine. Elle fonctionne en éliminant les courbes insignifiantes le long des lignes. Cet algorithme est basé sur l'algorithme défini dans l'ouvrage de Wang, Zeshen et Müller, Jean-Claude, "Line Generalization Based on Analysis of Shape Characteristics," Cartography and Geographic Information Systems 25(1), 3–15 (1998).
    • L'algorithme WEIGHTED_AREA fonctionne en identifiant tout d'abord les triangles de la surface effective de chaque sommet. Ces triangles sont ensuite pondérés par un ensemble de mesures afin de comparer la platitude, l'inclinaison et la convexité de chaque surface. Les surfaces pondérées guident la suppression de leurs sommets correspondants afin de simplifier la ligne tout en conservant autant de caractère que possible. Cet algorithme est basé sur l'algorithme défini dans l'ouvrage de Zhou, Sheng et Jones, Christopher B., (2005) Shape-Aware Line Generalisation with Weighted Effective Area" in Fisher, Peter F. (Ed.) Developments in Spatial Handling 11th International Symposium on Spatial Handling, 369-80.

  • Le paramètre Tolérance de simplification détermine le degré de simplification. Plus la tolérance est grande, plus la géométrie finale est grossière. Des tolérances plus petites génèrent une géométrie plus fidèle à l'entrée. MinSimpTol et les champs MaxSimpTol sont ajoutés à la sortie pour enregistrer la tolérance qui était utilisée.

    Héritage :

    Au cours de la résolution topologique, des versions de l'outil ArcGIS Desktop précédant la version 10.5 modifiaient la tolérance sur une base par entité et enregistraient ces valeurs dans les champs MinSimpTol et MaxSimpTol. Maintenant, les valeurs de ces champs de tolérance seront identiques et égaux à la tolérance spécifiées dans le paramètre Tolérance de simplification . Veillez à modifier les modèles existants ou les scripts qui se fient sur un de ces champs.

    • Pour l'algorithme POINT_REMOVE, la tolérance est la distance perpendiculaire autorisée maximum entre chaque sommet et la nouvelle ligne créée.
    • Pour l'algorithme BEND_SIMPLIFY, la tolérance est le diamètre d'un cercle qui avoisine une courbe significative.
    • Pour l'algorithme WEIGHTED_AREA, le carré de la tolérance est la surface d'un triangle significatif défini par trois sommets adjacents.

  • Utilisez le paramètre Conserver les points éliminés (collapsed_point_option dans Python) pour créer une classe d'entités ponctuelles pour enregistrer les extrémités de toutes les lignes qui sont inférieures à la tolérance spatiale des données. La sortie du point est dérivée ; elle utilisera le même nom et le même emplacement que la classe d'entités en sortie (out_feature_class dans Python) mais avec un suffixe _Pnt. La classe d'entités linéaires en sortie contient tous les champs présents dans la classe d'entités en entrée. La classe d'entités points en sortie ne contient aucun de ces champs.

  • La classe d'entités linéaires en sortie est correcte d'un point de vue topologique. Toute erreur topologique dans les données en entrée son signalées dans la classe d'entités linéaires en sortie. La classe d’entités en sortie inclut deux champs supplémentaires : InLine_FID et SimLnFlag qui contiennent respectivement les ID d’entité en entrée et les erreurs topologiques de l’entrée. Une valeur SimLnFlag de 1 indique la présence d’une erreur topologique ; la valeur 0 (zéro) indique l’absence d’erreurs.

    Héritage :

    Avant la version 10.5 de ArcGIS Desktop, des erreurs topologiques pouvaient être générées pendant le traitement. Les paramètres Détecter les erreurs topologiques (error_checking_option dans Python) et Résoudre les erreurs topologiques (error_resolving_option dans Python) ont été incluses pour identifier et résoudre en option ces erreurs. Ces paramètres sont encore inclus dans la syntaxe de l'outil pour la compatibilité des scripts et des modèles, mais sont désormais ignorés et masqués à partir de la boîte de dialogue de l'outil. Le champ SimLnFlag était utilisé pour indiquer les erreurs topologiques introduites par l'outil lors du traitement. Maintenant ce champ indique les erreurs présentes dans l'entrée.

  • Utilisez le paramètre Couches de barrière en entrée pour identifier les entités qui ne doivent pas être traversées par des lignes simplifiées. Les entités interruptions peuvent être des points, des lignes ou des polygones.

  • Le traitement de jeux de données volumineux peut dépasser les limites de la mémoire. Dans ces cas, envisagez de traiter les données en entrée par partition en identifiant une classe d'entités surfaciques pertinente dans le paramètre d'environnement Partitions cartographiques. Les portions des données, définies par les limites des partitions, sont traitées séquentiellement. La classe d'entités résultante sera transparente et cohérente aux tronçons de partition. Reportez-vous à Généralisation de jeux de données volumineux à l'aide de partitions pour en savoir plus.

Syntaxe

SimplifyLine_cartography (in_features, out_feature_class, algorithm, tolerance, {error_resolving_option}, {collapsed_point_option}, {error_checking_option}, {in_barriers})
ParamètreExplicationType de données
in_features

Entités linéaires en entrée à simplifier.

Feature Layer
out_feature_class

Classe d'entités linéaires en sortie à simplifier. Elle contient tous les champs présents dans la classe d'entités en entrée. La classe d'entités linéaires en sortie est correcte d'un point de vue topologique. L'outil n'introduit pas d'erreurs de topologie, mais des erreurs topologiques dans les données en entrée sont indiquées dans la classe d'entités linéaires en sortie. La classe d’entités en sortie inclut deux champs supplémentaires : InLine_FID et SimLnFlag qui contiennent respectivement les ID d’entité en entrée et les erreurs topologiques en entrée. Une valeur SimLnFlag de 1 indique la présence d’une erreur topologique en entrée ; la valeur 0 (zéro) indique l’absence d’erreurs en entrée.

Feature Class
algorithm

Spécifie l'algorithme de simplification de lignes.

  • POINT_REMOVE — Conserve les points critiques qui décrivent la forme globale d'une ligne et supprime tous les autres points. Il s’agit de l’option par défaut.
  • BEND_SIMPLIFY — Conserve les courbes critiques dans une ligne et supprime les courbes superflues.
  • WEIGHTED_AREA — Conserve les sommets qui forment les triangles de la surface effective.
String
tolerance

La tolérance qui détermine le degré de simplification. Vous pouvez choisir une unité préférée ; sinon, les unités de l'entrée seront utilisées. MinSimpTol et les champs MaxSimpTol sont ajoutés à la sortie pour enregistrer la tolérance qui était utilisée lors du traitement.

  • Pour l'algorithme POINT_REMOVE, la tolérance est la distance perpendiculaire autorisée maximum entre chaque sommet et la nouvelle ligne créée.
  • Pour l'algorithme BEND_SIMPLIFY, la tolérance est le diamètre d'un cercle qui avoisine une courbe significative.
  • Pour l'algorithme WEIGHTED_AREA, le carré de la tolérance est la surface d'un triangle significatif défini par trois sommets adjacents.
Linear Unit
error_resolving_option
(Facultatif)
Héritage :

Il s'agit d'un ancien paramètre qui n'est plus utilisé. Il était précédemment utilisé pour dicter la façon dont les erreurs topologiques, éventuellement introduites lors du traitement, étaient gérées. Ce paramètre est encore inclus dans la syntaxe de l'outil pour la compatibilité des scripts et des modèles, mais est désormais ignoré et masqué à partir de la boîte de dialogue de l'outil.

Boolean
collapsed_point_option
(Facultatif)

Indiquez s'il convient de créer une classe d'entité ponctuelle en sortie pour stocker les extrémités de toutes les lignes qui sont inférieures à la tolérance spatiale. La sortie du point est dérivée ; elle utilisera le même nom et le même emplacement que le out_feature_class, mais avec un suffixe _Pnt.

  • KEEP_COLLAPSED_POINTS —Enregistrez les extrémités des lignes de longueur nulle dans une classe d'entités ponctuelles en sortie dérivée. Il s’agit de l’option par défaut.
  • NO_KEEP —Ne crée pas de classe d'entités ponctuelles en sortie dérivée.
Boolean
error_checking_option
(Facultatif)
Boolean
in_barriers
[in_barriers,...]
(Facultatif)

Entrées contenant les entités pour agir en tant que barrières pour simplification. Les lignes simplifiées obtenues ne toucheront pas ni ne traverseront les entités interruptions. Par exemple, lors de la simplification des isolignes, l'entrée des entités de point côté comme limites garantit que les isolignes simplifiées ne simplifieront pas ces points. La sortie n'enfreindra pas l'altitude comme décrit par les points côtés mesurés.

Feature Layer

Sortie dérivée

NomExplicationType de données
out_point_feature_class

Exemple de code

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

Le script de fenêtre Python suivant montre comment utiliser l'outil SimplifyLine en mode immédiat.

import arcpy
import arcpy.cartography as CA
arcpy.env.workspace = "C:/data"
CA.SimplifyLine("roads.shp", 
                "C:/output/output.gdb/simplified_roads", 
                "POINT_REMOVE", 
                20)
2e exemple d'utilisation de l'outil SimplifyLine (script autonome)

Le script autonome suivant illustre l'utilisation de l'outil SimplifyLine.

# Name: SimplifyLine_Example2.py
# Description: Simplify line features from two feature classes, rivers and coastlines,
# while maintaining their connections
# Import system modules
import arcpy
import arcpy.management as DM
import arcpy.cartography as CA
 
# Set environment settings
arcpy.env.workspace = "C:/data/Portland.gdb/Hydrography"
 
# Set local variables
inRiverFeatures = "rivers"
inCoastlineFeatures = "coastlines"
mergedFeatures = "C:/data/PortlandOutput.gdb/merged_lines"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/merged_lines_simplified"
tempLayer = "tempLyr"
outRiverFeatureClass = "C:/data/PortlandOutput.gdb/rivers_final"
outCoastlineFeatureClass = "C:/data/PortlandOutput.gdb/coastlines_final"
# Merge rivers and coastlines into one feature class, 
# assuming that they have a common f-code field 
# with value 40 for rivers and 80 for coastlines.
DM.Merge(inRiverFeatures, inCoastlineFeatures, mergedFeatures)
# Simplify all lines.
CA.SimplifyLine(mergedFeatures, 
                simplifiedFeatures, 
                "BEND_SIMPLIFY", 
                100, 
                "KEEP_COLLAPSED_POINTS")
 
# Select rivers and coastlines by their f-code values 
# and put them in separate feature classes.
DM.MakeFeatureLayer(simplifiedFeatures, tempLayer, "f-code = 40")
DM.CopyFeatures(tempLayer, outRiverFeatureClass)
DM.MakeFeatureLayer(simplifiedFeatures, tempLayer, "f-code = 80")
DM.CopyFeatures(tempLayer, outCoastlineFeatureClass)

Environnements

  • Partitions cartographiques
  • Espace de travail courant
  • Valeur Z en sortie par défaut
  • Domaine M en sortie
  • Domaine XY en sortie
  • Système de coordonnées en sortie
  • Etendue
  • Valeurs M en sortie
  • Valeurs Z en sortie
  • Espace de travail temporaire
  • Tolérance XY

Informations de licence

  • ArcGIS Desktop Basic: Non
  • ArcGIS Desktop Standard: Oui
  • ArcGIS Desktop Advanced: Oui

Rubriques connexes

  • Vue d'ensemble du jeu d'outils Généralisation
  • Comprendre la résolution des conflits et leur généralisation
  • Automatisation de la résolution des conflits et workflows de généralisation avec le géotraitement
  • Simplifier un polygone
  • Fonctionnement des outils Simplifier des lignes et Simplifier un polygone

ArcGIS Desktop

  • Accueil
  • Documentation
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

A propos d'Esri

  • A propos de la société
  • Carrières
  • Blog d’Esri
  • Conférence des utilisateurs
  • Sommet des développeurs
Esri
Donnez-nous votre avis.
Copyright © 2019 Esri. | Confidentialité | Légal