Message posté par : preliator
----------------------------------------
Bonjour à tous,
Je dispose d'une base de donnée représentant un id de tronçon de route, un trajet, et des balises qui représentent un nombre de personnes (systématiquement le même nombre de personnes pour un trajet) situés sur un tronçon de route. Je voudrais donc extraire une seule valeur de "nombre_personne" pour chaque "id_trajet", et faire la somme dans "id_troncon".
En gros, je voudrais passer de ça ...
-----------------
Code :
id_troncon; id_trajet; nombre_personnes
troncon1; trajet_1; 1
troncon1; trajet_1; 1
troncon1; trajet_2; 2
troncon1; trajet_2; 2
troncon1; trajet_3; 3
troncon1; trajet_3; 3
-----------------
on a donc 1 + 2 + 3 = 6
à ça :
-----------------
Code :
id_troncon; sum_nombre_personnes
troncon1; 6
-----------------
Malheureusement, je bloque ...
Merci à vous.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=331224#p331224
Pour y répondre : geobd(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 : preliator
----------------------------------------
Bonjour à tous,
Je dispose d'une couche répertoriant 3200 trajets, d'un centroide de commune A à un centroide de commune B en passant par des routes. En plus des champs déterminant la commune de départ et la commune d'arrivée, je dispose d'un champ qui détermine combien de personnes effectuent ce trajet.
Voici comment se présente cette couche :
-----------------
Code :
commune_depart; commune_arrivee; nombre_personne
La Ciotat; Marseille; 5166
Aubagne; Ceyreste; 2100
Message posté par : BenB
----------------------------------------
Bonjour,
Dans une base de données POSTGIS j'ai une table habitat de type polygone, j'ai besoin de connaitre pour chaque type d'habitat la somme des surfaces :
-----------------
Code :
SELECT
h.code_cb,
c.lb_hab_fr,
SUM(round(st_area(h.geom))) AS surface,
LEFT JOIN ref_inpn.habref_cb c ON c.lb_code = h.code_cb
GROUP BY
h.code_cb,
c.lb_hab_fr,
-----------------
C'est ok, mais j'ai aussi besoin du pourcentage que représente cette surface par rapport à l'ensemble des habitats. Je me suis orienté vers les sous-requêtes :
-----------------
Code :
SELECT
h.code_cb,
c.lb_hab_fr,
SUM(round(st_area(h.geom))) AS surface,
(Select
(100*surface) / (SUM(round(st_area(h.geom))))
FROM "CMB_observatoire".t_habitat h) AS test
LEFT JOIN ref_inpn.habref_cb c ON c.lb_code = h.code_cb
GROUP BY
h.code_cb,
c.lb_hab_fr,
-----------------
Le soucis est que la colonne surface n'existe pas pour la requête ... logique. Dois-je faire la sous requête dans la formule (100*surface) / (SUM(round(st_area(h.geom))))? ou existe-t-il un autre moyen ?
en vous remerciant.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=331137#p331137
Pour y répondre : geobd(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 : Johanne NGOUEGNE
----------------------------------------
Je veux créer un trigger qui permet de modifier les colonnes long et lat si je modifie le champ geom d'un ponctuel. De même si je modifie les colonnes long et lat, mon champ geom suit la modif.
Tout fonctionne sauf lorsque je donne une valeur null à la longitude ou latitude, le champ geom ne prend pas la valeur null.
Voici mon script ci-dessous.
BEGIN
if ((old.long<>new.long) or (old.lat<>new.lat)) then
if ( (new.long is null) or (new.lat is null) ) then
new.geom := null;
else
new.geom = st_geomfromtext('POINT('||new.long||' '||new.lat||')', 3857);
end if;
elsif (st_astext(old.geom)<>st_astext(new.geom)) then
new.lon = st_x(geom);
new.lat =st_y(geom);
end if;
RETURN NEW;
END
Est ce que quelqu'un aura un meilleur script pour afficher la valeur NULL lorsqu'une de mes coordonnées est NULL?
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=331092#p331092
Pour y répondre : geobd(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 : preliator
----------------------------------------
Bonjour à tous,
Je dispose d'une couche traces en multiligne, et j'aimerais pouvoir récupérer le nom du polygone de commune d'ou commence la ligne avec St_StartPoint.
Bien entendu, St_StartPoint me renverra NULL vu que je suis en multiligne. Je me demandais s'il était possible de convertir temporairement ma couche en LigneString juste le temps de faire fonctionner cette formule avec PostGis ?
Voici ma formule de base :
-----------------
Code :
update traces set commune_debut = nom_commune from commune where st_within(st_startpoint(traces.geom), commune.geom)
-----------------
Merci.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=331043#p331043
Pour y répondre : geobd(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