Message posté par : felixdm
----------------------------------------
Bonjour,
Je souhaiterais mettre une réplication de ma base master sur serveur interne vers un slave en DMZ.
L’objectif étant que des tiers puissent visualiser mes données mais aussi qu'ils déposer des données dans un schéma spécifique de ce slave.
J'ai pensé à la réplication bi-directionnel.
Avez vous déjà réalisé une telle chose.
Merci a vous pour votre assistance.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=374284#p374284
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,
Avec postgis, j'ai un script SQL qui contient une section dédiée à un geotraitement d'aggrégation.
A partir de plusieurs données sources qui contiennent chacune un id unique, cette aggregation récupère dans une nouvelle table une aggregation des id pour chaque recouvrement/superposition de polygones :
Ci dessous, l'extrait du script :
-----------------
Code :
array_agg(l.id_unique) as data_id_ori
-----------------
Pour info, la colonne en sortie est de type numeric.
Cela fonctionne Mais j'ai noté de petites limites.
Un extrait ci dessous du résultat :
| |
| data_id_ori |
--------------------------|
| 27, 26, 17, 6, 1, 2, 15|
| |
| |
Comment pourrait on ordonner cette liste dans un ordre croissant?
Plus important / problématique. Lorsqu'on requete sur ce champ via qgis. Et qu'on souhaite par exemple selectionner uniquement les valeurs entités pour lesquelles data_id_ori = 1
Qgis selectionne bien les valeurs 1 mais également les chiffres 1 composant les 17, 15...
Est ce que la limite vient de la fonction d'aggregation (array_agg).
Et/ou faut il forcer en sortie un type de champ spécifique ? Comme tableau de nombres entiers et non le type postgresql numeric comme ca semble etre le cas par defaut ?
Un grand merci.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=374088#p374088
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 : SylvaDEES
----------------------------------------
Bonjour,
merci pour votre réponse et votre contribution, c'est en effet un bon moyen d'automatiser la rédaction de la requête.
Ma table stocke des centaines de milliers de points de relevés topographiques sur lesquels je dois automatiser un maximum de contrôles qualité de la donnée : je vais créer ou ajouter une procédure stockée sur le schémas concerné. :D
Question de béotien en programmation sql-psql, mais n'y a-t-il pas moyen d'obtenir le même résultat avec un programme- fonction psql à base de curseurs ( open > loop > fetch > end loop > close > End ) ?
Géomatiquement.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=373937#p373937
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
----------------------------------------
J'ai testé avec les parcelles de Haute Garonne (1 343 528 polygones) vs 2 autres couches bidon que j'ai créées dans QGIS.
Au final layer_union (union dans une seule table des 3 tables d'input) contient 1 343 534 polygones.
La création de la table res:
[2025-07-08 10:41:45] 1,391,580 rows affected in 1 m 24 s 150 ms
La création de la table d'association donnant pour chaque polygone de résultat tous les polygones de layer_union concernés:
[2025-07-08 10:44:04] 1,380,393 rows affected in 10 s 771 ms
Plutôt performant donc. La perf va dépendre de la complexité des couches d'entrées (notamment, si vous avez de gros polygones étendus, il faut mieux les découper en amont avec st_subdivide (cf votre thread précédent)
Nicolas
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=373671#p373671
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,
Suite à mon précédent message, je me permets d'en rédiger un nouveau afin de préciser/clarifier mon besoin. Merci aux personnes qui avaient pris le temps de me répondre. Grace à elles, j'ai pu avoir des premiers éléments de réponse.
Je travaille avec qgis et postgis. En entrée, j'ai 25 couches polygonales sur un grand territoire(intercommunalité). Dont une donnée très volumineuse (1 million d'objets). Les 24 autres sont beaucoup plus légères (au maximum une centaines d'objets).
Pour information, je précise que certaines de ces données polygonales sont en mode "entités multi parties" et d'autre en mode "morceaux/entités mono parties". J'imagine que celà peut avoir in fine une petite incidence sur la méthode/résultat.
Ces 25 fichiers .shp polygonaux ont des structures de données très variables, non homogènes/non harmonisées. Chaque couche a un champ "data_id" qui permet de définir pour chaque entité son appartenance à la couche. Par exemple, toutes valeurs du champ "data_id" de la première couche sont de valeur '1'. Pour la 2ème couche, les valeurs du champ sont '2', etc.
Mon objectif serait de pouvoir m'inspirer du moins en partie du geotraitement existant Qgis nommé Union multiple :
https://docs.qgis.org/3.40/fr/docs/user_manual/processing_algs/qgis/vectoro…
Je colle une capture écran de la doc Qgis.
Mon but est d'avoir in fine un fichier:
- qui serait le résultat des croisements des 25 données d'entrée. Pour reprendre les termes de la doc qgis, que le traitement vérifie les chevauchements entre les entités au sein des 25 couches et crée des entités distinctes pour les parties qui se chevauchent et qui ne se chevauchent pas.
Ce geotraitement "union multiple" me convient pour les parties où il n'y pas de chevauchement (a, NULL ; b, NULL; c, NULL).
Pour les parties où il y a un chevauchement, le géotraitement union qgis créées autant d’entités de chevauchement identiques qu’il y a d’entités qui participent à ce chevauchement. En soi celà ne me dérange pas. Mais vu qu'in fine J'aimerais que dans le fichier résultat, un champ puisse permettre, pour chaque entité, de récupérer la liste des couches d'entrée qui participent/contribuent à cette entité résultat (Dans un but de récupérer l'origine/la source des données). Je me disais qu'il serait peut être préférable qu'il y ait qu'une seule entité créée par zone de chevauchement ?
- J'aimerais que dans le fichier résultat, un champ puisse permettre, pour chaque entité, de récupérer la liste des couches d'entrée qui participent/contribuent à cette entité résultat. Dans un but de récupérer l'origine/la source des données.
- Idéalement, un champ qui permette de récupérer le nombre (COUNT) de couches qui participent à cette entité (a minima 1 couche, au max 25 couches)
-Concernant cette fois la partie attributs/champ non géométrique, j'aimerais pouvoir spécifier la sélection/définir la liste champs que je souhaite vouloir conserver in fine. Je ne souhaite pas conserver la totalité, une partie des champs pour chacune des 25 couches d'entrée.
J'espère être suffisamment clair. J'imagine que cela n'est pas si facile.
J'imagine qu'il est recommandé de faire ce traitement sous postgis plutot que qgis ? Je peux si besoin importer mes 25 fichiers shp dans un bdd postgis. J'imagine aussi qu'il est important d'avoir à l'esprit que le mode "entités multi parties" / "morceaux/entités mono parties"
des couches d'entrée peut influer sur le résultat. Si je pars sur une requête postgis, je me disais qu'il aurait pu être intéressant de forcer le fait que toutes les entités soient en mode mono parties (avec la fonction postgis 'st_dump' ?).
Si une personne pense pouvoir m'aider? Un grand merci.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=373658#p373658
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 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