Message posté par : image95
----------------------------------------
Bonjour,
Je travaille avec Postgresql 13, Postgis et qgis.
J'importe des fichiers shapefile dans des tables au sein d'une base de données unique, dans différents schemas. Lors de chaque import de shp, une nouvelle table est générée : chaque fichier shp importé génère une nouvelle création de table. On peut dire que c'est l'approche d'import la plus simple qu'on pourrait appeler, import "entrepot de données".
A partir de c'est tables, j'aimerais créer des vues afin de restructurer la donnée, filtrer les champs utiles. Dans un but de mettre à disposition ces vues aux utilisateurs via qgis.
Pour valider cette stratégie, il y a un point dur à résoudre. C'est que in fine je souhaite que les utilisateurs, sous qgis, voient uniquement les vues. Je ne souhaite PAS qu'ils voient les tables.
Sauriez vous si il est possible, au sein d'une même BDD, au sein de plusieurs schemas, de rendre par defaut visible les vues aux utilisateurs. Et de rendre les tables NON visibles ?
Un grand merci pour votre aide.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=351780#p351780
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 : Mayelle Cardron
----------------------------------------
Bonjour,
J'essaye d'accéder à ma base de donnée via QGIS, lorsque que je me connecte avec un certain user je vois les géométries ainsi que le SRID (accès en admin sur les données) tandis qu'avec un autre (accès en lecture sur les données) je ne vois plus ces informations (cf. fichier joint). Je pense donc que le soucis viens du paramétrage des user. Auriez-vous des pistes à ce sujet?
----------------------------------------
Ce message est accompagné de fichiers, pour les télécharger, suivre le lien ci-dessous.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361845#p361845
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 : Mayelle Cardron
----------------------------------------
Bonjour,
J'essaye d'accéder à ma base de donnée via QGIS, lorsque que je me connecte avec un certain user je vois les géométries ainsi que le SRID (accès en admin sur les données) tandis qu'avec un autre (accès en lecture sur les données) je ne vois plus ces informations (cf. fichier joint). Je pense donc que le soucis viens du paramétrage des user. Auriez-vous des pistes à ce sujet?
----------------------------------------
Ce message est accompagné de fichiers, pour les télécharger, suivre le lien ci-dessous.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361844#p361844
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 : ccam86
----------------------------------------
J'ai un petit problème SQL dans QGIS, je souhaite réaliser une requête pour distinguer chaque action.
Les couches en question sont des couches surfacique | Géométrie de type Polygone (MultiPolygon).
La chaque couche est organiser au niveau des champs de la même manière.
Chaque action est repartie par type de champ.
Voici les champs suivant par type d'action.
Couche avec les actions surfacique:
"LA_intripi" = intervention ripisylve
Couche avec les actions Linéaire :
"EL_TVX" = Etat linéaire travaux
"EL_ANNTVX"
Couche avec les actions Ponctuel :
"EP_TVX" = Etat ponctuel travaux
"EP_ANNTVX"
Chaque couche indépendamment entre elle comporte des actions différentes.
L'identifiant unique va correspondre au champ.
"LA_ID" et "proprietai" attention plusieurs propriétaires peuvent avoir la même parcelle et le même propriétaire plusieurs parcelles.
Exemple :
-------------------------
La_ID | proprietai |
---------|---------------
0325 | Marie
0325 | paul
0325 | jule
0325 | Marie
0125 | marie
0125 | helene
Pour 4 actions ponctuelles ou linéaires ou surfaciques, il faut multiplier par 4 le même multipolygone parcellaire pour le même propriétaire pour avoir 4 actions différentes sur chaque multipolygone.
4 ponctuels sur 1 parcelle = 4x la même parcelle.
Selon le résultat, nous multiplions par le nombre de propriétaires.
4 fois, la même parcelle x 2 propriétaires différents = 8 fois la même parcelle
Attention --> !! Sauf que certaines actions et années sont les mêmes pour le même multipolygone avec le même propriétaire et je souhaiterais les regrouper, mais attention cela peut aussi varier les années d'actions peuvent aussi changer pour le même propriétaire !!
Enfin voici les explications comme exemple de cas type du problème et ensuite ce que je souhaiterais.
Cas type de mon problème feuille excel en jaune et en vert ce que je souhaite avoir en résultat (voir excel fournit)
Finalement, la requête peut être simplement de supprimer les valeurs NULL présentes pour les différents champs qui définissent les actions et les années de réalisation afin d'avoir au final 1 couche qui regroupe les autres couches avec des valeurs non NULL sauf pour les champs comportant des valeurs.
Merci à tous pour vos lumières !
----------------------------------------
Ce message est accompagné de fichiers, pour les télécharger, suivre le lien ci-dessous.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361647#p361647
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 : lili55 (leblanc.ingrid(a)gmail.com)
----------------------------------------
Bonjour,
cela fait quelques jours que je cherche une solution à une requête sql
l'objectif est d'avoir une vue avec cette structuration :
vue_evolution_demographique
id | geom (centroïde dans le polygone) | nom_commune | code_insee | annee_dernier_recensement | population_dernier_recensement | annee_avant_dernier_recensement | population_avant_dernier_recensement | evolution_population
La requête sql est ok sauf pour la dernière colonne "evolution_population" elle reste NULL ... alors que j'aimerai qu'elle indique l'évolution démographique entre les 2 derniers recensements.
Voici la structuration des tables nécessaire pour réaliser la vue :
limite_commune :
id | geom | nom_commune |code_insee
recensement_population:
id | nom_commune | code_insee | population | annee
et voici la requête sql :
SELECT * from
(select row_number() OVER () AS id,
limite_reference_limite_communale.planche,
limite_reference_limite_communale.nom,
st_pointonsurface(limite_reference_limite_communale.the_geom)::geometry(Point,3948) AS the_geom
from public.limite_reference_limite_communale) l1
LEFT JOIN (
select
recensement_population.planche,
recensement_population.annee as annee_dernier_recensement,
recensement_population.population as population_dernier_recensement
from donnees_metiers.recensement_population
where annee = (select max(annee) from donnees_metiers.recensement_population)) l2
USING (planche)
LEFT JOIN (
select
recensement_population.planche,
recensement_population.annee as annee_avant_dernier_recensement,
recensement_population.population as population_avant_dernier_recensement
--recensement_population.population as evolution_population
from donnees_metiers.recensement_population
where annee = (select max(annee) from donnees_metiers.recensement_population)) l3
USING (planche)
LEFT JOIN (
select
recensement_population.planche,
recensement_population.population as evolution_population
from donnees_metiers.recensement_population
where annee = ((select max(annee) from donnees_metiers.recensement_population)
-
(select (max(annee)-1) from donnees_metiers.recensement_population)
)) l4
using (planche)
Si vous pouviez m'aiguiller pour la dernière étape :-)
merci d'avance
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361294#p361294
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 : barthsdee
----------------------------------------
Bonjour,
J'ai une vue géante alimentée par une cinquantaine de tables,
JE cherche à faire des opérations sur des attributs:
J'ai 3 tables codant des informations (à chaque fois on est sur du Null,1;5)
La présence de null dans les tables m'empèche de faire des additions.
Dans le code de ma vue , je saisis donc concat (table1,table2,table3) as ma_valeur
ça marche
Je me retrouve avec 5 combinaisons possibles: 1;11;5;15,Null en résultat
Mon problème est le suivant: je n'arrive pas à convertir ces valeurs en texte plus explicite pour l'utilisateur final via une jointure de table .
Je souhaite remplacer les valeurs 1 et 11 par oui et null /5 et 15 par non ou null
J'ai tenté en créant une table de correspondance et en faisant une jointure de table, cependant ça ne marche pas (la jointure semble ne pas passer car en boucle)
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361263#p361263
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 : edouarbaer
----------------------------------------
Bonjour, je vous écrit car je suis désespéré.
Cela fait plusieurs semaines que j'essaye d'intégrer un très gros fichiers geojson dans ma base de donnée postgresql.
j'ai essayé par le biais de qgis mais la couche est beaucoup trop lourde et il semble y avoir des problèmes de géométrie dans ma couche qui rendent impossible l'import dans ma base de donnée postgresql (une sombre histoire de polyligne incompatible avec des multipolyligne).
Apres avoir chercher un peu partout il semble que la façon la plus correcte de répondre à mon besoin est d'utiliser la commande ogr2ogr.
à priori, de ce que j'ai compris quand on installe pgadmin et/ou qgis, ogr2ogr.exe est directement installé dans les répertoire de ces programmes. je n'ai donc pas procédé à son installation à proprement parlé. En revanche, quand je réalise ma ligne de commande :
-----------------
Code :
ogr2ogr -f "PostgreSQL" PG:"host=localhost port=5432 dbname=db_geo user=admin password=XXXX" -nln data_reseau "C:\Users\toto\Downloads\reseau.geojson"
-----------------
j'ai cette erreur :
-----------------
Code :
ERROR 1: Unable to find driver `PostgreSQL'
-----------------
après avoir chercher un peu partout, j'ai vu qu'il fallait que j'installe gdal... Sauf qu'a priori gdal est déjà installé avec postgresql et qgis, mais ça je n'en suis pas sur...
La méthode que j'ai trouvé c'est d'installer gdal via anaconda3, ce que j'ai fait, mais quand je lance la commande à partir de mon environnement conda, j'ai la même erreur qui ressort...
-----------------
Code :
ERROR 1: Unable to find driver `PostgreSQL'
-----------------
là je suis arrivé au bout du bout, je ne suis ni géomaticien, ni informaticien et je n'ai aucune solution concrète pour résoudre mon problème. J'aimerai pouvoir utiliser les lignes de commandes pour insérer des fichiers directement dans postgresql mais il y a quelque chose qui m'échappe dans l'utilisation ogr2ogr.
je suis sous windows
quelqu'un pourrait m'aider à trouver une solution ?
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361230#p361230
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 : Kiecane
----------------------------------------
Bonjour,
Je recherche actuellement une requête pour trouver la date de création et de mise à jour d'une table. J'ai vu qu'on pouvait utiliser CREATE_TIME et UPDATE_TIME pour trouver cette information mais je n'arrive à les utiliser. J'ai écrit :
SELECT CREATE_TIME FROM nom_schéma.nom_table
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=360856#p360856
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 : Lucie Bertrand
----------------------------------------
Bonjour,
Je vous remercie pour votre réponse et vous prie de m'excuser pour le retard de ma réponse.
Je crois avoir trouvé le problème... une erreur de débutante je pense, le nom de schéma comportait un espace...
Merci encore à vous !
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=360902#p360902
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 : Nyldan
----------------------------------------
Bonjour,
je souhaiterais savoir si il est possible (mais j'ai un gros doute...) pour un trigger de ne pas se déclencher à l'ajout ou à la suppression d'une colonne.
J'ai un fonction qui modifie la colonne date_maj avec celle du jour actuel et un trigger qui le déclenche avant un insert ou un update. Mon souci est que quand une colonne est ajoutée à ma table le trigger met à jour toutes les lignes de la base (ce qui est normal). Il y a t-il un moyen de contourner celà?
Mes deux code:
-----------------
Code :
FUNCTION: schema.nom_fonction()
-- DROP FUNCTION IF EXISTS schema.nom_fonction();
CREATE OR REPLACE FUNCTION schema.nom_fonction()
RETURNS trigger
LANGUAGE 'plpgsql'
COST 100
VOLATILE NOT LEAKPROOF
AS $BODY$
BEGIN
new.date_maj := NOW();
RETURN NEW;
END
$BODY$;
ALTER FUNCTION schema.nom_fonction()
OWNER TO PUBLIC;
GRANT EXECUTE ON FUNCTION schema.nom_fonction() TO PUBLIC;
-------------------------------------------------------------------------------
-- Trigger: nom_trigger
-- DROP TRIGGER IF EXISTS nom_trigger ON schema.nom_table_ou_appliquer_trigger;
CREATE TRIGGER nom_trigger
BEFORE INSERT OR UPDATE
ON schema.nom_table_ou_appliquer_trigger
FOR EACH ROW
EXECUTE FUNCTION schema.nom_fonction();
-----------------
Merci pour vos retours
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=360790#p360790
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