Message posté par : Pasteque
----------------------------------------
Bonjour à tous,
Afin de faciliter la manipulation de la calculatrice de champ par les utilisateurs de mon organisation, j'aimerais créer une fonction personnalisée grâce à l'éditeur de fonction. J'ai bien essayé d'en créer une mais d'une part, le calcul était trop long et d'autre part le résultat était faux (reflet de mes faibles compétences en python!).
Le besoin est le suivant : éditer une formule permettant de calculer la longueur totale d'une ligne intersectant un ou plusieurs polygone de même valeur et pondérer les résultats.
Je m'explique. Dans l'image jointe, la ligne traverse différents enjeux, du faible au maximal. Selon l'enjeu traversé, la ligne n'a pas le même impact et son poids ne sera pas le même. On applique un coefficient multiplicateur à la longueur de la portion de ligne (en km) intersectant chaque enjeu : 1 = faible, 2=modéré, 3= fort, 4=très fort, 5= maximal, puis on fait la somme des portions lignes pondérées.
On obtient ainsi, pour l'exemple joint, la somme : 1*(3.19+4.38) + 2*0 + 3*4.8 + 4*0 + 5*9.22
J'ai réussi à traduire ce besoin avec les fonction de base de la calculatrice de champ par la formule (exemple pour l'enjeu maximal, répété pour tous les enjeux ).
-----------------
Code :
length(intersection($geometry,aggregate('polygone','collect',$geometry,"Clase"='Maxima')))/1000
-----------------
La formule s'exécute rapidement mais n'est pas simple à manipuler pour les non initiés.
L'idée serait donc d'avoir une fonction personnalisée, intégrée dans la calculatrice de champs, correspondant à cette formule et qui pourrait se présenter de telle sorte :
pond_ligne('Nom de la couche de polygones')
L'un de vous serait-il en mesure de m'aider sur ce sujet ?
Je précise que le géotraitement "Intersecter" répond lui aussi en partie au besoin mais est peu envisageable au vu du résultat généré qui demanderait trop de manipulations.
Merci d'avance pour votre retour,
Bonne journée !
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357828#p357828
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 : Papa-Yankee-Bzh
----------------------------------------
Bonjour
Je fais remonter ce vieux post car j’ai exactement le même problème mais peut-être que huit ans après il y a une solution plus simple pour le faire directement dans le projet Qgis, sans passer par une extension ?
J’ai essayé avec des formules trouvées sur l’aide (celles qui utilisent aggregate, sum etc.), mais ça ne fonctionne pas : dans la légende, il affiche la même valeur pour toutes les catégories : soit 0, soit la somme totale, soit la somme de la 1ère catégorie, qu’il répète pour les autres.
Dans mon cas, j’ai deux catégories basées sur une colonne "code" (1 = végétation conservée ; 2 = végétation supprimée) et j’ai une colonne "surface". Dans la légende, je voudrais afficher : Végétation conservée (x m2) et Végétation supprimée (y m2) ; c'est l'affichage du nombre pour x et y qui me posent problème, ce qui se passe avant et après, normalement j’y arrive.
Si quelqu’un a une idée ? Sinon tant pis. je taperai le nb dans la légende, à l’ancienne ! :-)
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357822#p357822
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 : upriste
----------------------------------------
Bonjour,
J'ai des 'ponctuels' a créer que je superpose au plan cadastral. J'ai également le linéaire de voie en habillage.
Je souhaite que certains champs de ma couche "ponctuels" se renseignent automatiquement à partir des champs provenant des couches du cadastre et du lineaire de voies. Par intersection dirons nous.
Les champs à renseigner de ma couche 'ponctuel' sont : "insee", "nomcommune", "numparcelle", "adresse". Ils se trouvent comme suit :
Couche 'commune' ==> "nomcommune"
Couche 'parcelles' ==> "numparcelles"
Couche 'voirie' ==> "adresse"
Lorsque je créé un nouveau 'pontuels' je souhaite donc que ma table attributaire soit rempli automatiquement par les valeurs indiquées. Une precision pour la couche voirie, comme le pon,ctuel risque de ne pas créé sur le lineaire a proprement parler il faudrait qu'il me recupere l'adresse la plus proche.
Faut-il passer par des couches virtuelles ou par des champs virtuels ou les 2 ?
Merci de votre aide.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357816#p357816
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 : Frédéric Pouget
----------------------------------------
Bonjour
Cela ne réponds pas à mon besoin même si cela y ressemble.
J'ai besoin d'un dégradé de couleur dans le sens de la longueur et pas, pour simplifier, dans la largeur comme ici.
Merci pour la réponse.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357791#p357791
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 : Frédéric Pouget
----------------------------------------
Pour ceux qui tomberait sur ce fil, la tentative décrite plus haut fonctionne parfaitement.
Bonne soirée
Fred
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357780#p357780
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 : Frédéric Pouget
----------------------------------------
Bonjour,
J'ai besoin de représenter des linéaires avec un dégradé de couleur, par exemple de vert pour le début du linéaire vers rouge pour sa terminaison.
J'ai vu que l'option existe pour les polygones, mais est-ce possible pour les linéaires ?
Merci
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357778#p357778
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
----------------------------------------
Bonjour,
comment pourrais-je connecter un recepteur GNSS trimble via bluetooth à qgis sur mon pc w10 ?
Faut-il installer un programme tiers ?
dans le panneau GPS, je n'arrive pas à le détecter et acc-sder à la position.
Merci d'avance
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357761#p357761
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
----------------------------------------
Je semble avoir trouvé une extension qui me permettrait d'avoir les résultats que je voulais via le plug-in "QNEAT3", mais je ne suis pas sur de comprendre le fonctionnement de l'extension.
Je voulais savoir quels sont les sens des attributs que j'obtiens avec la Matrice de distances. J'obtiens les champs :
- entry_cost
- network_cost
- exit_cost
- total_cost
Quelqu'un aurait un lien vers une documentation de ces champs, je ne trouve pas forcément ça sur internet
merci d'avance
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357758#p357758
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.
----------------------------------------
Si vous avez un identifiant commun ("id_commun" dans l'exemple) entre les 2 couches, ce calcul peut se faire en SQL spatial assez facilement.
Un exemple :
-----------------
Code :
SELECT a.id_commun,
st_distance(a.geom, b.geom) as distance
FROM "couche A" as a
JOIN "couche B" as b ON a.id_commun = b.id_commun
-----------------
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357759#p357759
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