OnlineMapMaker logo

Outil d'effacement SIG : retirer les entités situées dans une autre couche

Retirez chaque partie d'une couche de points, de lignes ou de polygones qui tombe dans un ensemble de polygones d'effacement. Les attributs de l'entrée sont conservés, et vous pouvez télécharger le résultat en GeoJSON, KML ou CSV. L'outil fonctionne comme Erase dans ArcGIS Pro et Différence dans QGIS, tourne dans votre navigateur et n'envoie rien. Ouvrir en plein écran ↗

Rate this tool:
Publicité
Publicité
Loading map…
Besoin d'aide pour votre projet SIG ?Découvrir Nos Services

Ce que fait l'outil d'effacement

Erase (effacer) est l'inverse de Clip (découper). Vous lui donnez deux couches. La première est la couche d'entrée : les données que vous voulez garder, par exemple des parcelles, des routes ou des bâtiments. La seconde est la couche d'effacement : des polygones qui marquent les zones à retirer, par exemple des zones inondables, des aires protégées ou un lac. L'outil découpe les polygones d'effacement dans l'entrée. Tout ce qui est en dehors reste. Tout ce qui est à l'intérieur est retiré.

La sortie a le même type de géométrie que l'entrée. Une route qui traverse une zone inondable est coupée au bord de la zone, et seuls les tronçons au sec restent. Une parcelle à moitié dans la zone ne garde que sa moitié sèche. Un arrêt de bus dans la zone disparaît. La table attributaire de l'entrée est copiée sans changement, donc chaque parcelle garde son identifiant, son propriétaire et son usage. La couche d'effacement ne fournit que sa forme, et ses attributs ne sont pas ajoutés. ArcGIS Pro (Erase et Pairwise Erase) et QGIS (Différence) suivent la même règle.

J'ai créé cet outil parce que « retire tout ce qui est dans ces zones » est l'une des questions les plus fréquentes en SIG, et cela ne devrait pas demander un SIG bureautique avec une licence avancée. Déposez sur la carte un Shapefile zippé, un GeoJSON, un KML, un KMZ, un GPX ou un WKT, ou dessinez vos propres formes et rectangles d'effacement. Choisissez la couche d'entrée et la couche d'effacement, cliquez sur Erase et téléchargez le résultat. Tout le calcul géométrique se fait dans votre navigateur, vos fichiers restent donc sur votre ordinateur. La carte démarre sans fond de carte pour rester rapide. Vous pouvez activer un fond routier ou satellite à tout moment.

Publicité
Publicité

Erase, Clip, Intersect et Différence : lequel vous faut-il ?

Ces quatre outils de superposition se confondent facilement, car ils utilisent tous une couche pour en couper une autre. La différence tient à la partie qu'ils gardent et aux attributs qu'ils emportent. Ce tableau les compare pour une couche d'entrée A et une couche de superposition B.

OutilGardeAttributs dans la sortie
Erase (cet outil)Les parties de A hors de BSeulement ceux de A
ClipLes parties de A dans BSeulement ceux de A
IntersectLes parties de A dans BCeux de A et de B ensemble
Différence symétriqueLes parties de A hors de B et les parties de B hors de ACeux de A et de B
Différence de polygones (ce site)Un polygone moins un autre polygonePrévu pour deux polygones dessinés ou importés, pas pour une couche de données entière

Un test rapide : si vous lancez Clip et Erase sur la même entrée avec la même superposition, les deux sorties réunies redonnent l'entrée d'origine. Clip garde l'intérieur, Erase garde l'extérieur, et rien n'est perdu ni compté deux fois.

Formats de fichier pris en charge

Vous pouvez charger plusieurs fichiers à la fois et mélanger les formats. Chaque fichier devient sa propre couche dans le panneau Layers. Une couche peut contenir des points, des lignes et des polygones ensemble, et chacun est effacé avec la bonne méthode.

Formats d'entrée (ce que vous pouvez importer)

FormatExtensionRemarques
GeoJSON.geojson, .jsonUne FeatureCollection, un seul Feature ou une géométrie seule. Une GeometryCollection est divisée en ses parties.
Esri Shapefile.zipZippez ensemble les fichiers .shp, .shx et .dbf. Ajoutez le .prj et les données projetées sont converties en WGS84 au chargement. Un fichier .cpg fixe l'encodage du texte.
KML.kmlRepères Google Earth. MultiGeometry est divisée en ses parties, et ExtendedData devient des attributs.
KMZ.kmzUn fichier KML zippé. Le premier fichier .kml de l'archive est lu.
GPX.gpxFichiers GPS. Les waypoints deviennent des points, les traces et itinéraires deviennent des lignes. Les altitudes sont conservées.
WKT.wkt, .txtWell-Known Text. Une géométrie pour tout le fichier, ou une géométrie par ligne.

Formats de sortie (ce que vous pouvez télécharger)

