Suite

Moyen/outil pour générer automatiquement des polygones sur la carte en connaissant la largeur, la hauteur et l'espacement des polygones

Moyen/outil pour générer automatiquement des polygones sur la carte en connaissant la largeur, la hauteur et l'espacement des polygones


J'ai besoin de créer un grand nombre de polygones (disons 1000) sur une mosaïque géoréférencée (à partir de photographies aériennes). Je connais la hauteur et la largeur des polygones, et je connais l'espacement entre eux. Je peux également fournir les bords du polygone conteneur.

Disons que je veux créer des polygones de 1 mts x 3 mts avec un espacement de 0,5 mts (à la fois vertical et horizontal) dans la zone délimitée par le rectangle défini par des points (p1, p2, p3, p4).

Est-ce que quelqu'un connaît un outil pour le faire automatiquement? Ou une recommandation sur sa mise en œuvre ?


Si vous n'êtes pas familier avec la programmation Python, mais que vous savez utiliser Excel, vous pouvez créer une feuille de calcul contenant les coins des polygones au format WKT, enregistrer la feuille de calcul sous forme de fichier .csv, l'ouvrir dans QGIS. L'utilisation du format WKT dans un fichier csv est une astuce pratique que j'ai récupérée à partir d'autres réponses ici. Il vous permet de convertir toutes sortes de données en quelque chose que QGIS peut gérer sans avoir besoin de connaître autre chose que les fonctionnalités de base d'Excel.

Disons que vous voulez 4 lignes, 5 colonnes de rectangles, 0,25 degrés de hauteur, avec 0,1 degrés entre les lignes. Les cols ont une largeur de 0,3 degrés, avec 0,05 degrés entre les deux. L'origine de la grille est à 10° de latitude, -106° de longitude Créez une feuille de calcul avec les deux premières lignes suivantes :

La dernière colonne devrait avoir WKT dans la cellule d'en-tête, et crée le WKT et ressemble à ceci (très moche)

=CONCATENATE("polygone((", F2" ", D2, ", ", F2" ", E2, ",", G2" ", E2" ,", G2, " ", D2" ,, F2, " ", D2, "))")

Puisque nous voulons 20 polygones, remplissez la colonne A avec 1 à 20 et copiez les colonnes B à H à côté de ces entrées.

Enregistrez cette feuille de calcul en tant que fichier .csv.

Ouvrez maintenant QGIS et sélectionnez Couche-> Ajouter une couche de texte délimité et accédez au fichier csv que vous venez de créer. Définissez Geometry Definition sur WKT, Geometry Type = Detect, Geometry field sur WKT (ou tout ce que vous avez dans la cellule H1).

Cliquez ensuite sur OK

Pour généraliser, remplacez "5" dans les différentes formules par le nombre de colonnes que vous souhaitez. Remplacer ".25" par la hauteur des lignes dans les unités appropriées, "-0.3) par la largeur des colonnes, "0.1" par l'interligne, "-0.05" par l'inter-colonne, "10" par l'origine Y (latitude), "-106" avec l'origine X (longitude).

Si vous ne travaillez pas en degrés, vous devrez définir le SCR de votre nouveau calque pour qu'il corresponde au SCR que vous utilisez. En fonction de vos préférences, vous pouvez être invité à entrer le SCR lorsque vous cliquez sur OK pour créer la couche.


Vous pouvez vous passer de la programmation avec l'utilisation de l'outil "Créer un résille" dans la boîte à outils Arc et de l'outil "tampon" dans la barre d'outils de l'éditeur. Après avoir créé des polygones de résille, vous devez tamponner les polygones avec l'espacement comme valeur négative dans la fenêtre de création de tampon. Cela créera un polygone avec espacement et vous pourrez supprimer les anciens polygones. Essaye celui-là. ça marche pour moi.


Voir la vidéo: Illustrator - Zig Zag, RickRack u0026 Wavy Lines