Suite

Définir la transparence du groupe de couches avec Python dans QGIS ?


Comment définir la transparence de tous les calques d'un groupe de calques ?

Je suppose que cela nécessitera l'utilisation d'une boucle FOR dans la console Python.

Basé sur Comment définir la transparence pour plusieurs calques ou ajouter une préférence de transparence globale ?

J'ai essayé ce qui suit :

pour le calque dans iface.legendInterface().layers() : layer.renderer().setOpacity(0.5)

Mais je n'obtiens que cette erreur :

Traceback (appel le plus récent en dernier) : Fichier "", ligne 2, dans  AttributeError : l'objet 'QgsVectorLayer' n'a pas d'attribut 'renderer'

Qu'est-ce que je fais mal?


Le problème est que les objets 'QgsVectorLayer' n'ont pas d'attribut 'renderer'. Ce type de méthode est destiné aux couches raster. Si vous souhaitez modifier la transparence de QgsVectorLayer objets, vous devez utiliser la méthode : 'setLayerTransparency(int)'; situé dans QgsVectorLayer classer.

Le code suivant fonctionne pour ce type d'objets :

mc=iface.mapCanvas() couches=[] n = mc.layerCount() pour i dans la plage(n) : couches.append(mc.layer(i)) pour la couche dans les couches : si couche.type() == 0 : #QgsVectorLayer layer.setLayerTransparency(95) else : layer.renderer().setOpacity(0.5) layer.triggerRepaint()

Je l'ai testé dans QGIS. Voir les images suivantes (la couche raster a une projection différente mais la transparence a également été attribuée):


À partir de QGIS 3.XX, les réponses données ne fonctionnent pas. De plus, il n'y a aucune mention deopacitéou alorstransparencedans la documentation deQgsVectorLayer.

Selon API break : https://qgis.org/api/3.0/api_break.html c'est ce qui fonctionne dans QGIS 3.XX :

vlayer.setOpacity(0.5)

Sélection et manipulation de plusieurs entités à l'aide de la fonction QgsFeatureRequest().setFilterExpression() dans PyQGIS

J'ai une couche vectorielle avec un champ attributaire appelé "type". J'essaie de supprimer toutes les fonctionnalités dont la valeur pour "type" n'est pas "primaire". Voici mon petit script, que j'ai réalisé grâce aux réponses d'ici et d'ici :

Cependant, lorsque je le lance, rien ne se passe. Je me suis assuré d'utiliser le bon calque avec

Puisqu'il n'y a pas d'erreurs, je suppose que mon expression de filtre n'est pas formatée correctement. Est-ce probablement le cas ou y a-t-il un problème avec la logique de mon script ? J'exécute Python 3.7.0 sur QGIS 3.4.12.


1 réponse 1

C'est le moyen le plus simple auquel je puisse penser. Je me souviens avoir roulé quelque chose à la main avant, mais c'est moche. qGIS serait plus facile, même si vous deviez effectuer une installation Windows distincte (pour que python fonctionne avec), puis configurer un serveur XML-RPC pour l'exécuter dans un processus python distinct.

Si vous pouvez obtenir que GDAL pixellise correctement, c'est également très bien.

Je n'ai pas utilisé gdal depuis un moment, mais voici ma supposition :

burn_values ​​est pour les fausses couleurs si vous n'utilisez pas de valeurs Z. Tout à l'intérieur de votre polygone est [255,0,0] (rouge) si vous utilisez burn=[1,2,3],burn_values=[255,0,0] . Je ne sais pas ce qui arrive aux points - ils pourraient ne pas tracer.

Utilisez gdal.RasterizeLayer(ds,bands,layer,burn_values, options = ["BURN_VALUE_FROM=Z"]) si vous souhaitez utiliser les valeurs Z.

Une autre approche - retirez les objets polygonaux et dessinez-les en utilisant des formes galbées, ce qui peut ne pas être attrayant. Ou regardez dans geodjango (je pense qu'il utilise des openlayers pour tracer dans les navigateurs à l'aide de JavaScript).

De plus, avez-vous besoin de rastériser ? Une exportation pdf pourrait être meilleure, si vous voulez vraiment de la précision.

En fait, je pense que j'ai trouvé qu'utiliser Matplotlib (après avoir extrait et projeté les fonctionnalités) était plus facile que la rastérisation, et je pouvais obtenir beaucoup plus de contrôle.

Une approche de niveau inférieur est ici:

Enfin, vous pouvez itérer sur les polygones (après les avoir transformés en projection locale) et les tracer directement. Mais vous feriez mieux de ne pas avoir de polygones complexes, ou vous aurez un peu de chagrin. Si vous avez des polygones complexes. vous feriez probablement mieux d'utiliser shapely et r-tree de http://trac.gispython.org/lab si vous voulez faire rouler votre propre traceur.

