Message posté par : eco_geo
----------------------------------------
Bonjour,
Je souhaite effectuer une requête SQL à partir de BD Manager. Seulement en voulant me connecter à ma couche virtuelle voici le message d'erreur qui s'affiche :
"... est une couche non valide et ne peut être chargée".
Je précise que la source de la couche contient bien l'ensemble du jeu de données (dbf, shp, etc.). En réalité l'erreur se produit pour toutes mes couches.
Merci d'avance pour votre aide.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357267#p357267
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 (f.gabrion(a)gmail.com)
----------------------------------------
Bonjour,
Je cherche à utiliser les données opendata des réseaux électriques et gaz qui sont des fichiers json ou geojson ou csv de 2 à 3 Go. Pour cela, pas question de les charger entièrement sur la carte. J'aimerais les charger sur Qgis à l'aide de l'API Python, les filtrer selon une couche polygone qui délimite les emprises de mon projet et ensuite afficher seulement les entités qui intersectent le projet.
La partie intersection n'est plus un problème, là où je bloque maintenant c'est tout simplement le chargement des couches json et geojson!
Pour un shp je les charger de la manière suivantes:
-----------------
Code :
vlayer = QgsVectorLayer("testdata/airports.shp", "layer_name_you_like", "ogr")
-----------------
Cela marche super pour un shapefile mais ça ne marche pas pour un geojson/json.
J'ai trouvé cette manière de faire pour un geojson:
-----------------
Code :
iface.addVectorLayer('chemin/fichier.geojson', 'nom du fichier', 'ogr')
-----------------
Encore une fois, c'est un échec, la couche n'est pas valide.
J'aimerais savoir si il existe un moyen de charger les fichiers geojson ou json dans une couche vectorielle QgsVectorLayer ?
Merci pour votre aide et bonne journée,
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357163#p357163
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 : zutix
----------------------------------------
Bonjour,
L’une de mes cartes est mise à jour assez fréquemment. L’objectif serait d’automatiser au maximum sa mise à jour.
Les données de mise à jour proviennent d’un fichier de type texte .csv. La couche destinataire est nommée CSV.
La couche qui va utiliser ces données s’appelle NB.
Elle fait l’objet d’une jointure avec la couche CSV. Ainsi elle récupère un champ _nb qui est utilisé comme colonne de catégorisation (style catégorisé de la couche NB).
Le champ _nb contient un nombre >=0 pour chaque entité.
Ce nombre peut varier d’une mise à jour à l’autre : en plus, en moins ou demeurer constant.
Par exemple, pour l’entité 1,
mise à jour 0 : _nb=1
mise à jour 1 : _nb=5
mise à jour 3 : _nb=4
mise à jour 4 : _nb=4
En conséquence, la quantité de catégories peut varier d’une mise à jour à l’autre.
Par exemple,
mise à jour 0 : catégories (colonne valeur) = 0 1 5 25
mise à jour 1 : catégories (colonne valeur) = 0 1 2 3 5 23
mise à jour 3 : catégories (colonne valeur) = 0 1 2 4 7 10 21 27
mise à jour 4 : catégories (colonne valeur) = 0 1 2 4 8 9 26
Une fois la jointure effectuée, le style reste sur les catégories de la mise à jour précédente.
A la main il faut aller dans le style de la couche NB. Puis sur le formulaire du style catégorisé, il faut cliquer successivement sur les boutons : Effacer tout puis Classer et enfin effacer la ligne de catégorie qui n’a pas de valeur.
A moins qu'il y ait un moyen pour que ce soit automatique ?
Sinon comment fait-on l’équivalent en python 2 ? Ou est-ce impossible ?
PyQGIS developer cookbook n’est pas suffisant face à mon ignorance.
renderer=nb.rendererV2()
Formulaire propriétés > style Python
Style : Catégorisé print renderer.type affiche bien cetgorizedSymbol
renderer.setType( quelque chose ) ne semble pas fonctionner.
Comment fait-on pour changer le style ?
Colonne : _nb renderer.setClassAttribute("_nb")
remplace bien la colonne par celle que l’on met, ici le champ _nb
Symbole : celui par défaut Quelle instruction écrire ?
Palettes de couleurs : Oranges renderer.setSourceColorRamp( ? ) ne reconnaît pas Oranges
Quelle est la bonne instruction ?
Le reste du formulaire de style : par défaut. Quelles sont les instructions python 2 ?
bouton OK nb.setRendererV2(renderer) agit
mais avec le seul champ colonne initialisé cela efface le style Catégorisé.
Merci d’avance de votre aide et bonne journée.
Cordialement
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=351404#p351404
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 : 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