FormatExtensionRemarques
GeoJSON.geojsonLe format web standard (RFC 7946) en WGS84. Garde tous les attributs. S'ouvre dans ArcGIS Pro, QGIS et presque toutes les bibliothèques de cartes web.
KML.kmlS'ouvre dans Google Earth. Les attributs sont écrits en ExtendedData sur chaque repère.
CSV (WKT).csvUne ligne par entité. La première colonne contient la géométrie en WKT, et chaque attribut a sa propre colonne. S'ouvre dans Excel, et QGIS sait lire la colonne WKT comme géométrie.

Chaque fichier peut faire jusqu'à 50 Mo. Pour de très grands jeux de données nationaux, un SIG bureautique reste le meilleur choix. Voyez la comparaison plus bas sur cette page.

Détails techniques

Voici exactement ce que l'outil fait de vos données. Si vous connaissez Erase dans ArcGIS Pro ou Différence dans QGIS, presque tout vous semblera familier.

Types de géométrie en entrée
Point, MultiPoint, LineString, MultiLineString, Polygon et MultiPolygon. Une couche peut tous les mélanger.
Types de géométrie d'effacement
Polygon et MultiPolygon, avec ou sans trous. Une couche sans polygones ne peut pas être choisie comme couche d'effacement.
Plusieurs polygones d'effacement
Tous les polygones de la couche d'effacement sont fusionnés (regroupés) en un seul masque avant l'effacement. Là où ils se chevauchent, la zone n'est retirée qu'une fois.
Trous dans la couche d'effacement
Un trou dans un polygone d'effacement ne fait pas partie de la zone à effacer. Les entités dans le trou restent. Par exemple, une île dans un lac effacé est gardée.
Attributs
Chaque attribut de l'entité d'entrée est copié sans changement. Les attributs de la couche d'effacement ne sont pas ajoutés. En option, l'outil ajoute erase_status (outside ou erased) et erase_area_m2, erase_length_m ou erase_points pour ce qui reste.
Système de coordonnées
Longitude et latitude WGS84 (EPSG:4326), comme GeoJSON. Un Shapefile zippé avec un fichier .prj est converti en WGS84 au chargement.
Modèle géométrique
La découpe se fait sur un plan, en degrés, avec le même modèle que Turf.js et la plupart des bibliothèques SIG web. Les surfaces et longueurs du panneau de résultats sont mesurées sur la sphère (géodésiques), en mètres carrés et en mètres.
Règle de la limite
Le bord d'un polygone d'effacement fait partie de la zone à effacer. Un point exactement sur le bord est effacé, tout comme un tronçon de ligne qui suit le bord. Erase est ainsi l'inverse exact de l'outil de découpage de ce site, qui garde ces entités.
Altitude (Z)
Les valeurs Z existantes restent sur leurs sommets. Un nouveau sommet créé là où une ligne est coupée reçoit une valeur Z interpolée entre ses deux voisins.
Sortie multipartie
Si l'effacement coupe une entité en plusieurs morceaux, ceux-ci restent ensemble en une entité multipartie (MultiLineString, MultiPolygon ou MultiPoint), comme dans ArcGIS Pro. Cochez « Split multipart results » pour obtenir une entité par morceau.
Géométrie invalide
Si une entité d'entrée a une géométrie cassée (par exemple un polygone qui se croise lui-même), cette entité est ignorée et comptée, et le reste de la couche est traité quand même.
Confidentialité
Tout se passe dans votre navigateur. Aucun fichier ni aucune géométrie n'est envoyé à un serveur.

Comment utiliser l'outil d'effacement, étape par étape

Voici tout le déroulé avec les données d'exemple intégrées : une couche de ville avec des parcelles, des routes et des points, et trois polygones de zone inondable à effacer. Vos propres fichiers fonctionnent de la même façon.

Carte vide de l'outil d'effacement SIG sans fond de carte, avec les outils de dessin et les boutons Upload et Sample Data
1
Étape 1: Ouvrir l'outil

La carte s'ouvre vide et sans fond de carte, donc rien d'inutile n'est chargé. La barre contient les outils de dessin Point, Line, Polygon et Erase Rectangle, un bouton Upload et un bouton Sample Data.

Couche de ville d'exemple avec parcelles, routes et points, et polygones bleus de zone inondable traversant le centre, sur une carte vierge
2
Étape 2: Ajouter une couche d'entrée et une couche d'effacement

Glissez vos fichiers sur la carte ou cliquez sur Upload. Ici, j'ai cliqué sur Sample Data. Cela ajoute une couche de ville avec des parcelles, des routes et des points, et une couche de zones inondables avec un lit de crue, un bassin de rétention et un déversoir qui se chevauchent.

Panneau Erase avec la couche d'entrée et la couche d'effacement sélectionnées et les deux cases d'option
3
Étape 3: Choisir les couches et les options

Dans le panneau Erase, choisissez la couche d'entrée (les données qui restent) et la couche d'effacement (les zones à retirer). Seules les couches avec des polygones apparaissent dans la liste d'effacement. Décidez si vous voulez les champs supplémentaires erase_status, surface et longueur, et si les résultats multiparties doivent être séparés.

Résultat sur la carte : parcelles, routes et points avec les zones inondables découpées, et le résumé des résultats dans la barre latérale
4
Étape 4: Cliquer sur Erase Layer