Geodjango pourrait être un bon endroit pour demander .. ils en sauront beaucoup plus que moi. Ont-ils une liste de diffusion? Il existe également de nombreux experts en cartographie Python, mais aucun d'entre eux ne semble s'en inquiéter. Je suppose qu'ils le tracent simplement dans qGIS ou GRASS ou quelque chose.


Parce que le . est autre esthétique passée pour chaque couche, c'est-à-dire que vous ne définissez pas alpha, vous le mappez sur une valeur qui est alors la même pour toutes les valeurs. Vous pouvez dire par la façon dont vous obtenez également une entrée de légende pour l'alpha sur le tracé. Il existe deux solutions :

1) Utilisez le I pour indiquer qu'il s'agit d'un ensemble esthétique

2) Utilisez plutôt un ggplot et définissez l'esthétique dans le geom .

Les deux appels produisent le même résultat.


Mots clés

Dr Caijun Xu, professeur spécialement nommé du « Cheung Kong Scholars Program », Ph.D. superviseur, vice-doyen de la géodésie et de la géomatique, Université de Wuhan, membre de l'équipe d'innovation de la Fondation nationale des sciences naturelles de Chine (NSFC) et du groupe d'expertise de révision de la NSFC, est né en mars 1964 à Jiangyin, dans la province du Jiangsu. Avec un titre d'expert provincial de la jeunesse du Hubei avec des contributions exceptionnelles et un prix de « Médaille d'arpentage et de cartographie » dans le système national d'arpentage et de cartographie. Ses intérêts de recherche sont : 1. Théorie et méthode de la géodésie géophysique. 2. Processus actifs de déformation de la croûte avec des mesures GPS et ampInSAR. 3. Inversion des paramètres cinématiques et dynamiques à partir des données de déformation de surface. 4. Modélisation de la déformation tectonique dans les zones limites des plaques, la déformation sismique, l'inflation et l'éruption des volcans actifs Déclenchement sismique et cycle sismique.

Examen par les pairs sous la responsabilité de l'Institut de sismologie, China Earthquake Administration.


Dans la collection de la Bibliothèque

Analyse spatiale comme terme de sujet n'est pas utilisé dans le catalogue en ligne. Au lieu, analyse spatiale (statistiques) est utilisé. Le terme « statistiques » est utilisé pour qualifier ou restreindre la portée du terme. Dans le catalogue en ligne, vous trouverez plus de 70 ressources qui ont à voir avec analyse spatiale (statistiques). Certains de ces volumes sont de nature plus technique et se concentrent davantage sur les mathématiques impliquées dans l'analyse spatiale.

La plupart de ces livres se trouvent dans G 70.2 à G 70.4 dans le Baker Stack Annexe A.


Importance de l'analyse géospatiale

L'analyse géospatiale aide les gens à prendre de meilleures décisions. Il ne prend pas la décision à votre place, mais il peut répondre à des questions critiques qui sont au cœur du choix à faire et auxquelles il est souvent impossible de répondre autrement. Jusqu'à récemment, la technologie et les données géospatiales étaient des outils disponibles uniquement pour les gouvernements et les chercheurs bien financés. Mais au cours de la dernière décennie, les données sont devenues beaucoup plus largement disponibles et les logiciels beaucoup plus accessibles à tous.

En plus des images satellites gouvernementales disponibles gratuitement, de nombreux gouvernements locaux mènent désormais des relevés de photos aériennes et mettent les données à disposition en ligne. L'omniprésent Google Earth fournit une vue de la Terre en rotation multiplateforme avec des données satellites et aériennes, des rues, des points d'intérêt, des photographies et bien plus encore. Les utilisateurs de Google Earth peuvent créer des fichiers KML personnalisés, qui sont des fichiers XML pour charger et styliser des données sur le globe. Ce programme et des outils similaires sont souvent appelés outils d'exploration géographique, car ils sont d'excellents visualiseurs de données mais offrent une capacité d'analyse de données très limitée.

L'ambitieux projet OpenStreetMap (http://openstreetmap.org) est un fond de carte géographique mondial à source ouverte contenant la plupart des couches couramment trouvées dans un SIG. Presque tous les téléphones portables contiennent désormais un GPS, ainsi que des applications mobiles pour collecter des traces GPS sous forme de points, de lignes ou de polygones. La plupart des téléphones marqueront également les photos prises avec l'appareil photo du téléphone avec une coordonnée GPS. Bref, n'importe qui peut être analyste géospatial.

La population mondiale a atteint sept milliards de personnes. Et le monde change plus vite que jamais. La planète subit des changements environnementaux jamais vus auparavant dans l'histoire enregistrée. Une communication et un transport plus rapides augmentent l'interaction entre nous et l'environnement dans lequel nous vivons. Gérer les personnes et les ressources de manière sûre et responsable est plus difficile que jamais. L'analyse géospatiale est la meilleure approche pour comprendre notre monde plus efficacement et en profondeur. Plus les politiciens, les militants, les travailleurs humanitaires, les parents, les enseignants, les premiers intervenants, les professionnels de la santé et les petites entreprises exploiteront la puissance de l'analyse géospatiale, plus notre potentiel pour un monde meilleur, plus sain, plus sûr et plus juste sera réalisé.


