Message posté par : Francois Hebrard
----------------------------------------
Bonjour,
J'ai commencé par développer une extension en python sur QGIS. Je suis parti de la base de "Plug-in Builder" à laquelle j'ai ajouté des fonctions créé par le modèle builder (exporter le code python à partir du modeleur). le programme python est un peu gros, du coup, je ne vais pas le copier ici, mais j'ai un petit souci qui vient sûrement de la fonction run de la fonction principale.
-----------------
Code :
def display_point(self, point):
# report map coordinates from a canvas click
coords = "{}, {}".format(point.x(), point.y())
self.dlg.lineEditXYEcole.setText(str(coords))
def montrerFenetre(self):
self.dlg.show()
def boutonPointer(self):
# a reference to our map canvas
canvas = self.iface.mapCanvas()
# this QGIS tool emits as QgsPoint after each click on the map canvas
self.pointTool = QgsMapToolEmitPoint(canvas)
# cacher la fenêtre
self.dlg.hide()
#cliquer le point et afficher les coordonnées
self.pointTool.canvasClicked.connect(self.display_point)
canvas.setMapTool(self.pointTool)
#remettre la fenêtre
self.pointTool.canvasClicked.connect(self.montrerFenetre)
def run(self):
"""Run method that performs all the real work"""
# Create the dialog with elements (after translation) and keep reference
# Only create GUI ONCE in callback, so that it will only load when the plugin is started
if self.first_start == True:
self.first_start = False
self.dlg = CheminementEcoleDialog()
# les fonctions liés aux boutons
self.dlg.parcourirSortieCheminement.clicked.connect(self.sortieCheminements)
self.dlg.parcourirSortieFinale.clicked.connect(self.sortieFinale)
self.dlg.parcourirCouche.clicked.connect(self.aj_fichier_combo_box)
self.dlg.parcourirReseauRoutier.clicked.connect(self.aj_fichier_combo_box)
self.dlg.pointerXYEcole.clicked.connect(self.boutonPointer)
# Fetch the currently loaded layers
layers = QgsProject.instance().layerTreeRoot().children()
# Clear the contents of the comboBox from previous runs
self.dlg.selectCouche.clear()
self.dlg.ReseauRoutierComboBox.clear()
# Populate the comboBox with names of all the loaded layers
self.dlg.selectCouche.addItems([layer.name() for layer in layers])
self.dlg.ReseauRoutierComboBox.addItems([layer.name() for layer in layers])
# show the dialog
self.dlg.show()
# Run the dialog event loop
result = self.dlg.exec_()
# See if OK was pressed
if result:
# traitement traité grâce aux fonctions crées par le modeleur graphique
#coordonnées de l'école pointer
coordonnees = self.dlg.lineEditXYEcole.text()
xy = coordonnees.split(', ')
pointXYEcole = QgsPointXY(float(xy[0]),float(xy[1]))
#Reseau routier pour calculer les chemins les plus courts
reseauRoutier = self.dlg.ReseauRoutierComboBox.currentText()
#adresses des élèves
adresseEleves = self.dlg.selectCouche.currentText()
#sortie cheminement
filename_sortie_cheminement = self.dlg.lineEditSortieCheminements.text()
#sortie finale du fichier
filename_sortie_finale = self.dlg.lineEditSortieFinale.text()
parameters = {
'coordonnescole': pointXYEcole, #point de départ
'Rseauroutier': reseauRoutier, #réseau routier
'AdressesEleves': adresseEleves, #adresses élèves
'sortieCheminement' : filename_sortie_cheminement, # Chemins vers l'école
'sortieFinale': filename_sortie_finale #sortie finale
}
## traitement
fx._nb_eleves_par_tronon.processAlgorithm(parameters=parameters)
## sortie de la couche cheminement
with open(filename_sortie_cheminement, 'w') as output_file:
selectedLayerIndex = self.dlg.selectCouche.currentIndex()
selectedLayer = layers[selectedLayerIndex].layer()
fieldnames = [field.name() for field in selectedLayer.fields()]
# write header
line = ','.join(name for name in fieldnames) + '\n'
output_file.write(line)
# write feature attributes
for f in selectedLayer.getFeatures():
line = ','.join(str(f[name]) for name in fieldnames) + '\n'
output_file.write(line)
## sortie de la couche finale
with open(filename_sortie_finale, 'w') as output_file:
selectedLayerIndex = self.dlg.selectCouche.currentIndex()
selectedLayer = layers[selectedLayerIndex].layer()
fieldnames = [field.name() for field in selectedLayer.fields()]
# write header
line = ','.join(name for name in fieldnames) + '\n'
output_file.write(line)
# write feature attributes
for f in selectedLayer.getFeatures():
line = ','.join(str(f[name]) for name in fieldnames) + '\n'
output_file.write(line)
## message de succès du programme
self.iface.messageBar().pushMessage(
"Success", "Cheminements calculés " + filename_sortie_finale,
level=Qgis.Success, duration=5)
-----------------
J'ai créé un bouton "pointer" qui permet de remplir un "lineEdit" avec les coordonnées pointés. et quand je clique sur bouton pointer, tout marche très bien, mais quand je clique sur Ok pour finir le programme, il a la même réaction qu'avec le bouton "pointer" : càd qu'il attend que je pointe un point, si je le fais, il me réouvre la fenêtre de l'extension. Auriez-vous une idée pour m'aider à trouver d'où vient le problème.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357213#p357213
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : laurent00
----------------------------------------
bonjour
je souhaite réaliser un atlas de 364 monuments, ils sont petits et donc j'aimerais en disposer 9 par page.
comment est-ce possible ?
merci LJ
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357216#p357216
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : valentin44 (val4460(a)hotmail.fr)
----------------------------------------
Bonjour,
Malgré mes nombreuses tentatives lorsque je souhaite ajouter des points via un fichier excel de coordonnées géographiques (x;y) rien ne se passe et je n'ai même pas de message d'erreurs ma fenêtre de texte délimité se remet à 0 . J'ai essayé plusieurs versions de QGIS et toujours le même problème.Savez vous d'ou cela peut provenir? Merci d'avance!
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357209#p357209
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Sylvain M.
----------------------------------------
A ma connaissance, les flux WFS du Sandre ne proposent pas de couche des zones humides.
Je pense qu'il faudrait plus se pencher sur le "Réseau Partenarial des Données sur les Zones Humides" : http://sig.reseau-zones-humides.org/
Il y a bien un flux WMS (image) et un flux WFS (vecteur) : http://wms.reseau-zones-humides.org/cgi-bin/wmsfma
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357208#p357208
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Félix GABRION
----------------------------------------
Bonjour,
Le plus simple est d'utiliser un flux WFS (Web Feature Service) qui te sort directement une couche vectorielle pour les zones humides. Tu peux ensuite sélectionner les entités que tu veux (ou toutes) et exporter les entités sélectionnées en shapefile pour pouvoir les modifier.
https://services.sandre.eaufrance.fr/geo/sandre?REQUEST=getCapabilities&ser…
Tu devrais trouver les couches qui t'intéressent dans ce flux WFS.
Bonne journée,
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357206#p357206
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : guillaume
----------------------------------------
Bonjour,
Une piste :
vous chargez dans QGIS à la fois la trace et les points de trace.
Vous appliquez le traitement "exploser des lignes" sur votre trace de façon à retrouver l'ensemble des tronçons qui relient les points de trace.
A la nouvelle couche, avec la calculatrice de champ vous ajoutez un champ "ele" qui reprend les valeurs d'élévation des points de trace via l'expression
geomintersects( 'track_points','ele')
Enfin vous changez le style de la nouvelle couche : symbole unique > ligne interpolée (nouveauté depuis QGIS 3.20) > couleur variable suivant le champ "ele" avec la palette de couleur de votre choix.
https://www.zupimages.net/viewer.php?id=22/50/gqfy.pnghttps://www.zupimages.net/viewer.php?id=22/50/ji3j.png
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357039#p357039
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : bilatche
----------------------------------------
pareil ici, je cherche une solution pour pouvoir utiliser une tablette W10 panasonic FZ-G2 avec qgis et la précision centimétrique d'un récepteur GNSS.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357181#p357181
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : OrangeTIP (lamussais(a)orange.fr)
----------------------------------------
Bonjour,
Nous utilisons des tablettes Algiz 10X sous windows 7 avec un GPS externe TRIMBLE PG200 GNSS receiver et QGIS pour faire nos relevés à l’extérieur. Après avoir installé la version QGIS 3.4.5 LTR sur les tablettes, nous ne sommes plus en mesure de récupérer le positionnement de nos points ce qui était le cas avec la version 2.16.3.
Le bluetooth fonctionne bien sur la tablette et sur le GPS, les deux sont connectés et le GPS fonctionne bien (tout cela visible sous GNSS Status)
Quand on lance Qgis (Vue / Panneaux / Information GPS) et la connexion (option "autodétecter"), le message «Erreur durant la connexion à l’appareil» s’affiche dans la barre d’état.
Après avoir essayé la connexion option Port série et tous les ports COM, la connexion ne se fait toujours pas.
Après avoir testé QGIS 2.10, le même problème se pose.
Quelqu’un a-t-il été confronté au même problème et aurait-il une solution ?
Merci par avance pour vos réponses.
Cordialement.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=330074#p330074
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Dreligan (vincentbergnes(a)orange.fr)
----------------------------------------
Bonjour à tous,
Je me permets de vous solliciter concernant un problème que je rencontre sur ma version QGIS 3.16 Hannover.
A savoir que je travaille en Lambert 93 21:54.
Je désire avoir 3 couches :
1/ Le cadastre,
2/ l'IGN,
3/ La vue aérienne.
Pour le cadastre, j'utilise l'extension cadastre en créant la base de données en "sqlite" de ma commune et en ayant préalablement téléchargé les données au format "EDIGEO". Je projette de 21:54 en 21:54.
Pour la vue aérienne et l'IGN j'utilise le "XYZ tiles" avec directement l'OpenStreetMap et le Satellite, je veille bien à projeter en Lamber 93 21:54.
Seulement voila, l'IGN et le Satellite semblent bien alignés mais le cadastre est aux fraises (ou l'inverse). La commune que je veux projeter est Argeles-sur-mer dans les P.O. (66), hors quand je zoome sur cette commune sur le satellite et l'IGN, le cadastre se trouve vers la région de Metz dans le Nord-Est de la France.
Auriez-vous une idée d'où vient le problème svp ?
Merci de votre attention, Très cordialement
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=356910#p356910
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net
Message posté par : Sylvain M.
----------------------------------------
-----------------
Citation :
Or, non, si j'ai jaune en couche 1 et bleu en couche 2, j'ai une couche jaune foncé alors que j'aimerais que la couche 1 cache la couche 2.
Le rendu n'est pas bon car j'ai des couleurs qui sont mélangés.
-----------------
Sans doute parce-que vous avez appliqué une transparence aux couches, ou utilisé un "mode de fusion" dans le rendu des couches.
Sans l'une de ces 2 options, un polygone devrait bien prendre le dessus, et vous pouvez même choisir lequel via les "niveaux de symboles".
Personnellement, j'aurais tendance à faire une seule couche en supprimant les parcelles dupliquées, et en mettant en attributs l'ensemble des natures de chaque parcelle, et en calculant un champ dédié à la symbologie ("nature_carto")
Je ferais ça en SQL :
- d'abord un "UNION" de toutes les couches
- ensuite un"GROUP BY geom", avec "GROUP_CONCAT()" sur le champ "nature" (ou mieux "array_agg()" si c'est une base PGSQL).
- ensuite un calcul de champ "nature_carto" basée sur une règle à base de "CASE WHEN ... ELSE ... END" imbriqués.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357158#p357158
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net