J'ai utilisé l'outil de recherche "Points réguliers" pour produire un certain nombre de points dans un polygone, mais il forme une grille rectangulaire de points plutôt que seulement dans la forme du polygone. Étant donné que j'ai besoin d'un certain nombre de points dans le polygone, existe-t-il un moyen de le faire sans essais et erreurs?
Par exemple, à l'heure actuelle, seulement 8 des 25 points que je veux se trouvent dans le polygone, mais je veux 25 points, donc je pourrais augmenter à 50 points et voir combien apparaissent ensuite dans le polygone
qgis
polygon
vector-grid
cœlacanthe
la source
la source
Réponses:
Ce à quoi QGIS fait référence en termes de limite de couche est en fait l'enveloppe ou le cadre de délimitation de la géométrie.
J'ai documenté une solution qui est probablement la plus proche de l'automatisation (à moins de déposer une demande de bug / fonctionnalité).
Le processus fonctionne en fonction du rapport entre l'aire des deux objets: la géométrie de l'entité et son cadre de sélection).
Vérifiez les étapes suivantes ci-dessous:
Sélectionnez le calque sur lequel vous souhaitez travailler.
Sélectionnez la fonction sur laquelle vous souhaitez travailler. Assurez-vous que rien d'autre n'est sélectionné.
Exécutez l'extrait de code suivant dans la console Python.
Assurez-vous d'appuyer sur Entrée car la dernière ligne ne reviendra pas automatiquement.
Exécutez à
Regular Points
nouveau l' outil, mais entrez le nombre de points que vous souhaitez à l'intérieur de la zone multiplié par la sortie donnée par votre script.Dans mon exemple ci-dessous, le résultat que j'ai reçu de la sortie était une valeur de ~ 2. J'ai demandé la sortie de 20 points par le processus où je n'en voulais en fait que 10. On m'a donné 8 en retour, ce qui est assez proche. Selon la forme réelle que vous utilisez, les résultats varient.
Si vous étiez si enclin, vous pourriez automatiser (récursivement) le processus des points réguliers en modifiant les variables jusqu'à ce que vous arriviez au nombre souhaité.
la source
Vous pouvez facilement le faire en découpant simplement: générez la grille régulière de points exactement comme vous l'avez fait, puis utilisez Vector> Outils de géotraitement> Couper, saisissez la grille de points générée et utilisez la fonction comme masque de coupure.
la source
Une solution simpliste est suggérée par la capture d'écran. Vous pouvez extraire les polygones dans de nouvelles couches avec
Vector -> Data Managment Tools -> Split vector layer
, les importer, puis choisir la couche avec l'entité (ID) que vous souhaitez comme couche d'entrée pour l'échantillonneur "Points réguliers".Si vous ne devez effectuer cette opération que pour une poignée de polygones, les trouver et les exporter séparément pourrait être plus efficace. Une fois que vous en avez sélectionné un, faites un clic droit sur le nom du calque et choisissez
Save Selection As ...
, choisissez le fichier de formes, remplissez le reste et répétez comme précédemment.EDIT: Puisque vous avez déjà une seule entité, je ne peux pas penser à quelque chose de plus simple que d'utiliser une grille plus dense, de la couper à nouveau avec le polygone et de supprimer enfin tous les points extraneus (le plus facile à travers le tableau d'attributs, car vous obtenez à la fois un centrage facile et le compte total).
la source
Appliquez une requête de définition à vos polygones (en 1.8, faites un clic droit sur la couche et choisissez Requête). Exécutez ensuite l'outil. Supprimez la requête.
la source