Le résultat apparaît comme une nouvelle couche en couleur pleine, et la couche d'entrée est masquée. Les zones inondables sont maintenant des vides dans la ville. L'encadré des résultats indique combien d'entités sont intactes, effacées en partie ou effacées en entier, ainsi que la surface, la longueur et les points qui restent et qui ont été retirés.

Couche effacée sur une image satellite avec une fenêtre affichant les attributs d'une parcelle coupée
5
Étape 5: Vérifier le résultat avec un fond de carte et les attributs

Cochez « Show basemap » pour voir le résultat sur un fond routier ou satellite. Cliquez sur une entité pour ouvrir ses attributs. Tous les champs d'origine sont là, plus les champs d'effacement facultatifs.

Panneau Export avec la couche résultat sélectionnée et les boutons de téléchargement GeoJSON, KML et CSV
6
Étape 6: Télécharger la couche effacée

Dans le panneau Export, choisissez la couche et téléchargez-la en GeoJSON, KML ou CSV avec une colonne WKT. La petite flèche à côté de chaque couche dans le panneau Layers est un téléchargement rapide en GeoJSON.

Publicité
Publicité

Comment effacer des entités dans un SIG

Tous les SIG ont cet outil, mais le nom change. ArcGIS l'appelle Erase, QGIS l'appelle Différence, et PostGIS et GeoPandas appellent la fonction difference. Voici comment l'utiliser dans cet outil, dans ArcGIS Pro, dans ArcMap et dans QGIS, et comment l'écrire dans un script.

Dans cet outil

Chargez la couche à garder et les polygones à retirer. Choisissez la première comme couche d'entrée et la seconde comme couche d'effacement, puis cliquez sur Erase Layer. Si vous n'avez qu'une zone rectangulaire à retirer, cliquez sur Erase Rectangle puis sur deux coins opposés de la carte. Le rectangle devient tout de suite la couche d'effacement. Les points, lignes et polygones d'une même couche d'entrée sont traités en une seule fois.

Dans ArcGIS Pro

Ouvrez le volet Géotraitement et cherchez Erase. Vous trouverez deux outils. Pairwise Erase (boîte à outils Analysis > Pairwise Overlay) fonctionne à tous les niveaux de licence et utilise le traitement en parallèle, c'est donc en général le choix le plus rapide. Erase (Analysis > Overlay) est l'outil classique. Il a longtemps demandé une licence Advanced, vérifiez donc la page de l'outil pour votre version. Renseignez Input Features et Erase Features, choisissez une sortie et cliquez sur Run. Les deux ne gardent que les attributs de l'entrée.

Dans ArcMap

Dans ArcMap, l'outil se trouve dans ArcToolbox > Analysis Tools > Overlay > Erase, et il demande une licence Advanced (ArcInfo). Les paramètres sont les mêmes que dans ArcGIS Pro. Esri a retiré ArcMap en mars 2026, donc pour les nouveaux travaux je recommande ArcGIS Pro, QGIS ou cet outil. Les anciens scripts qui appellent Erase_analysis passent à ArcGIS Pro avec peu de changements, et PairwiseErase est un bon remplaçant.

Dans QGIS

Allez dans Vecteur > Outils de géotraitement > Différence. Choisissez la couche source (les données qui restent) et la couche de superposition (les polygones à retirer), puis cliquez sur Exécuter. Le résultat est une couche temporaire, que vous pouvez enregistrer en GeoPackage ou en Shapefile. Le nom trouble beaucoup de personnes qui viennent d'ArcGIS : Différence dans QGIS est la même opération qu'Erase dans ArcGIS.

Avec arcpy (Python pour ArcGIS)

Dans ArcGIS Pro, les fonctions sont arcpy.analysis.PairwiseErase(in_features, erase_features, out_feature_class) et arcpy.analysis.Erase(...) avec les mêmes paramètres. Les anciens scripts ArcMap utilisent arcpy.Erase_analysis. Un quatrième paramètre facultatif fixe la tolérance XY. Le code ci-dessous montre ces formes, et le même travail en PyQGIS, GeoPandas et PostGIS.

Le même effacement en code

Si vous retirez les mêmes zones chaque semaine, un script fait gagner du temps. Tous ces exemples retirent des zones inondables d'une couche de parcelles.

import arcpy

arcpy.env.workspace = r"C:\data\city.gdb"

# ArcGIS Pro: Analysis toolbox > Pairwise Overlay > Pairwise Erase
arcpy.analysis.PairwiseErase("parcels", "flood_zones", "parcels_dry")

# ArcGIS Pro: Analysis toolbox > Overlay > Erase
arcpy.analysis.Erase("parcels", "flood_zones", "parcels_dry")

# Older ArcMap syntax (same tool, old name)
arcpy.Erase_analysis("parcels", "flood_zones", "parcels_dry")
# QGIS Python console: Vector > Geoprocessing Tools > Difference
processing.run("native:difference", {
    "INPUT": "C:/data/parcels.shp",
    "OVERLAY": "C:/data/flood_zones.shp",
    "OUTPUT": "C:/data/parcels_dry.gpkg",
})
# GeoPandas (works for points, lines and polygons)
import geopandas as gpd
parcels = gpd.read_file("parcels.shp")
flood = gpd.read_file("flood_zones.shp").to_crs(parcels.crs)

