Message posté par : loic58471 (loic58471(a)gmail.com)
----------------------------------------
Bonjour,
je cherche à créer une projection personnalisée afin de pouvoir intégrer à un SIG tout un tas de documents d'archives d'un site archéologique soudanais, documentation géographique qui a été constituée dans un repère local.
Par la mesure au DGPS des points de repères physiques encore présents, puis par recalage graphique du maillage de ces points dans le système local sur le même maillage en système officiel actuel (ADINDAN) j'ai réussi à recaler le système local par rapport à ce système général et déduire ainsi, notamment, ses coordonnées à l'origine et sa rotation.
En résumé j'ai les coordonnées en système ADINDAN (une projection UTM) de l'origine ainsi que de n'importe quel point sur l'axe des abscisse ou l'axe des ordonnées d'une grille d'un système local (la rotation peut aussi être mesurée) et j'aimerai créer une projection personnalisée à partir de ça.
J'ai essayé avec le module QGIS basé sur proj4, j'ai consulté l'aide de la page web du système PROJ et j'ai peur d'être complètement largué, je n'arrive à rien.
Question: est-on obligé, pour passer d'un SCR à un autre, de passer par l'intermédiaire du WGS84? Et auriez vous un début de piste pour m'orienter sur une manière de faire, un algorithme à utiliser, des paramètres à déterminer? CS2CS parait adapté mais je n'arrive pas à l'utiliser.
J'ai passé plusieurs heures à essayer de faire fonctionner tout ça mais sans succès, je me crispe beaucoup de ne pouvoir utiliser un outil qui me semble aussi adapté à ce dont j'ai besoin et qui m'épargnerai encore plus d'heures à géoréférencer des documents dont les points d'amer sont on ne peut plus approximativement déterminables.
Si vous êtes compétent à utiliser cette machine du diable, je prends volontiers tout conseil...
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357275#p357275
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 : arn974 (arnaudcurve(a)hotmail.fr)
----------------------------------------
Bonjour à tous 😀
J’ai réussi via le forum a réalisé une connexion vers base de donnée SQLITE et ainsi travailler avec l’outil DB manager afin de détecter des doublons sur une couche.
J’ai appliqué l’expression suivant
« select count(field ) as nbr_doublon, (field)
from table
group by field
having > 1 »
Cela fonctionne bien
Il me renvoie en résultat le nombre de doublon et indique les valeurs du champ cible
Toutefois j’aurais voulu en plus générer un shp dû résultats afin de pouvoir extraire une nouvelle couche
Et là je coince
Pourriez vous m’orienter s’il vous plaît 🙏 ????
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357276#p357276
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 : ckiko13
----------------------------------------
Bonjour
Si le message est le suivant:
-----------------
Citation :
"Exporter la mise en page: Mise en page exportée avec succès dans C:UsersASUSDesktopMise en page 12.svg"
-----------------
Il est logique que cela ne fonctionne pas: le chemin n'est pas correct: il manque les "/". Le chemin devrait être celui-ci:
-----------------
Citation :
"Exporter la mise en page: Mise en page exportée avec succès dans C:\Users\ASUSDesktop\Mise en page 12.svg"
-----------------
cordialement
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357271#p357271
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 : Paulin (renforts(a)smaavo.fr)
----------------------------------------
Bonjour,
Je dispose de la base de données cadastral de notre territoire d'action (12 communes) qui fonction avec l'extension cadastre sur Qgis.
Je souhaiterais exporter les noms prénoms et adresses des prioritaires associés à chaque parcelle. Est-ils possible de réaliser cet export ?
L'objectif est de pouvoir envoyer des courriers à tous les propriétaires.
Par ailleurs, est-il possible de réaliser cet export uniquement sur une sélection de parcelles ?
Dans l'attente d'une réponse
Cordialement, Paulin
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357258#p357258
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 : 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