Comment modifier le convertisseur Hex en base58check via python

Je suis loin de la programmation, j'ai trouvé ce script pratique, il a juste une entrée - un fichier texte avec une liste HEX dans une colonne et la sortie du résultat - un fichier texte avec une liste WIF dans une pile. Je voudrais obtenir une autre sortie - un fichier texte avec la liste de contrôle Base58 dans une colonne. J'ai ce script python convertisseur Hex vers wif

avec open("brute-pvks.txt") en tant que fichier : pour la ligne dans le fichier : print (str.strip(line)) convert(str.strip(line))

Comment modifier cela pour convertir Hex en Base58check?


Les références

  • PDAL - Bibliothèque d'abstraction de données ponctuelles
    https://pdal.io/
  • Entwine - indexation des nuages ​​de points (construit au-dessus de PDAL)
    https://github.com/connormanning/entwine/
  • Potree - Visionneuse de nuages ​​de points WebGL
    https://github.com/potree/potree
  • CloudCompare - application de bureau pour la visualisation de nuages ​​de points
    https://github.com/CloudCompare/CloudCompare
  • PotreeConverter - indexation des nuages ​​de points
    https://github.com/potree/PotreeConverter
  • Potree : rendu de grands nuages ​​de points dans les navigateurs Web par Markus Schütz
    https://www.cg.tuwien.ac.at/research/publications/2016/SCHUETZ-2016-POT/SCHUETZ-2016-POT-thesis.pdf
  • Tuiles 3D (inclut les spécifications pour les données de nuages ​​de points)
    https://github.com/CesiumGS/3d-tiles

Le texte a été mis à jour avec succès, mais les erreurs suivantes se sont produites :

Nous ne sommes pas en mesure de convertir la tâche en problème pour le moment. Veuillez réessayer.

Le problème a été créé avec succès, mais nous ne sommes pas en mesure de mettre à jour le commentaire pour le moment.


La bibliothèque standard Python¶

Alors que la référence du langage Python décrit la syntaxe et la sémantique exactes du langage Python, ce manuel de référence de la bibliothèque décrit la bibliothèque standard qui est distribuée avec Python. Il décrit également certains des composants facultatifs couramment inclus dans les distributions Python.

La bibliothèque standard de Python est très étendue, offrant un large éventail de fonctionnalités, comme indiqué par la longue table des matières répertoriée ci-dessous. La bibliothèque contient des modules intégrés (écrits en C) qui donnent accès aux fonctionnalités du système telles que les E/S de fichiers qui seraient autrement inaccessibles aux programmeurs Python, ainsi que des modules écrits en Python qui fournissent des solutions standardisées pour de nombreux problèmes qui surviennent dans programmation quotidienne. Certains de ces modules sont explicitement conçus pour encourager et améliorer la portabilité des programmes Python en faisant abstraction des spécificités de la plate-forme dans des API indépendantes de la plate-forme.

Les programmes d'installation Python pour la plate-forme Windows incluent généralement l'intégralité de la bibliothèque standard et incluent souvent également de nombreux composants supplémentaires. Pour les systèmes d'exploitation de type Unix, Python est normalement fourni sous la forme d'un ensemble de packages, il peut donc être nécessaire d'utiliser les outils d'empaquetage fournis avec le système d'exploitation pour obtenir certains ou tous les composants facultatifs.

En plus de la bibliothèque standard, il existe une collection croissante de plusieurs milliers de composants (des programmes et modules individuels aux packages et cadres de développement d'applications complets), disponibles à partir de l'index des packages Python.

Sujet précédent

Sujet suivant

Cette page

La navigation

© Copyright 2001-2021, Python Software Foundation.
La Python Software Foundation est une société à but non lucratif. Veuillez faire un don.

Dernière mise à jour le 01 juil. 2021. Vous avez trouvé un bug ?
Créé en utilisant Sphinx 2.4.4.


À mesure que les cartes numériques deviennent plus répandues, elles sont également devenues plus complexes et détaillées. Le technicien en systèmes d'information géographique (SIG) utilise des données géographiques dans un large éventail d'applications, telles que la création de systèmes d'information géographique et de bases de données, l'examen des conceptions cartographiques existantes pour la précision et les détails, et la création de systèmes cartographiques spécialisés à partir de documents sources à l'aide de logiciels de cartographie et de conception.

Les techniciens en systèmes d'information géographique doivent posséder des connaissances significatives …Lire la suite


Voir la vidéo: Python GIS - Clip Raster to a Polygon Extent using (Octobre 2021).