Message posté par : image95
----------------------------------------
Bonjour,
Je voulais comparer un géotraitement fait sur qgis et postgis. Il s'agit d'une union de 2 couches vecteur polygonales volumineuses.
Le traitement sur Qgis a pris 1h30 sur une station bien équipée (32 Go de RAM). Sur postgis, je n'ai jamais pu faire le traitement.
Voici la requête testée :
-----------------
Code :
create table public.union as
select st_union(ST_Forece2D(mos.geom), ST_Forece2D(bd_topo_bat.geom))
from public.mos, public.bd_topo_bat
-----------------
Voici le message d'erreur :
-----------------
Code :
ERROR: could not extend file "base/19370/76968.57" with FileFallocate(): No space left on device HINT: Vérifiez l'espace disque disponible. ERREUR: could not extend file "base/19370/76968.57" with FileFallocate(): No space left on device SQL state: 53100
-----------------
Le message d'erreur annonce un probleme de fichier log temporaire. Dans le fichier postgresql.conf, j'ai édité le fichier en passant la valeur de log_temp_files = 10240 .La valeur par défaut était -1. J'ai fait cette action en m'inspirant de ce post : https://stackoverflow.com/questions/50833992/postgresql-no-space-left-on-de….
Si une personne pense pouvoir m'aider. Merci.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=373477#p373477
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 : LucieBdD (lucie.duranton(a)balconsdudauphine.fr)
----------------------------------------
Bonjour,
Impossible de trouver la réponse à ma question sur le Net.
PostgreSQL 14 :
Liste des tables utiles à mon travail :
* t1 (chp1 integer, [...])
* t2 (chp2 PK, libelle varchar)
* GPKG (chp_gpkg varchar, [...])
J'ai une table vide t1 avec un champ "chp1" de type integer, et dont la clé étrangère fait référence à la clé primaire "chp2" d'une table de référence t2.
Je veux mettre à jour "chp1" à partir du champ "chp_gpkg" d'un GPKG et récupérer les valeurs non pas de "chp_gpkg", mais celles du "chp2" de la table t2 via une jointure du type "chp_gpkg = t2.libelle".
J'ai un peu tout tenté, mais je ne suis vraiment pas une experte des triggers.
Ça donnerait qqch du genre :
-----------------
Code :
CREATE OR REPLACE FUNCTION myfunc()
RETURNS trigger
LANGUAGE plpgsql
AS $function$
BEGIN
SELECT t2.chp2
INTO NEW.chp1
FROM t2
WHERE t2.libelle = NEW.chp1; -- comment appeler mes valeurs en entrée (input depuis le GPKG) dans mon script ? Est-ce que NEW.chp1 est correct??
RETURN NEW;
END;
$function$
;
CREATE TRIGGER tr_myfunc BEFORE INSERT ON t1
FOR EACH ROW EXECUTE FUNCTION myfunc() ;
-----------------
Rien à faire, quand j'essaye de faire même manuellement un :
-----------------
Code :
INSERT INTO t1 (chp1)
VALUES ('blablabla');
-----------------
PostgreSQL me renvoie une erreur comme quoi j'essaye d'insérer du varchar dans un champ de type integer, comme s'il ne prenait pas en compte mon trigger...
Une idée ?
Merci à vous.
Bien cordialement,
Lucie
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=372650#p372650
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 : jeremy SERIEYE
----------------------------------------
Bonjour à tous,
Je cherche à importer un flux WFS en BDD postgres.
J'arrive à ce que je souhaite la BD Topo cependant impossible avec le WFS du GPU (https://wxs-gpu.mongeoportail.ign.fr/externe/39wtxmgtn23okfbbs1al2lz3/wfs).
-----------------
Code :
DROP SERVER IF EXISTS fdw_ogr_ign_gpu CASCADE;
CREATE SERVER fdw_ogr_ign_gpu FOREIGN DATA WRAPPER ogr_fdw
OPTIONS (
datasource 'WFS:https://wxs-gpu.mongeoportail.ign.fr/externe/39wtxmgtn23okfbbs1al2lz3/wfs?service=WFS&request=GetCapabilities',
format 'WFS',
config_options 'GDAL_HTTP_UNSAFESSL=YES'
);
CREATE SCHEMA IF NOT EXISTS ign_gpu;
IMPORT FOREIGN SCHEMA ogr_all
FROM SERVER fdw_ogr_ign_gpu
INTO ign_gpu
OPTIONS (
-- mettre le nom des tables en minuscule et sans caractères bizares
launder_table_names 'true',
-- mettre le nom des champs en minuscule
launder_column_names 'true'
)
;
SELECT foreign_table_schema, foreign_table_name
FROM information_schema.foreign_tables
WHERE foreign_table_schema = 'ign_gpu'
ORDER BY foreign_table_schema, foreign_table_name;
SELECT *
FROM ign_gpu.wfs_du_doc_urba
LIMIT 1;
-----------------
Lors du dernier SELECT ci-dessus j'ai le code erreur suivant :
ERROR: GDAL AppDefined [1] HTTP error code : 403
ERREUR: GDAL AppDefined [1] HTTP error code : 403
État SQL : XX000
Si certains connaissent la solution, je suis preneur !
Merci par avance.
Jérémy
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=361981#p361981
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 : arobert01
----------------------------------------
Bonjour,
Dans le cadre d'une refonte de notre base de données relative à la gestion des déchets, nous cherchons à modifier de bout en bout son architecture. Cette base alimente notre site des déchets à destination des habitants, qui peuvent notamment bénéficier d'une carte interactive avec les différents points d'apports, mais aussi et surtout un outil de recherche à l'adresse. Le citoyen peut écrire son adresse et voir les jours de collecte et de quel service de collecte il est bénéficiaire.
Notre objectif est de mettre sur patte une base 100% relationnelle, avec de nombreuses clés de liaisons entre les tables. L'idée serait d'avoir une table centrale contenant tous les id et faisant référence aux adresses et aux modes de collectes dans d'autres tables.
Le problème est que pour créer des relations avec la Base Adresse Nationale, il faut des adresses numérotées. Or, toutes les adresses de nos conteneurs ne le sont pas (et les problèmes sont bien plus nombreux...).
J'aimerais avoir des retours (et/ou conseils) d'expérience de géomaticiens travaillant en collectivité locale et ayant une base similaire.
Vous remerciant par avance et bonne journée
PS : nous sommes sur une base Postgresql 15
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=372363#p372363
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 : Marciove
----------------------------------------
-----------------
MirjanaEdzima1 écrit :
Bonjour à Tous,
J'ai une question sur Lizmap.
Quand j'essaye depuis le plugings de paramétrer ma couche qui provient du BDD PostgreSql et qui possède une authentification je recois ce message d'alerte:
Utilisateur et/ou mot de passe PostgreSQL
En solution ils proposent ceci:
Modifiez votre configuration de couche en forçant l'enregistrement de l'utilisateur et du mot de passe
Sauf que ni sur lizmap ni dans mes propriétés je ne vois comment accéder à cette solution.
Auriez vous une idée?
Merci d'avance.
-----------------
Bonjour,
Il semble que Lizmap ne permette pas de gérer l'authentification directement via l'interface. Vérifiez la configuration du projet ou essayez de définir les informations d'authentification dans les paramètres du plugin. Consultez aussi les logs pour plus de détails
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=371983#p371983
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 : felixdm (felix.et.cecile(a)free.fr)
----------------------------------------
Bonjour à tous,
Je cherche à faire de la topologie en base.
Après avoir corrigé la topologie de mon réseau (multilinestring), je souhaiterais maintenant mettre en place des règles qui me permette la mise à jour automatique de mon réseau de lignes lors du déplacement d'un ouvrage ponctuel.
la requète suivante ne fonctionne pas :
-----------------
Citation :
UPDATE ma_table_multiligne
SET st_endpoint(st_linemerge(geom))
=
select geom from ma_table_point
where id=...
-----------------
Renvoie une erreur de syntaxe à la première parenthèse.
Merci pour votre aide et meilleurs voeux.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=371155#p371155
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 : Andasolo (josedelcarmenchocoj(a)yahoo.es)
----------------------------------------
Bonjour,
je souhaite insérer des données depuis une table "cana" (couche SIG contenant les collecteurs du réseau d'assainissement, que j'utilise avec QGIS et Lizmap) vers une table "anomalies" sans géométrie, le tout en utilisant PostgreSQL v17. pour cela j'ai créée cette fonction:
-----------------
Code :
CREATE OR REPLACE FUNCTION f_anomalie_cana()
RETURNS trigger
LANGUAGE 'plpgsql'
COST 100
VOLATILE NOT LEAKPROOF
AS $BODY$
BEGIN
INSERT INTO
anomalies(id_objet,type_objet,type_anomalie,date,heure,anomalie)
select tt.objectid,
(select
t.table_name
from information_schema.tables t
inner join information_schema.columns c on c.table_name = t.table_name and c.table_schema = t.table_schema
where c.column_name = 'anomalie' and t.table_name ='cana'),
case
when tt.anomalie=1 then 'effondrement'
when tt.anomalie=2 then 'racines'
when tt.anomalie=3 then 'fissures'
when tt.anomalie=6 then 'réparée'
when tt.anomalie=7 then 'déplacements d''assemblage'
when tt.anomalie=8 then 'depot'
when tt.anomalie=9 then 'sable'
when tt.anomalie=10 then 'eau stagnante'
when tt.anomalie=11 then 'perforation'
when tt.anomalie=12 then 'eau claire parasite'
when tt.anomalie=17 then 'poinconnement'
when tt.anomalie=18 then 'curage'
else null
end,
current_date,
current_time,
tt.anomalie
from cana tt where tt.anomalie = new.anomalie;
RETURN new;
END;
$BODY$;
et le trigger:
CREATE OR REPLACE TRIGGER trg_anomalie_cana
AFTER INSERT OR UPDATE
ON cana
FOR EACH ROW
EXECUTE FUNCTION f_anomalie_cana();
-----------------
mon problème survient au moment d’insérer des valeurs dans la table "anomalies", puisque la fonction me duplique des valeurs déjà existantes:
objectid,type_objet,id_objet,anomalie,type_anomalie,update_origine,heure,date
51,cana,15382,2,racines,sigadmin,15:32:33.874172+01,2025/01/24
52,cana,31982,2,racines,sigadmin,15:32:33.874172+01,2025/01/24
53,cana,15382,1,effondrement,sigadmin,16:00:10.671524+01,2025/01/24
54,cana,15382,1,effondrement,sigadmin,16:00:22.865349+01,2025/01/24
55,cana,31982,1,effondrement,sigadmin,16:00:22.865349+01,2025/01/24
56,cana,15386,2,racines,sigadmin,"08:53:38.306502+01",2025/01/27
57,cana,15387,2,racines,sigadmin,"08:53:59.924655+01",2025/01/27
58,cana,15386,2,racines,sigadmin,"08:53:59.924655+01",2025/01/27
en vous remerciant par avance de toute votre aide possible (-:
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=371402#p371402
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 : Nicolas Ribot
----------------------------------------
Bonjour,
Je vous conseille plutot de passer par un fichier pgpass pour stocker les mdp de postgresql: https://www.postgresql.org/docs/17/libpq-pgpass.html
Plus sûr, plus facile à gérer.
Nicolas
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=371326#p371326
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 : felixdm
----------------------------------------
Bonjour,
Pour continuer dans ma démarche topologique, je souhaiterais maintenant segmenter une lineString en ajoutant un noeud en fonction de la position d'un point.
ST_Segmentize permet de segmenter une ligne, mais pour des segments qui mesure plus d'une certaine longueur. Hors j'ai besoin que le noeud se créé à un endroit bien défini par la position du point.
Je pense qu'il faudrait passer par :
ST_LineLocatePoint
et
ST_LineInterpolatePoint.
Si vous avez des idées je suis preneur.
Bonne journée à tous
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=371193#p371193
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 travailler avec postgresql 14.
J'ai une table 'metadata' avec 2000 enregistrements. Au sein de cette table, il y a notamment un champ 'id' et un champ 'data_c' contenant du XML.
Mon but serait de pouvoir extraire pour tous les enregistrements les valeurs du champ 'data_c' que j'ai mis volontairement en gras ci dessous. Je souhaite donc récupérer les valeurs du 'cit:name' :
-----------------
Code :
<mri:pointOfContact>
<cit:CI_Responsibility>
<cit:role>
<cit:CI_RoleCode codeList="http://standards.iso.org/iso/19115/resources/Codelists/cat/codelists.xml#CI…" codeListValue="owner" />
</cit:role>
<cit:party>
<cit:CI_Organisation>
<cit:name>
<gco:CharacterString>Agence de l'Eau Artois-Picardie</gco:CharacterString>
</cit:name>
<cit:contactInfo>
<cit:CI_Contact>
-----------------
Lorsque je fais un test :
-----------------
Code :
SELECT id, unnest(xpath('./cit:name/text()', data_c::xml) AS organism
FROM public.metadata;
-----------------
j'obtiens
-----------------
Code :
ERROR: syntax error at or near "AS"
LINE 1: ...LECT id, (xpath('./cit:name/text()', data_c::xml) AS organis...
^
SQL state: 42601
Character: 53
-----------------
Si une personne pense pouvoir m'aider ? Un grand merci.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=370230#p370230
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