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
Message posté par : Lsam
----------------------------------------
Bonjour,
Merci pour le lien, j'avais regardé mais pas osé me lancer dans la modification de ces options.
J'ai d'abord tenté de modifier
-----------------
Code :
use_remote_estimate
-----------------
,
-----------------
Code :
fdw_startup_cost
-----------------
et
-----------------
Code :
fdw_tuple_cost
-----------------
ainsi dans les options d emon serveur :
-----------------
Code :
use_remote_estimate 'true', fdw_tuple_cost '0.001', fdw_startup_cost '0'
-----------------
Message posté par : T. Rossini
----------------------------------------
Salut,
est ce que vous pourriez nous poster le resultat du
EXPLAIN VERBOSE de votre requête afin qu'on puisse étudier le plan ?
Si vous pouvez, poster le à l'aide de ce site qui met en forme les explains :
https://explain.depesz.com/
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=330778#p330778
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,
Souhaitant rajouter des informations de l'INSEE à ma couche de délimitation d'Iris version 2015 avec PostGre, je rencontre un problème de jointure entre leur champ qui représente le code de l'IRIS.
Pour commencer, j'ai téléchargé les délimitations des Iris de 2015 sur l'IGN : https://geoservices.ign.fr/documentation/diffusion/telechargement-donnees-l…
La base de données des revenus de 2016 ici : https://www.insee.fr/fr/statistiques/4295611#consulter
Concrètement, en tentant de mettre à jour un nouveau champ "revenu_iris" crée dans ma couche Iris avec le champ "disp_med16" de la couche des revenus en me basant sur les champs "Iris" et "code_iris" pour la jointure, seul 11500 éléments sont joins sur les 50152 éléments de ma couche Iris. En tentant différents code, notamment :
-----------------
Code :
select code_iris
from iris
intersect
select iris
from les_revenus
-----------------
Je retrouve le même nombre d'éléments joins, à savoir un peu plus de 11500. En faisant une recherche manuelle sur excel des code iris non-joins, effectivement ils n'apparaissent pas dans la table des revenus. Je ne comprend vraiment pas.
edit : je viens d'essayer avec la base de donnée Population en 2016 de l'INSEE téléchargée ici : https://www.insee.fr/fr/statistiques/4228434 , la j'ai 48793 entités sur les 50152 entités de la couche Iris. Ce qui est déjà bien mieux.
Cela est t-il normal d'avoir si peu de correspondance entre ma couche d'Iris et de Revenus ?
Merci à vous.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=330690#p330690
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.
Sachant utiliser les différentes méthodes d'agrégats de Postgre, calculer la médiane reste toujours un mystère pour moi.
Admettons la table suivante :
-----------------
Code :
create temporary table test as
select * from (values ('42-60', 12, 'male'),
('42-60', 5, 'female'),
('42-61', 3.59, 'male'),
('42-61', 13.85, 'male'),
('42-62', 2.96, 'female')) as t(path, cost, sex);
-----------------
Comment puis-je trouver la médiane du champ "cost" des éléments male et female ?
Merci à vous.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=330501#p330501
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, composée de 2 champs, que j'aimerais exporter sous forme de tableur manipulable sous excel. Parmi ces champ, l'un d'eux correspond à des code Insee de communes. Les types de champs sont exactes sous ma BDD Postgre.
En tentant d'exporter un fichier CSV comme je le fais habituellement, ce champ Insee se transforme en champ d'entier, et corrompt forcément le champ. Je me demandais s'il existait un moyen d'exporter un tableur en gardant le type de colonne de base de postgre.
Voici ma méthode habituelle :
-----------------
Code :
create table export as
select code_insee, sum(ipondi)
from mobil_sco
group by code_insee
-----------------
Et exporter la table Export avec clic droit/Exporter au format CSV.
Merci à vous.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=330341#p330341
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