Message posté par : barthsdee
----------------------------------------
Bonjour,
Je suis un débutant POSTGRE et je coince sur une jointure de table:
J'ai une table A incluant 3 colonnes
- Source1
- Source2
- Source3
Les valeurs de ces trois colonnes font référence à une autre table b à deux colonnes
- idsource
- libsource
Si je tente
From a
Left join b on a.source1=b.idsource
Je peux dès lors rapatrier l'information libsource dans ma base initiale
Mais je ne peux pas appliquer la même méthode pour les colonnes Source 2 ET 3.
Je dois peut être utilisé autre chose comme opérateur?
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=352587#p352587
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 : m_mclr (mauclair.margaux(a)gmail.com)
----------------------------------------
Bonjour à tous,
Je débute avec les triggers et j'ai du mal a comprendre la mise en forme de la requête...
J'ai deux tables, une de ponctuels relative à des places et une de polygone relative à des quartiers
J'aimerai pouvoir mettre à jour (lors de la création d'une place) le nom du quartier dans lequel elle se trouve
Dans ma table "place" j'ai le champ "id_quartier" qui est lié par une relation Fk à ma table "quartier" et ainsi je peux récupérer le "nom_quartier"
J'ai essayé le trigger suivant , mais malheureusement je n'obtiens pas le résultat escompté..
-----------------
Code :
CREATE OR REPLACE FUNCTION set_quartier()
RETURNS trigger AS
$BODY$
DECLARE
BEGIN
IF TG_OP = 'INSERT' OR TG_OP = 'UPDATE'
THEN UPDATE place
SET id_quartier = quartier.id_quartier
FROM quartier WHERE st_contains(quartier.geom, NEW.geom);
END IF;
return NEW;
END;
$BODY$
LANGUAGE plpgsql;
CREATE OR REPLACE TRIGGER set_quartier_trig
AFTER INSERT OR UPDATE
ON place
FOR EACH ROW
EXECUTE PROCEDURE set_quartier();
-----------------
Merci d'avance! :) Margaux
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=352550#p352550
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 : image95
----------------------------------------
Bonjour,
Je travaille avec PostgreSQL 13, postgis et qgis.
Je suis à la recherche d'un outil qui me permettrait de personnaliser l'import de fichiers shapefile au sein de tables DEJA existantes.
Le fichier source et la table cible ont des structures de champ différentes. L'idée est donc que l'outil permette de pouvoir sélectionner les colonnes du fichier source à importer dans la table. Et de pouvoir définir au sein de quelles colonnes de la table cible les données seront importées.
Si je ne dis pas de bêtise, les outils ogr2ogr ou encore shp2pgsql permettent l'import de fichiers shp au sein de tables dejà existantes. Mais ils ne permettent pas de personnaliser cet import. On ne peut pas selectionner les champs du fichier source et les champs destination de la table ?
Pour opter pour cette stratégie d'import, me faudrait il donc me diriger vers une solution mobilisant des fonctions SQL (postgresql), python?
Merci bien.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=351782#p351782
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 : Heisenberg77 (franck.dessertine(a)sdesm.fr)
----------------------------------------
Bonjour,
Je me permet de relancer le post, j'ai le même souci avec un export au format gml de tables postGis décrivant le PCRS.
Impossible de forcer mon export avec le standard du CNIG (CNIG_PCRS_v2.0.xsd).
Quelqu'un a-t-il une solution pour moi?
Merci d'avance.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=347710#p347710
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 : sporito
----------------------------------------
Bonjour,
Je souhaiterais mettre en place un trigger qui me permette, au moment de placer un point A parmi pleins de points B, de récupérer la valeur du champ "numero" de ma couche PointsB pour remplir mon champ "numeroB" de ma couche PointsA.
Je souhaiterais que ce trigger soit basé sur la condition du plus proche point B de mon point A.
J'ai essayé ça, mais ça ne fonctionne pas :/
J'ai dc un schéma que l'on appellera "SchemaPoint" avec 2 couches :
PointsA
-numeroB (à remplir)
PointsB
-numero
CREATE OR REPLACE FUNCTION "SchemaPoint".voisins()
RETURNS trigger
LANGUAGE 'plpgsql'
COST 100
VOLATILE NOT LEAKPROOF
AS $BODY$
BEGIN
select into new.numeroB numero, ST_distance(new.geom, PointsB.geom) AS voisin
FROM "SchemaPoint"."PointsA","SchemaPoint"."PointsB"
order by voisin
LIMIT 1;
return new ;
END;
$BODY$;
puis
CREATE TRIGGER update_numero
BEFORE INSERT OR UPDATE
ON "SchemaPoint"."PointsA"
FOR EACH ROW
EXECUTE FUNCTION "SchemaPoint".voisins();
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=352171#p352171
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 : diletant2
----------------------------------------
Bonjour,
dans postgresql/postgis, j'utilise fréquemment "comment on column" pour documenter le contenu des champs de tables (métadonnées).
j'ai remarqué que ces "commentaires" s'affichaient dans QGIS quand on ouvre une couche vecteur PostGIS > Propriétés > Champs > commentaires.
Trop bien !
Est-ce que vous sauriez s'il existe un moyen de conserver ces "commentaires" en exportant cette couche postgis en fichier (shp, geojson, gml,...) ?
J'ai fait plusieurs essais depuis QGIS, mais sans succès...
Merci
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=351998#p351998
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 : Sylvain M.
----------------------------------------
Salut à tous,
Un petit challenge pour un expert de SQL spatial (je sais qu'il y a des "joueurs" ici ;) )
Est-ce que vous verriez une requête SQL qui permettrait de passer de multipolygones de type "polygone découpés par des routes" à un "polygone non découpé par les routes" ?
La capture d'écran ci-dessous montre l'idée :
https://i.ibb.co/cT0N5B6/fusion.png (https://ibb.co/QmL6BgP)
(sâchant que c'est un cas "simpliste", mais que dans la réalité des multipolygones, il y a aussi des polygones à trous, et que ces trous doivent être conservés au dessus d'une certaine surface.
C'est jouable en SQL ?
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=351789#p351789
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 : chowchow (dchambret(a)atd16.fr)
----------------------------------------
Bonjour,
Quand je créé ma donnée le srid est en 4326. Et je voudrais qu il soit à 0.
Pour cela j 'ai fais une fonction trigger :
CREATE OR REPLACE FUNCTION atd16_patrimoine_foncier.f_srid()
RETURNS trigger
LANGUAGE 'plpgsql'
COST 100
VOLATILE NOT LEAKPROOF
AS $BODY$
BEGIN
NEW.the_geom := ST_SetSRID(the_geom,0);
END;
$BODY$;
ALTER FUNCTION atd16_patrimoine_foncier.f_srid()
OWNER TO sditecgrp;
GRANT EXECUTE ON FUNCTION atd16_patrimoine_foncier.f_srid() TO sditecgrp;
GRANT EXECUTE ON FUNCTION atd16_patrimoine_foncier.f_srid() TO PUBLIC;
La fonction est acceptée mais lors de l'intégration d'une nouvelle j'ai un message d'erreur :
ERROR: control reached end of trigger procedure without RETURN
CONTEXT: PL/pgSQL function atd16_patrimoine_foncier.f_srid()
État SQL : 2F005
Qu est ce que je dois modifier dans ma fonction pour modifier le Srid lors de la création de l'objet ?
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=351804#p351804
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 : Géorom
----------------------------------------
Bonjour à tous,
Je débute avec les triggers et j'avais une question sur les connections avec les event trigger. Mon problème est le suivant. J'ai un trigger qui me permet de mettre à jour certaines colonnes dans des tables. Ces colonnes sont souvent redondantes sur beaucoup de tables et je créé donc le même trigger sur chaque table.
J'aimerai automatiser ça dans la mesure du possible. J'avais dans l'idée de faire un event_trigger qui à chaque création de table me créé ce trigger spécifique. Le problème c'est comment faire pour qu'il me récupère le schéma et le nom de la table créée pour le mettre dans le trigger.
Je sais pas si je suis très clair.
Merci à vous.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=351829#p351829
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 : Vincent87
----------------------------------------
Bonjour,
Je travaille actuellement sur une BD POSTGRESSQL 10.20 / POSTGIS 3.0
Je recontre un soucis en souhaitant modifier le type d'une colonne dans une table.
Je tape pour cela la commande :
-----------------
Code :
ALTER TABLE matable ALTER COLUMN macolonne VARCHAR (4);
-----------------
et j'ai en retour le message suivant :
-----------------
Citation :
ERROR: ERREUR: erreur de syntaxe sur ou près de « VARCHAR »
LINE 3: ...ER TABLE matable ALTER COLUMN macolonne VARCHAR (4...
-----------------
J'ai l'impression que VARCHAR n'est pas "reconnu" dans ma commande.
Auriez vous une idée de où cela pourrait provenir ?
Merci à vous pour votre aide.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=351741#p351741
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