parcels_dry = parcels.copy()
parcels_dry.geometry = parcels.geometry.difference(flood.union_all())
parcels_dry = parcels_dry[~parcels_dry.is_empty]

-- PostGIS
SELECT p.*, ST_Difference(p.geom, f.geom) AS geom_dry
FROM parcels p
CROSS JOIN (SELECT ST_Union(geom) AS geom FROM flood_zones) f
WHERE NOT ST_IsEmpty(ST_Difference(p.geom, f.geom));

Mon avis : pour un effacement ponctuel sur un fichier de taille normale, cet outil est le chemin le plus rapide du fichier au résultat. Dans ArcGIS Pro, essayez d'abord Pairwise Erase. Pour les travaux qui se répètent, écrivez le script une fois et réutilisez-le.

Comment fonctionne l'outil, étape par étape

Voici le chemin de vos données à partir du clic sur Erase Layer. Chaque étape se passe dans votre navigateur.

  1. Lire et nettoyer l'entrée. Chaque fichier est transformé en entités GeoJSON en WGS84. Une GeometryCollection est divisée en entités séparées avec les mêmes attributs, pour que le moteur ne voie que des types de géométrie simples.
  2. Regrouper la couche d'effacement. Tous les polygones de la couche d'effacement sont fusionnés en une géométrie, le masque M, par une union de polygones. Les trous restent des trous. Les polygones d'effacement qui se chevauchent deviennent une seule forme, donc une zone couverte par deux n'est retirée qu'une fois.
  3. Test rapide avec le rectangle englobant. L'outil compare le rectangle englobant de chaque entité d'entrée avec celui de M. Si les deux rectangles ne se touchent pas, l'entité ne peut rien perdre, elle est donc copiée tout de suite dans la sortie, sans calcul détaillé. C'est l'inverse de Clip, où ces entités sont écartées.
  4. Effacer les points. Chaque point est testé avec un test point dans polygone contre M. Les points nettement hors de M restent. Les points à l'intérieur ou sur le bord sont retirés. Pour un MultiPoint, seuls les points extérieurs restent.
  5. Effacer les lignes. Chaque segment de ligne est comparé à chaque arête de M proche de lui. L'outil trouve chaque endroit où le segment croise une arête et le coupe là. Puis il teste le milieu de chaque petit morceau. Si le milieu est hors de M, le morceau reste. Les morceaux qui se touchent sont de nouveau réunis en une ligne.
  6. Effacer les polygones. De chaque polygone, M est soustrait par une différence booléenne à ligne de balayage (Martinez-Rueda). Le résultat peut avoir de nouveaux trous, là où un polygone d'effacement était tout entier dans une parcelle, ou plusieurs parties, là où un polygone d'effacement l'a coupée en deux.
  7. Copier les attributs et ajouter des champs. Chaque entité de sortie reçoit une copie de tous les attributs de son entité d'entrée. Si vous l'avez demandé, l'outil ajoute erase_status et la surface, la longueur ou le nombre de points qui restent. Si vous avez coché l'option multipartie, les résultats multiparties sont séparés ici en parties simples.
  8. Bilan et affichage. L'outil compte les entités intactes, effacées en partie, effacées en entier et ignorées, additionne la surface, la longueur et les points qui restent et qui ont été retirés, et dessine le résultat comme une nouvelle couche. La couche d'entrée est masquée pour que vous voyiez bien le résultat.

Le code des lignes est partagé avec l'outil de découpage de ce site, avec un interrupteur dans la position inverse : Clip garde les morceaux dont le milieu est dans le masque, Erase garde les morceaux dont le milieu est dehors. C'est pourquoi les deux outils s'emboîtent toujours sans vide ni chevauchement.

La théorie et les mathématiques de l'effacement

Erase est la différence d'ensembles appliquée à la géométrie. Voici les mathématiques, de la règle d'ensembles jusqu'aux algorithmes et aux mesures.

1. Erase comme différence d'ensembles

En théorie des ensembles, effacer est une différence. Chaque entité d'entrée a est remplacée par sa partie qui n'est pas dans le masque M. Une entité tout entière dans M devient vide et disparaît. Le masque est l'union de tous les polygones d'effacement.

Erase(A, M) = { a \ M  :  a ∈ A  et  a \ M ≠ ∅ }

a \ M = { p ∈ a  :  p ∉ M }

M = M₁ ∪ M₂ ∪ … ∪ Mₖ     (tous les polygones d'effacement, fusionnés d'abord)

Fusionner d'abord ne change pas la réponse, car retirer plusieurs zones l'une après l'autre revient à retirer leur union une fois : a \ (M₁ ∪ M₂) = (a \ M₁) \ M₂. Cela rend seulement le travail plus rapide et évite de traiter deux fois un chevauchement.

2. Erase et Clip coupent une entité en deux parties

