J'ai une carte composée de plusieurs polygones, avec quelques centaines de milliers de points de polygones très petits sur l' intérieur.
J'ai besoin de polygones plus grands, mais pas de petits polygones de points . Comment sélectionner et supprimer tous les petits polygones de points , tout en préservant les polygones plus grands? (Je ne veux évidemment pas le faire manuellement - il y a trop de points pour ça!)
Je suis totalement nouveau sur QGIS, et j'ai beaucoup cherché sur Google sans chance. Probablement parce que je ne suis pas sûr de la terminologie correcte à utiliser dans une recherche Google!
Les fichiers que j'utilise sont un .dbf, .prj, .qpj, .shp et .shx. Je fais simplement glisser le fichier .shp sur QGIS, et la carte apparaît comme une seule couche. Fondamentalement, une carte du Royaume-Uni divisée en régions (que je veux) et couverte de points (qui ne veulent pas).
Voilà à quoi ça ressemble de près. J'ai fait une dissolution pour voir s'ils iraient dans la couche environnante, sans chance:
Réponses:
Il semble que vous travaillez avec des données Ordnance Survey Code-Point , qui sont un ensemble de données des zones de code postal en Grande-Bretagne et en Irlande du Nord.
Les "points" dont vous parlez sont de petits polygones carrés qui représentent ce que l'on appelle des "rues verticales": des piles de plusieurs codes postaux, qui ne peuvent pas être représentées à l'aide de polygones "conventionnels" (voir le commentaire d'Andy Harfoot pour plus de détails). ). Vous voudrez peut-être réfléchir à deux fois avant de supprimer ces polygones si vous avez besoin des codes postaux affectés pour votre analyse.
Cela dit, voici comment supprimer ces polygones:
Sélectionnez tous les polygones de rues verticales en cliquant sur "Sélectionner des entités à l'aide d'une expression" et en entrant
"POSTCODE" LIKE 'V%'
. Cela sélectionnera toutes les entités dont le code postal commence parV
, qui sont les rues verticales.La simple suppression des entités n'aidera pas, car les polygones laisseront des trous, comme vous l'avez déjà remarqué. Au lieu de cela, vous pouvez fusionner les rues verticales avec un grand polygone voisin à l'aide de "Vector / Outils de géotraitement / Éliminer les polygones de ruban", en enregistrant le résultat dans un nouveau fichier.
Vous pouvez recevoir le message d'avertissement indiquant que certaines fonctionnalités n'ont pas pu être dissoutes, ainsi qu'une liste d'ID de fonctionnalités. Si vous souhaitez également vous débarrasser de ces entités, sélectionnez les rues verticales du nouveau calque à l'aide de l'expression précédente, puis effectuez l'une des opérations suivantes:
Si vous voulez une solution automatique, vous pouvez dissoudre les rues verticales avec tous les polygones voisins. Enregistrez la sélection dans un nouveau calque à l'aide de "Calque / Enregistrer la sélection en tant que fichier vectoriel", puis utilisez "Outils vectoriels / de recherche / Sélectionner par emplacement" pour sélectionner les entités du calque fusionné qui se croisent avec les rues verticales incriminées, créant une nouvelle sélection . Dissolvez ensuite cette sélection à l'aide de "Vector / Outils de géotraitement / Dissoudre", en choisissant
--- Dissolve all ---
dans le "champ Dissoudre". Notez que cette approche peut conduire à la dissolution indésirable de polygones «appropriés» si la rue verticale incriminée se trouve à la limite de deux autres polygones, ou s'il existe des rues verticales incriminées dans deux polygones voisins.Si vous voulez éviter de dissoudre d'autres polygones, vous pouvez sélectionner manuellement les rues verticales et un polygone adjacent, en prenant soin de ne pas sélectionner deux polygones voisins, puis de les dissoudre comme ci-dessus.
la source
Essayez d'inverser votre méthodologie. Au lieu d'essayer de sélectionner et de supprimer des milliers de points, avez-vous essayé de sélectionner les polygones et de créer une nouvelle couche à partir de cette sélection? Ce ne serait pas trop fastidieux si vous aviez une méthode pour supprimer manuellement tous les points, sélectionnez simplement les entités surfaciques à la place et créez une couche ou exportez-les. Si ces points sont de petits polygones, comme d'autres l'ont commenté, vous pouvez toujours sélectionner uniquement les polygones que vous souhaitez conserver et exporter.
la source