Il s'agit de la commande v.cleangrass qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
v.nettoyer - Ensemble d'outils pour nettoyer la topologie de la carte vectorielle.
MOTS-CLÉS
vecteur, topologie, géométrie, capture
SYNOPSIS
v.nettoyer
v.nettoyer --Aidez-moi
v.nettoyer [-bc] contribution=Le nom [couche=string] [type=string[,string,...]] sortie=Le nom
[erreur=Le nom] outil=string[,string,...] [порог=flotter[,flotter,...]] [--écraser]
[--vous aider] [--verbeux] [--calme] [--ui]
Drapeaux:
-b
Ne pas créer de topologie pour le vecteur de sortie
-c
Combinez les outils avec les outils de suivi recommandés
--écraser
Autoriser les fichiers de sortie à écraser les fichiers existants
--Aidez-moi
Imprimer le récapitulatif d'utilisation
--verbeux
Sortie du module verbeux
--silencieux
Sortie module silencieuse
--interface utilisateur
Forcer le lancement de la boîte de dialogue GUI
Paramètres:
contribution=Le nom [obligatoire]
Nom de la carte vectorielle d'entrée
Ou source de données pour un accès OGR direct
couche=string
Numéro ou nom du calque ("-1" pour tous les calques)
Une seule carte vectorielle peut être connectée à plusieurs tables de base de données. Ce nombre
détermine la table à utiliser. Lorsqu'il est utilisé avec un accès OGR direct, il s'agit de la couche
nom.
Valeur par défaut: -1
type=chaîne[,chaîne,...]
Type d'entité en entrée
Options : point, ligne, frontière, centroïde, région, visage, kernel
Valeur par défaut: point,ligne,limite,centre de gravité,surface,face,noyau
sortie=Le nom [obligatoire]
Nom de la carte vectorielle de sortie
erreur=Le nom
Nom de la carte de sortie où les erreurs sont écrites
outil=chaîne[,chaîne,...] [obligatoire]
Outil de nettoyage
Options : Pause, se casser, rmdangle, chdangle, pont rm, pont, rmdupl, rmdac, bpol,
prune, zone, ligne téléphonique, RMSA
pause: casser des lignes à chaque intersection
casser: accrocher les lignes au sommet du seuil
rmdangle: supprimer les pendants, seuil ignoré si < 0
chdangle: changer le type de dangle de limite en ligne, seuil ignoré si < 0, entrée
le type de ligne est ignoré
pont rm: supprimer les ponts reliant la zone et l'île ou 2 îles
pont: changer le type de ponts reliant la zone et l'île ou 2 îles de
frontière à ligne
rmdupl: supprimez les entités géométriques en double (faites attention aux catégories !)
rmdac: supprime les centroïdes de zone en double (option 'type' ignorée)
bpol: casser les polygones (topologiquement propres) (importés à partir d'un format non topologique, comme
ShapeFile). Les limites sont brisées sur chaque point partagé entre 2 polygones et plus
où les angles des segments sont différents
pruneau: supprime les sommets du seuil des lignes et des limites, la limite est élaguée uniquement
si la topologie n'est pas endommagée (nouvelle intersection, modification de l'attachement du centre de gravité), d'abord
et le dernier segment de la frontière n'est jamais modifié
zone: supprime les petites zones, la limite la plus longue avec la zone adjacente est supprimée
ligne téléphonique: supprime toutes les lignes ou limites de longueur nulle, le seuil est ignoré
RMSA: supprime les petits angles entre les lignes aux nœuds
порог=flotter[,flotter,...]
Seuil en unités cartographiques, une valeur pour chaque outil
Par défaut : 0.0[,0.0,...])
DESCRIPTION
v.nettoyer permet à l'utilisateur de corriger automatiquement la topologie des cartes vectorielles. Plusieurs outils peuvent être
répertorié pour être exécuté de manière séquentielle. Dans ce cas, le paramètre de seuil nécessite également
plusieurs valeurs à lister en conséquence. Une carte d'erreur est éventuellement écrite qui stocke
les géométries erronées.
Break lignes/limites
outil=rupture
pause l'outil interrompt les lignes/limites aux intersections et interrompt également
lignes/limites formant une boucle effondrée. Par exemple, 0.0;1.0;0.0 est cassé à 1.0.
Le seuil ne s'applique pas (il est ignoré), utilisez une valeur arbitraire (par exemple, 0) si v.nettoyer is
fonctionner avec plusieurs outils.
Astuce : les lignes de rupture doivent être suivies de la suppression des doublons, par exemple v.nettoyer ...
outil=pause,rmdupl. Si l' -c le drapeau est utilisé avec v.nettoyer ... outil=rupture, les doublons sont
supprimé automatiquement.
Effacer dupliquer géométrie Caractéristiques
outil=rmdupl
rmdupl L'outil supprime les entités géométriques avec des coordonnées identiques. Les catégories sont
fusionné. Si un point et un centre de gravité ont des coordonnées identiques, l'un d'eux sera supprimé
si les points et les centroïdes sont sélectionnés avec v.nettoyer ... type=point,centre de gravité. Le même
s'applique aux lignes et aux limites.
Le seuil ne s'applique pas (il est ignoré), utilisez une valeur arbitraire (par exemple, 0) si v.nettoyer is
fonctionner avec plusieurs outils.
rmdupl L'outil doit être utilisé après la rupture des lignes et la rupture des polygones.
Effacer dangles or Change limite dangles à type en ligne
outil = rmdangle et outil=chdangle
Une ligne/limite est considérée comme un pendant si aucune autre ligne de type est au moins
un nœud d'extrémité. Si un pendant est formé de plusieurs lignes, une telle chaîne de lignes est considérée comme
un pendant et les longueurs de ligne sont résumées. Les rmdangle l'outil supprime un pendant si le
la longueur (combinée) est plus courte que battre or battre < 0. Si la longueur combinée est plus grande
que battre, rien n'est supprimé.
Le seuil doit être indiqué en tant que longueur maximale de ligne/limite en unités cartographiques ; pour
emplacements latitude-longitude en degrés. Dangle plus court que battre sont enlevés
séquentiellement. Tous les pendentifs seront supprimés si battre <0.
et battre < 0, seules les boucles fermées et les lignes reliant les boucles resteront. C'est utile
pour supprimer toutes les limites incorrectes après d'autres opérations de nettoyage avec trois est < 0.
Les zones peuvent alors être construites avec succès.
Pour éliminer préférentiellement les pendants les plus courts en premier, un premier passage avec un petit battre La valeur
peut être suivi de passes ultérieures avec des battre valeurs. Cela peut être fait comme un
v.nettoyer en listant l'outil plusieurs fois et en définissant une liste de battre
valeurs.
chdangle l'outil est similaire au rmdangle outil, mais ne fonctionne que sur les limites et
modifie les limites pendantes en lignes au lieu de les supprimer.
Effacer or Change ponts de liaison an la surface et an île or deux îles
outil=rmbridge et outil=chbridge
Un pont est une connexion de type zone d'une île (polygone dans un polygone) à l'extérieur
polygone. Ceci est topologiquement incorrect (mais les fonctionnalités simples de l'OGC le permettent). Les pont rm
l'outil supprime les ponts et le pont l'outil change les ponts pour taper la ligne :
+-------------+ +-------------+ +-------------+
| P| P : polygone | P| | P|
| +---+ | I : île | +---+ | | +---+ |
| | je | | B : pont | | je | | | | je | |
| | | | L : ligne | | | | | | | |
| +-+-+ | | +---+ | | +-.-+ |
| | | | | | . |
| | B | | | | . L |
| | | | | | . |
+------+------+ +-------------+ +--------------+
Les îles et les zones doivent être déjà propres, c'est-à-dire sans pendeloques ou petits angles, par ex.
v.nettoyer ... type=limite outil=rmdangle,rmsa,break,rmdupl,rmbridge seuil=-1,0,0,0,0.
Le seuil ne s'applique pas (il est ignoré), utilisez une valeur arbitraire (par exemple, 0) si v.nettoyer is
fonctionner avec plusieurs outils.
Casser lignes à sommet in порог
outil=accrochage
casser l'outil accroche les sommets à un autre sommet pas plus loin que battre. S'il y a
aucun autre sommet à l'intérieur battre, aucun accrochage ne sera effectué. Les type l'option peut avoir une forte
influence sur le résultat. Un seuil trop grand et type=limite peut gravement endommager la zone
topologie, irréparable.
Le seuil donne la distance maximale à un autre sommet en unités de carte, pour la latitude-longitude
emplacements en degré.
Les limites capturées peuvent avoir besoin d'être nettoyées avec pause,rmdupl,rmsa. Si l' -c le drapeau est utilisé
avec v.nettoyer outil=accrochage, la séquence de pause,rmdupl,rmsa est automatiquement répété après
claquant jusqu'à ce qu'il n'y ait plus de petits angles à gauche. Nettoyage supplémentaire avec par exemple
outil = rmdanglepeut être nécessaire.
Effacer dupliquer la surface centroïdes
outil=rmdac
rmdac L'outil supprime les centroïdes de zone en double qui peuvent résulter de la suppression des limites.
Le seuil ne s'applique pas (il est ignoré), utilisez une valeur arbitraire (par exemple, 0) si v.nettoyer is
fonctionner avec plusieurs outils.
Break (topologiquement nettoyer) à fort trafic (importé à partir de a non topologique
format comme ShapeFile) outil=bpol
bpol l'outil brise les limites sur chaque point partagé entre 2 zones ou plus où les angles
des segments de frontière sont différents et sur tous les nœuds de frontière (points de début et de fin de chaque
frontière). Les bpol l'outil se comporte comme pause pour les limites, mais ne brise pas
boucles effondrées. Les bpol l'outil est plus rapide que le pause outil mais a besoin de plus de mémoire.
Le seuil ne s'applique pas (il est ignoré), utilisez une valeur arbitraire (par exemple, 0) si v.nettoyer is
fonctionner avec plusieurs outils.
bpol l'outil doit être suivi de rmdupl. Si l' -c le drapeau est utilisé avec v.nettoyer ...
outil=bpol, les doublons sont automatiquement supprimés.
Effacer sommets in порог à partir de lignes et frontières
outil=élaguer
pruneau L'outil simplifie les lignes et les limites en supprimant les sommets en fonction de
seuil. Cet outil préserve la topologie de la zone, les zones ne sont jamais supprimées et le centroïde
l'attachement n'est jamais modifié. v.généraliser offre beaucoup plus de fonctionnalités pour la ligne
simplification mais ne préserve pas la topologie de zone.
Effacer petit à fort trafic
outil=zone rma
zone l'outil supprime toutes les zones <= battre. La limite la plus longue avec une zone adjacente est
supprimé ou toutes les limites s'il n'y a pas de zone adjacente. Les catégories de zone ne sont pas combinées
lorsqu'une petite zone est fusionnée avec une plus grande zone.
Le seuil doit toujours être en mètres carrés, également pour les emplacements latitude-longitude ou
emplacements avec des unités autres que des mètres.
Effacer tous lignes or frontières of zéro longueur
outil=ligne rm
ligne téléphonique l'outil supprime toutes les lignes ou limites de longueur nulle qui peuvent résulter de
autres opérations de nettoyage. Les limites de longueur nulle sont redondantes et n'influencent pas la zone
topologie.
Le seuil ne s'applique pas (il est ignoré), utilisez une valeur arbitraire (par exemple, 0) si v.nettoyer is
fonctionner avec plusieurs outils.
Effacer petit angles jusqu'à XNUMX fois lignes at nœuds
outil=rmsa
RMSA l'outil ne concerne que les angles si petits que l'angle calculé est de 0. Le
La figure suivante devrait aider à démontrer ce que fait l'outil.
Le seuil ne s'applique pas, utilisez une valeur fictive si v.nettoyer est exécuté avec plusieurs outils.
outil=rmsa
RMSA l'outil doit être suivi de pause, rmduplL’ RMSA outil suivi de pause, rmdupl
peut devoir être exécuté plus d'une fois pour supprimer tous les petits angles. Si la -c le drapeau est utilisé avec
v.nettoyer ... outil=rmsa, la séquence de rmsa, pause, rmdupl est automatiquement répété jusqu'à ce que
plus de petits angles à gauche.
NOTES
L'utilisateur fait pas devoir courir v.construire sur le sortie vecteur, à moins que le -b drapeau a été utilisé.
-b le drapeau affecte uniquement le sortie vecteur - la topologie est toujours construite pour erreur vecteur.
EXEMPLES
Casser lignes à sommet in порог
v.clean input=testmap output=cleanmap tool=snap seuil=1
Nettoyage OGR importé données, (Simple Fonctionnalité Les données) tel as FORME filet
L'importation de zones avec v.in.ogr -c (pas de nettoyage) nécessite un passage ultérieur de v.nettoyer à
mettre à jour la carte vers une structure topologiquement valide (suppression des lignes colinéaires en double
etc). Les outils utilisés pour cela sont bpol et rmdupl:
v.clean input=areamap output=areamap_clean tool=bpol,rmdupl type=limite
Extraire intersection des notes bonus of vecteur lignes
v.clean input=lignes1 sortie=lignes2 err=points outil=type de rupture=ligne
Les points d'intersection sont écrits sur la carte des « points ».
Break lignes
v.nettoyer brisera les lignes où elles se croisent, créant un nouveau nœud si nécessaire. Exemple:
v.in.ascii -n out=format_lignes croisées=standard << EOF
L 2
0 Paris
10 Paris
L 2
5 Paris
5 Paris
EOF
v.clean in=lignes_croisées out=lignes_croisées_brk \
erreur=outil d'intersection=type de coupure=ligne
Effacer tous lignes of zéro longueur
v.out.ascii zéro format=standard
L 2 1
-819832.09065589 -987825.2187231
-806227.28362601 -971104.80702988
1 Paris
L 2 1
-799165.24638913 -972974.16982788
-799165.24638913 -972974.16982788
1 Paris
v.clean entrée=zéro sortie=zero_clean outil=rmline type=ligne
v.out.ascii zero_clean format=standard
L 2 1
-819832.09065589 -987825.2187231
-806227.28362601 -971104.80702988
1 Paris
v.clean type=boundary ne supprimerait rien.
À plusieurs reprises supprimez balançant lignes up à 50m longueur
v.clean input=testmap output=cleanmap type=ligne \
outil=rmdangle,rmdangle,rmdangle,rmdangle seuil=5,10,20,50
Utilisez v.cleangrass en ligne en utilisant les services onworks.net