Clip et Erase coupent chaque entité en deux morceaux qui ne se chevauchent pas et qui, ensemble, forment l'entité entière. Pour les polygones, les surfaces s'additionnent exactement. Pour les lignes, les longueurs s'additionnent.

a = (a ∩ M) ∪ (a \ M)        partie Clip + partie Erase
(a ∩ M) ∩ (a \ M) = ∅        aucun chevauchement

surface(a) = surface(a ∩ M) + surface(a \ M)

C'est un contrôle utile pour tout résultat. Dans cet outil, l'encadré des résultats affiche la surface qui reste et la surface effacée. Ensemble, elles doivent égaler la surface des polygones d'entrée. Sinon, un polygone d'entrée était sans doute invalide et a été ignoré.

3. Point dans polygone : la règle du rayon

Pour savoir si un point est dans le masque, on trace un rayon depuis le point vers la droite et on compte combien de fois il croise le bord du masque. Un nombre impair veut dire dedans, un nombre pair veut dire dehors. Les trous ne demandent aucun cas particulier : leurs arêtes se comptent comme les autres, c'est pourquoi un point dans un trou compte comme dehors et reste.

Point P = (x, y). Arête de (xi, yi) à (xj, yj).

L'arête est croisée quand :
  (yi > y) ≠ (yj > y)
  et  x < xi + (y − yi) · (xj − xi) / (yj − yi)

P est dedans  ⇔  le nombre d'arêtes croisées est impair
Erase garde P  ⇔  P n'est ni dedans ni sur une arête

4. Un exemple chiffré

Prenez une route de (−5, 5) à (15, 5) et un polygone d'effacement carré de 0 à 10 dans les deux sens, avec un trou carré (une île) de 4 à 6. La route croise quatre arêtes, à t = 0,25, 0,45, 0,55 et 0,75. L'outil teste le milieu de chaque morceau.

Route :  p = (−5, 5)   q = (15, 5)   longueur 20

Morceau (t)    Milieu x   Test          Erase garde
0.00 – 0.25    −2.5       dehors        oui → (−5, 5) – (0, 5)
0.25 – 0.45     2.0       dedans        non
0.45 – 0.55     5.0       dans le trou  oui → (4, 5) – (6, 5)
0.55 – 0.75     8.0       dedans        non
0.75 – 1.00    12.5       dehors        oui → (10, 5) – (15, 5)

Résultat Erase : MultiLineString, 3 morceaux, 5 + 2 + 5 = 12 unités
Résultat Clip :  MultiLineString, 2 morceaux, 4 + 4     =  8 unités
12 + 8 = 20  (toute la route)

C'est exactement le cas que vérifient les tests de l'outil, avec des points sur le bord, des points dans le trou, des polygones d'effacement qui se chevauchent et des valeurs Z sur les nouveaux sommets.

5. Différence de polygones par ligne de balayage

Les opérations booléennes sur les polygones ont une longue histoire en infographie. Sutherland et Hodgman (1974) savaient découper contre une fenêtre convexe. Weiler et Atherton (1977) ont traité les formes concaves et les trous. Vatti (1992) puis Greiner et Hormann (1998) ont rendu le cas général pratique. Les données SIG ont besoin de ce cas général : n'importe quelle forme, avec des trous, plusieurs parties et des arêtes qui se touchent.

Cet outil utilise polyclip-ts via Turf.js. Il repose sur l'algorithme à ligne de balayage de Martínez, Rueda et Feito (2009). Une ligne verticale imaginaire avance de gauche à droite sur les deux polygones et ne s'arrête qu'aux sommets et aux croisements. À chaque arrêt, chaque arête est marquée comme dedans ou dehors par rapport à l'autre polygone. Pour une différence, le résultat garde les arêtes de l'entrée qui sont hors du masque, plus les arêtes du masque qui sont dans l'entrée, avec leur sens inversé pour former le nouveau bord ou un nouveau trou. Avec n arêtes et k croisements, le coût est d'environ O((n + k) · log n).

6. Mesurer ce qui reste et ce qui a été retiré

Le panneau de résultats donne les surfaces et longueurs à la surface de la Terre, pas en degrés. Les surfaces utilisent la formule sphérique des anneaux de Chamberlain et Duquette (NASA JPL, 2007), la même que Turf.js. Les longueurs utilisent la formule de haversine. Les deux utilisent le rayon terrestre moyen R = 6 371 008,8 m.

Surface d'un anneau (λ = longitude, φ = latitude, en radians) :
A = (R² / 2) · | Σ (λ(i+1) − λ(i−1)) · sin φi |

Longueur d'un segment (haversine) :
h = sin²(Δφ / 2) + cos φ1 · cos φ2 · sin²(Δλ / 2)
d = 2R · asin(√h)

R = 6 371 008.8 m

Une sphère est un bon modèle de la Terre. Pour les surfaces et les longueurs, l'erreur reste en général sous 1 pour cent. Cela suffit pour planifier et pour contrôler un résultat. Pour des valeurs légales ou de précision topographique, mesurez de nouveau dans un système de coordonnées projeté local.

