Message posté par : sur_le_tas (maxime.carette(a)atmo-grandest.eu)
----------------------------------------
Un grand merci!!! Ça fait des heures que je patauge pour comprendre ce qui se passe.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=358620#p358620
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,
J'ai des données dans une colonne, qui sont une concaténation de valeurs séparées par des virgules.
Je souhaite créer autant de lignes que de valeur dans cette colonne.
J'y arrive bien avec PostGreSQL avec une requête de ce type :
-----------------
Code :
trim(unnest(string_to_array(monchamp, ',')))
-----------------
Mais j'aimerais bien le faire directement avec les couches virtuelles de QGis, donc avec SQLite, sans passer par PostGreSQL.
J'ai testé* avec split(monchamp), mais ça n'a pas marché.
Merci pour vos conseils :)
* ça m'avait été proposé par ChatGPT, à "qui" j'avais posé la question et qui m'avait répondu "Notez que la fonction "split" est disponible uniquement pour les versions de SQLite 3.31.0"
Pourtant, un select sqlite_version(); depuis les couches virtuelles m'indique que je suis en "3.39.4", donc théoriquement OK pour "split()".
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=358486#p358486
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 : Romary Munier
----------------------------------------
Bonjour,
Je souhaite réaliser cette requete sur une base MSSQL (pour transférer sur une base pgsql ensuite). Voici la commande :
-----------------
Code :
\ogr2ogr -f "PostgreSQL" PG:$NMchc -nln "a_pcf" -f MSSQLSpatial "MSSQL:server=MonServeur;database=mabase;UID=LectID;PWD=LectID_mdp" -sql "select top 100 * from mabase.dbo.tb_pfor"
-----------------
Cela fonctionnait encore jusqu'en septembre 2022 (vu dans les log). Mais maintenant j'ai :
-----------------
Citation :
Unable to open datasource `MSSQL:server=MonServeur;database=mabase;UID=LectID;PWD=LectID_mdp' with the following drivers.
-----------------
Merci de votre aide.
Romary
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357965#p357965
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 : GEOFFROY DETRY
----------------------------------------
Bonjour,
Je dispose d’une table de polygone [z_pop] dans une BD PostGIS. Les géométries des polygones peuvent contenir des artefacts sous forme de microlignes dues à des erreurs de numérisation ou de groupement.
Je cherche à identifier les polygones présentant ces erreurs, en récupérant l’identifiant [agr_id] du polygone et, si possible, la géométrie de la microligne concernée ou des vertex constitutifs. L'identification suffit. Je ne cherche pas à solutionner les problèmes topologiques qui feront l’objet d’une révision manuelle.
Vous trouverez un jeu de données test [z_pop] postgis en attaché, avec 3 polygones présentant des artefacts. Cette table peut être restaurée dans le schéma Public
Voici les traitements que j'ai réalisé pour l'instant.
1. Générer une sortie qui présente les vertex via [ST_DumpPoints] se trouvant complétement inclus dans leur polygone d’appartenance
-----------------
Code :
WITH cte_1 as ( SELECT agr_id, (ST_DumpPoints(geom)).geom AS pt FROM z_pop),
geom_envelop AS ( SELECT agr_id as id_pol, geom AS geom_ext FROM z_pop)
SELECT row_number() over w as gid, pt FROM geom_envelop JOIN cte_1
ON ST_WITHIN (geom_ext, pt)
WINDOW w AS (ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
-----------------
Cette méthode ne marche pas car il faudrait récupérer les polygones sans les microlignes. Or, un simple dump sur les polygones ne renvoie qu'une seule géométrie [Polygone] et ne permet pas d'identifier les vertex totalement compris dans l’aire d’intérêt.
2. J'ai réalisé la méthodologie suivante
-----------------
Code :
--1. Explosion des polygones en tronçons
WITH geom_transf AS (
SELECT agr_id, ST_MakeLine(lag((pt).geom, 1, NULL) OVER (PARTITION BY agr_id ORDER BY agr_id, (pt).path), (pt).geom) AS geom_line
FROM (SELECT agr_id, ST_DumpPoints(geom) AS pt FROM z_pop) as dumps
),
--2. Génération de l’enveloppe externe des polygones
geom_envelop AS (
SELECT agr_id as id_pol, ST_EXTERIORRING((st_dump(z_pop.geom)).geom) AS geom_ext FROM z_pop
)
-- 3. Croisement du résultat de 1) et du résultat de 2) afin d’individualiser les lignes qui ne s’intersectent pas avec l’enveloppe extérieure.
SELECT row_number() over w as gid, geom_line as geom_line_erreur
FROM geom_envelop JOIN geom_transf ON NOT st_intersects(geom_ext, geom_line) AND agr_id=id_pol
WINDOW w AS (ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
-----------------
Certaines lignes, mais pas toutes, sont identifiées. Le résultat est donc assez moyen.
En suivant cette voie, il faudrait réaliser un [ST_EXTERIORRING] puis une opération de reconstitution des polygones [ST_Polygonize] mais je crains un traitement trop lourd (environ 65.000 polygones dans le jeu de données)
Quelqu’un aurait-il une méthode plus efficace et moins couteuse ou aurait déjà réalisé un traitement similaire ?
Merci d'avance
----------------------------------------
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=357915#p357915
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 : Léandre Béron
----------------------------------------
Bonjour,
Dans le cadre du développement d'une stratégie d'administration de données pour une collectivité, je suis tombé sur la méthode d'identification LDAP à partir de postgreSQL.
Aujourd'hui non connecté à notre LDAP, nous utilisons actuellement le raisonnement suivant :
- comptes pour le service : sig_admin (droit propriétaire sur tout (non superuser)). 3 à 4 utilisateurs peuvent utiliser ce compte pour travailler sur la BDD. D'autres comptes du service devraient suivre, comme un sig_edit et un sig_read avec des privilèges différents.
- 1 compte par utilisateur métier
Au niveau des droits, nous raisonnons par groupe de service de la collectivité, avec 2 types de groupe :
- [SERVICE]_R --> Uniquement de la lecture
- [SERVICE_RW] --> Lecture & Ecriture
Chaque utilisateur est donc présent dans le ou les groupes concernés.
Plusieurs questions se posent donc si nous passions à une authentification LDAP :
Premièrement, cela signifie visiblement que le user doit être DANS PostgreSQL ET dans l'AD : Peut-on conserver un compte sig_admin qui n'est pas dans notre AD uniquement pour notre accès en tant qu'administrateur (4 personnes différentes) ? les rôles pg_ de base ne sont visiblement pas impacté eux, mais les autres ?
Egalement, selon notre gestion actuelle (les groupes ont des accès/droits, dans lesquels des utilisateurs en font partie), comment cela se passerait-il avec une authentification LDAP ? Nous allons devoir ajouter les utilisateurs concernés en ayant EXACTEMENT le même nom dans l'AD et dans PostGreSQL, mais qu'indiquons-nous dans l'item "password" lors de la création côté PostGreSQL ? (Nous n'avons pas vocation à mettre toute l'AD dans PostgreSQL, donc nous n'utiliserons pas l'outil ldap2pg)
Ensuite, comment cela va se passer pour les groupes ? On les conserve dans PostGreSQL et lors de l'authentification de l'utilisateur, on va checker le password via l'AD et, une fois connecté, les groupes [SERVICE]_R et [SERVICE]_RW vont fonctionner de la même manière (bien que ces groupes n'existent pas dans notre AD mais uniquement les utilisateurs qui seraient rattachés à ce/ces groupe(s) côté postgres ?
Je n'ai malheureusement pas trouvé d'exemples qui évoquaient cela pour répondre à mes questions.
En vous remerciant,
Léandre BERON
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=358149#p358149
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 : Sig_Passy
----------------------------------------
Bonjour,
Je souhaite lancer sur une table pour la même colonne une requête REPLACE pour modifier plusieurs valeurs dans cette colonne.
Je m'explique : J'ai MA.TABLE qui contient une COLONNE qui contient des valeurs "non intelligibles" type 00,01,02,03
J'ai en parallèle un petit tableau qui m'indique que 00 = Valeur_1 (Valeur_1 étant une données intelligibles) et cela pour toutes mes valeurs.
Je voudrais via une seule requête faire la bascule de 00 vers Valeur_1,de 01 vers Valeurs_2, etc.
J'ai écris cette requête :
-----------------
Code :
UPDATE MA.TABLE
SET
COLONNE = REPLACE(COLONNE, '00', 'Valeur_1'),
COLONNE = REPLACE(COLONNE, '01', 'Valeur_2'),
COLONNE = REPLACE(COLONNE, '02', 'Valeur_3'),
COLONNE = REPLACE(COLONNE, '03', 'Valeur_4')
-----------------
Mais ça ne marche pas. Et je n'arrive pas à trouver de solution.
Est ce que l'un d'entre vous pourrait m'aider ?
Merci par avance. ;-)
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=358018#p358018
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 : Lahie
----------------------------------------
Bonjour,
J'aimerais lister les câbles qui se trouvent sur un endroit ou l'on clique sur mon application web un peu comme sur Qgis. La requête que j'ai essayé ressemble à ceci:
SELECT * FROM cable WHERE st_dwithin(st_geomfromtext('POINT(514793.2 801087.5)',29702),geom,0.1);
Note: J'ai essayé plusieurs fonctions de postgis mais j'ai les constats suivants:
- ST_Overlaps : s'il y avait eu de fausse manipulations sur l'une des couches qui se superposent où si la traçage de câble qui va être ajouté ne sera pas la même que sur laquelle il va superposé , il y a risque que d'autres données ne s'affichent pas.
- ST_Intersects : il affiche aussi le câble qui ne se trouvent pas sur l'endroit cliqué mai qui s'interesecte bien sur le câble cliqué.
- ST_Within : un peu le même souci que st_overlaps.
- ST_Touches : Il y a également des données qui ne s'affichent pas aussi.
C'est pourquoi, j'ai utilisé ST_DWithin qui m'affiche tous les câbles à environ 0.1m de l'endroit où j'ai cliqué et qui m'affiche bien tous les données correspondantes.
De ce fait, j'aurais aimé avoir un retour de votre part, s'il y a d'autres manières de faire les choses proprement ou si vous avez constaté l'inconvenient de ma requête.
Merci beaucoup pour votre aide.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357896#p357896
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 : Robin.k
----------------------------------------
Bonjour,
J'utilise QGIS avec des bases Postgres et je débute avec l'outil.
J'ai récemment eu le message suivant :
FATAL: les emplacements de connexions restants sont réservés pour les connexion
superutilisateur non relatif à la réplication
Il semblerait qu'il y ai trop de connections sur la base Postgres. J'ai donc sélectionné mon serveur dans PG ADMIN et dans l'onglet sessions, j'avais effectivement de nombreuses sessions actives ou inactives alors même que personne ne travaillait actuellement sur les bases.
Est-ce que ces connections actives/inactives peuvent effectivement poser problème ? Et si oui, est-ce qu'il y a une manipulation à faire pour qu'elles se déconnectent automatiquement quand plus personne n'utilise les bases ?
----------------------------------------
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=356396#p356396
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 : 3thes
----------------------------------------
Bonjour,
Sous postgis, j'aimerais savoirs'il est possible de créer des clusters de points relativement proches en donnant en paramètre le nombre maximum de points par cluster. J'ai regardé les fonctions st_ClusterKmeans et ST_ClusterDBSCAN, mais ces fonctions ne répondent pas à mes besoins. Merci d'avance pour vos réponses.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357742#p357742
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 : OnesP
----------------------------------------
Bonjour,
je recherche une solution de création de rapports PDF au format A4, qui se base sur une BDD PostgreSQL, qui contienne des paragraphes, graphes et cartes sur plusieurs pages.
Avez-vous des solutions (j'ai trouvé pas mal de vieux posts, mais j'aimerais voir s'il y a des solutions plus à jour)?
En sachant que l'on a ni ArcGis, ni FME. J'avais vu iReport pour JasperReport, PowerBi de Microsoft ou encore Telend...
Je suis preneur de retour d'expérience, car ces solutions demandent un certain investissement pour la prise en main!
Merci
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=357301#p357301
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