Je dois faire un grand nombre (des centaines) de cartes de répartition des espèces. J'ai un fichier de formes qui contient les distributions pour chaque espèce, et pour chacune, je voudrais obtenir une carte sous forme d'image (jpg, png ou autre) qui contient le nom de l'espèce concernée, la légende (pour distinguer les zones de distributions annuelles, reproduction, non reproduction, etc ...).
J'aimerais utiliser QGIS pour ce faire.
qgis
qgis-processing
map-book
Onesime
la source
la source
Réponses:
J'avais une exigence similaire et j'ai créé un plugin QGIS pour générer les cartes, basé sur un fichier de formes avec des localités ponctuelles pour toutes les espèces (il suppose un nom de taxon unique dans la table attributaire comme identifiant commun). Mes exigences n'étaient pas aussi complexes - je n'avais pas besoin d'informations saisonnières, de titres ou de légendes, mais cela peut être un point de départ utile pour vous. Pour les aspects plus complexes, vous devrez utiliser le composeur de cartes. Voir le livre de recettes PyQGIS pour en savoir plus.
Brancher
Le plugin automatise la création des cartes et vous permet de configurer les étendues, la résolution et d'autres aspects. Il applique le même style à la sortie que votre superposition de grille. Actuellement, il ne fonctionne que sur la version de développement de QGIS (1.9 ou ultérieure).
Script sextante
Avant de créer le plugin, j'ai élaboré la logique en utilisant SEXTANTE. Ce script utilisateur devrait également fonctionner en 1.8 (je ne l'ai pas testé). Le fichier de style de distribution (.qml) est le style des distributions de sortie (il ignore le style de la superposition de distribution). Actuellement, il place les mappes de sortie dans le répertoire temp en fonction des paramètres par défaut de votre système d'exploitation (/ tmp sous Linux et divers emplacements dans Windows - définis par la variable d'environnement TEMP). Vous pouvez assez facilement définir cela vous-même dans le code. Vous devrez également modifier l'étendue et la résolution de sortie dans le code (et la couleur d'arrière-plan si vous souhaitez une couleur différente pour la mer).
la source
selectbylocation
étape, et d' ajouter un montant supplémentaireselectbyattribute
etsaveselectedfeatures
pour chaque saison (changement étapegrid_layer
àall_localities
). Ensuite, chargez plus de fichiers .qml et ajoutez ajoutez vos fichiers de formes saisonniers (couche supérieure ajoutée en premier). Si vous ne savez pas comment, je pourrais probablement essayer de modifier le script ci-dessus pour travailler plus ou moins.J'ai pris peu de temps pour y travailler aujourd'hui. J'ai donc apporté quelques modifications à votre script. Je n'ai pas besoin d'ajouter une étape selectbyattribute et saveelectedfeatures supplémentaire car j'utilise un fichier .qml et le champ saisonnier est dans le même fichier de formes. Ci-dessous, vous pouvez voir ce que j'ai fait:
Si vous avez des remarques ou des conseils pour l'améliorer, n'hésitez pas.
Pour l'améliorer, le mieux serait de sélectionner l'étendue (par exemple l'Europe), il utilise cette étendue pour sélectionner uniquement les espèces incluses dans cette étendue. Ceci parce que j'obtiens des cartes pour toutes les espèces, même celles qui sont hors d'Europe par exemple (j'ai donc beaucoup de cartes vides). Pensez-vous que c'est possible?
À votre santé,
Onesime
la source