Erase dans cet outil, ArcGIS Pro et QGIS comparés

Avec des données normales, les trois donnent la même géométrie. Ils diffèrent par le coût, l'installation et le volume de données. Voici une comparaison côte à côte.

CritèreCet outilArcGIS ProQGIS
Nom de l'outilEraseErase et Pairwise EraseDifférence (Difference)
PrixGratuit, sans compteLicence ArcGIS payante (l'Erase classique a longtemps demandé Advanced)Gratuit et open source
InstallationAucune, tourne dans le navigateurApplication de bureau WindowsApplication de bureau pour Windows, macOS et Linux
Formats d'entréeGeoJSON, Shapefile ZIP, KML, KMZ, GPX, WKTGéodatabases, shapefiles et bien d'autresTout ce que GDAL/OGR sait lire
Efface points, lignes et polygonesOui, même mélangés dans une coucheOuiOui
Attributs dans la sortieAttributs d'entrée, plus champs d'effacement facultatifsAttributs d'entréeAttributs d'entrée
AutomatisationAucune, un traitement à la foisarcpy et ModelBuilderPyQGIS et le modeleur graphique
Très grands jeux de donnéesJusqu'à 50 Mo par fichierOui, Pairwise Erase utilise plusieurs cœurs de processeurOui
Où vont vos donnéesRestent dans votre navigateurRestent sur votre ordinateurRestent sur votre ordinateur

Ma recommandation : si vos données sont dans une géodatabase ArcGIS, utilisez Pairwise Erase dans ArcGIS Pro. Il est rapide, fonctionne à tous les niveaux de licence, et arcpy vous permet de répéter le travail. Si vous voulez un SIG bureautique complet sans frais, Différence dans QGIS fait le même travail et lit presque tous les formats.

Cet outil gagne quand il vous faut un résultat en une minute : quelqu'un vous envoie un Shapefile zippé de parcelles et un KML de zones inconstructibles, et il vous faut les parcelles qui restent. Rien à installer, et rien ne quitte votre ordinateur. C'est aussi une façon claire de comprendre comment Erase se comporte, car vous voyez chaque coupe sur la carte.

Publicité
Publicité

10 cas d'usage réels

Erase répond à la question « que reste-t-il une fois ces zones retirées ? ». Voici les travaux que je vois le plus souvent.

  1. Terrain constructible après contraintes. Un promoteur part d'une couche de parcelles et efface les zones inondables, les zones humides, les aires protégées et les bandes de recul. Ce qui reste est le terrain vraiment constructible, avec l'identifiant et le propriétaire de chaque parcelle.
  2. Pré-analyse du risque inondation. Une urbaniste efface la zone inondable d'une couche de bâtiments ou de routes pour obtenir les biens qui restent au sec. Clip sur les mêmes données donne les biens exposés. Ensemble, les deux sorties couvrent chaque bien une seule fois.
  3. Occupation du sol sans l'eau. Un analyste efface les lacs et les rivières des polygones d'occupation du sol ou de sols, pour que les statistiques de surface ne comptent que la terre. Les îles dans les lacs sont des trous dans la couche d'eau, elles sont donc gardées d'office.
  4. Parcelles agricoles sans zones non traitées. Une agronome efface les bandes autour des ruisseaux, des puits et des maisons dans les limites des parcelles. Le résultat est la surface qui peut être traitée ou fertilisée, prête pour la machine ou le plan d'épandage.
  5. Recherche de sites éoliens et solaires. Les planificateurs énergétiques effacent les bandes autour des habitations, des aéroports, des routes et des habitats protégés d'une zone d'étude. Les polygones restants sont des sites candidats, et leur surface indique la puissance possible.
  6. Réseau hors d'une zone desservie. Une société d'eau ou de fibre efface sa zone desservie actuelle du réseau routier. Les routes qui restent montrent où il faudrait de nouvelles conduites ou de nouveaux câbles pour atteindre les prochains clients.
  7. Habitats hors des projets d'aménagement. Un écologue efface les emprises des projets prévus d'une carte des habitats. Le résultat montre combien d'habitat resterait, et chaque tache restante garde son type d'habitat et sa note d'état.
  8. Nettoyer des traces GPS. Une coureuse ou un chercheur efface les zones privées, comme les abords du domicile, des traces GPX avant de les partager. Le reste de la trace demeure, avec l'altitude à chaque point.
  9. Échantillonnage hors des zones exclues. Les scientifiques de terrain effacent routes, bâtiments et eau d'une zone d'étude avant de placer des points d'échantillonnage au hasard. Chaque point tombe alors à un endroit qu'on peut vraiment visiter.
  10. Enseigner l'analyse de superposition. Les enseignants montrent Clip et Erase côte à côte avec les mêmes données d'exemple. Les élèves voient que les deux résultats s'emboîtent comme des pièces de puzzle, et comprennent ainsi facilement la différence d'ensembles.

Questions fréquentes

Dix-huit questions sur l'effacement (Erase) en SIG, avec des réponses directes.

1. Que fait l'outil Erase en SIG ?

Erase retire les parties d'une couche d'entrée qui tombent dans les polygones d'une couche d'effacement. Il garde tout ce qui est en dehors, et il garde les attributs des entités d'entrée. Voyez-le comme une perforatrice : les polygones d'effacement sont les trous, et la couche d'entrée est la feuille.

2. Quelle est la différence entre Erase et Clip ?

Ce sont des opposés. Clip garde les parties de l'entrée dans les polygones de superposition. Erase garde les parties en dehors. Si vous lancez les deux sur les mêmes données, les deux sorties réunies redonnent l'entrée d'origine, sans vide ni chevauchement.

3. Différence dans QGIS, est-ce la même chose qu'Erase dans ArcGIS ?

Oui. QGIS appelle l'opération Différence (Vecteur > Outils de géotraitement > Différence), ArcGIS l'appelle Erase. Les deux retirent la zone de superposition de l'entrée et ne gardent que les attributs de l'entrée. Ne la confondez pas avec la Différence symétrique, qui garde aussi les parties de la couche de superposition situées hors de l'entrée.

4. Quelle est la différence entre Erase et Pairwise Erase dans ArcGIS Pro ?

Avec des données normales, ils donnent le même résultat. Pairwise Erase utilise le traitement en parallèle sur plusieurs cœurs de processeur, il est donc en général plus rapide sur de grosses données, et il fonctionne à tous les niveaux de licence. L'Erase classique a longtemps demandé une licence Advanced. Vérifiez la page de l'outil pour votre version.

5. Puis-je effacer des lignes et des points, ou seulement des polygones ?

Les trois. Les points dans les polygones d'effacement sont retirés. Les lignes sont coupées au bord, et seuls les morceaux extérieurs restent. Les polygones perdent la surface qu'ils partagent avec les polygones d'effacement. Une couche d'entrée peut mélanger points, lignes et polygones.

6. Quels attributs garde la couche effacée ?

Chaque attribut de l'entité d'entrée est copié sans changement. Les attributs de la couche d'effacement ne sont pas ajoutés. En option, l'outil ajoute erase_status (outside ou erased) et la surface en mètres carrés, la longueur en mètres ou le nombre de points qui restent.

7. Que devient une entité tout entière dans la zone d'effacement ?

Elle est retirée de la sortie. L'encadré des résultats compte ces entités comme « Fully erased ». Une entité qui ne touche pas la zone d'effacement est copiée sans changement et comptée comme « Untouched ».

8. Pourquoi un polygone a-t-il un trou après l'effacement ?

Quand un polygone d'effacement est tout entier dans un polygone d'entrée, la seule façon de le retirer est de percer un trou. Par exemple, si vous effacez un étang d'un parc, le parc garde un trou là où était l'étang. C'est correct, et les logiciels SIG lisent ces trous sans problème.

9. Pourquoi mon entité est-elle devenue une géométrie Multi ?

Quand un polygone d'effacement coupe une entité en plusieurs morceaux, par exemple une route qui traverse une rivière, les morceaux restent ensemble en une entité multipartie, pour ne pas dupliquer les attributs. ArcGIS Pro fait de même. Cochez « Split multipart results into single parts » si vous voulez une entité par morceau.

10. Que deviennent les entités exactement sur le bord de la zone d'effacement ?

Le bord fait partie de la zone d'effacement. Un point exactement sur le bord est retiré, tout comme un tronçon de ligne qui suit le bord. Un polygone qui touche le bord seulement de l'extérieur ne perd aucune surface, il reste donc inchangé.

11. La couche d'effacement peut-elle avoir des polygones qui se chevauchent ou des trous ?

Oui. Tous les polygones d'effacement sont d'abord fusionnés en un masque, donc une zone couverte par deux polygones n'est retirée qu'une fois. Les trous sont respectés : tout ce qui est dans un trou d'un polygone d'effacement, comme une île dans un lac, reste dans la sortie.

12. Quels formats de fichier puis-je importer et télécharger ?

Vous pouvez importer du GeoJSON, un Shapefile Esri zippé (avec .shp, .shx et .dbf, plus .prj pour des données projetées), du KML, du KMZ, du GPX et du WKT. Vous pouvez télécharger du GeoJSON, du KML et un CSV avec une colonne de géométrie WKT. GeoJSON est le meilleur choix pour ArcGIS Pro ou QGIS, car il garde les types d'attributs.

13. Mes données sont-elles envoyées à un serveur ?

Non. La lecture des fichiers, l'effacement et l'écriture de la sortie se font dans votre navigateur. Vos fichiers ne quittent jamais votre ordinateur. Seules les tuiles du fond de carte facultatif viennent d'internet, et seulement après que vous avez activé le fond de carte.

14. Puis-je effacer des données projetées, comme de l'UTM ?

L'outil travaille en longitude et latitude WGS84 (EPSG:4326). Un Shapefile zippé en UTM ou dans une grille nationale est converti en WGS84 au chargement, à condition que son fichier .prj soit dans le ZIP. Le GeoJSON doit déjà être en WGS84, comme l'exige la norme GeoJSON.

15. Rien n'a été effacé. Qu'est-ce qui n'a pas marché ?

La cause la plus fréquente : les deux couches ne se chevauchent pas. Activez le fond de carte et zoomez sur chaque couche pour voir où elle se trouve. Un Shapefile sans son fichier .prj se retrouve souvent au mauvais endroit. Vérifiez aussi que vous avez choisi la couche de polygones comme couche d'effacement et non comme entrée.

16. Comment effacer dans QGIS ?

Allez dans Vecteur > Outils de géotraitement > Différence, choisissez la couche source et la couche de superposition, puis cliquez sur Exécuter. Dans la console Python, le même travail s'écrit processing.run("native:difference", ...) avec les paramètres INPUT, OVERLAY et OUTPUT.

17. Comment effacer avec arcpy dans un script Python ?

Dans ArcGIS Pro, appelez arcpy.analysis.PairwiseErase("parcels", "flood_zones", "parcels_dry"), ou arcpy.analysis.Erase(...) avec les mêmes paramètres. L'ancienne forme ArcMap est arcpy.Erase_analysis(...). Une boucle for sur plusieurs couches ou zones est là où arcpy fait gagner le plus de temps.

18. Les valeurs de surface et de longueur sont-elles exactes ?

Elles sont mesurées sur une sphère de rayon 6 371 008,8 m, ce sont donc de vrais mètres carrés et mètres, pas des degrés. L'erreur par rapport à l'ellipsoïde réel reste en général sous 1 pour cent. Pour des valeurs légales ou de précision topographique, mesurez de nouveau dans un système de coordonnées projeté local.

Bibliothèques utilisées et remerciements

Cet outil repose sur des logiciels open source. Un grand merci aux personnes qui écrivent et maintiennent ces projets.

  • Leaflet 1.9 · BSD-2-Clause · Volodymyr Agafonkin and contributors
    Dessine la carte interactive, les couches, les outils de dessin et les fenêtres d'information.
  • Différence de polygones pour effacer les polygones, union pour regrouper la couche d'effacement, surface géodésique et le test point dans polygone.
  • polyclip-ts · MIT · Luiz Felipe Machado Barboza, based on polygon-clipping by Mike Fogel
    Le moteur booléen de polygones derrière difference et union de Turf. Il utilise l'algorithme à ligne de balayage de Martinez-Rueda avec un calcul en précision arbitraire.
  • point-in-polygon-hao · MIT · Rowan Winsemius
    Le test rapide point dans polygone qui décide quels points et morceaux de ligne tombent dans la zone d'effacement.
  • shpjs · MIT · Calvin Metcalf
    Lit les Shapefiles Esri zippés (.shp, .shx, .dbf, .prj, .cpg) dans le navigateur.
  • proj4js · MIT · proj4js contributors
    Convertit les Shapefiles projetés en WGS84 grâce à leur fichier .prj (utilisé par shpjs).
  • @tmcw/togeojson · BSD-2-Clause · Tom MacWright
    Convertit les fichiers KML et GPX en GeoJSON.
  • JSZip · MIT ou GPL-3.0 · Stuart Knightley
    Ouvre les archives KMZ pour lire le fichier KML qu'elles contiennent.
  • @terraformer/wkt · MIT · Terraformer contributors
    Lit l'entrée WKT et écrit la colonne de géométrie WKT dans l'export CSV.
  • OpenStreetMap, Protomaps (hosted by KONAKTIVE), CARTO, Esri World Imagery · ODbL et conditions du fournisseur · OpenStreetMap contributors, Protomaps, KONAKTIVE, CARTO, Esri
    Tuiles du fond de carte et images, affichées seulement quand vous activez le fond de carte.

L'étape de découpe des lignes (couper les segments aux croisements avec le bord et tester chaque morceau) a été écrite pour ce site et est partagée avec l'outil de découpage. Le moteur d'effacement est vérifié par des tests automatiques : lignes qui traversent des trous, points sur le bord et dans les trous, polygones qui deviennent un cadre autour d'une île, polygones d'effacement qui se chevauchent, interpolation Z et la règle selon laquelle Clip plus Erase redonne toute l'entrée.

Outils de géotraitement associés

Tout l'effacement se fait dans votre navigateur. Aucun fichier n'est jamais envoyé à un serveur. Tuiles de carte © contributeurs d'OpenStreetMap, dessinées avec Protomaps (hébergé par KONAKTIVE), avec CARTO en secours. Images satellite : Esri.

Muhammad Gulraiz Khan, expert GIS et fondateur de KONAKTIVE et OnlineMapMaker.com

À Propos de l’Auteur

Muhammad Gulraiz Khan

Expert et Consultant GIS · Fondateur de KONAKTIVE

Muhammad Gulraiz Khan est un expert GIS avec plus d’une décennie d’expérience professionnelle dans la fourniture de solutions géospatiales pour le secteur de l’énergie, notamment des projets pour la Banque mondiale, la Société financière internationale (IFC) et l’USAID. Il a créé OnlineMapMaker.com pour rendre les outils de cartographie professionnels gratuits et accessibles à tous.

Publicité
Publicité