#1 Tue 09 January 2024 11:59
- barthoum
- Juste Inscrit !
- Date d'inscription: 10 Jun 2013
- Messages: 5
Postgre , géométrie et Power BI
Bonjour,
J'ai d'un coté une base Postgre, de l'autre Power BI, 'ai réussi à faire la liaison entre les deux (via ODBC)... les graphes et tableaux de bord fonctionnent...
Je voudrais cependant tester la fonction "carte" à partie d'une de mes vues Postgis.
1er constat: la colonne de géométrie est en hexadécimal sur une colonne( probablement en WGS 84 Pseudomercator (EPSG 3857)
Je travaille actuellement sur une couche point
Power BI semble digérer le WGS 84 (epsg 4326). comment faire pour que ma vue intègre en plus de l'existant, des colonnes de géométries compatibles Power BI et à la bonne projection? via le code de la couche, via un script??
Dans le cas où je souhaite étendre l'expérience à une couche polygone , la conversion est t'elle possible. doit on passer par le centroïde du polygone, et si oui, comment ?
Merci pour vos retours
Hors ligne
#2 Tue 09 January 2024 12:18
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1553
Re: Postgre , géométrie et Power BI
Bonjour,
Oui le type geometry de postgis est encodé en binaire dans les colonnes geo. Il y a des fonctions pour convertir vers d'autres formats (wkt, wkb, geojson, kml, etc.).
Je ne connais pas powerbi et sa partie carto, mais pour ajouter une autre colonne geométrique à une table ou une vue, vous pouvez faire comme ceci.
Code:
-- pour une table: alter table matable add column geom_for_bi geometry(point, 4326); update matable set geom_for_bi = st_transform(geom, 4326); -- pour une vue basée sur la table matable par ex: create or replace mavue as select id, geom, st_transform(geom, 4326) as geom_for_bi from matable;
Pour la partie polygone, tout dépend du support bi pour les objets geo: si les polygones sont supportés ca devrait marcher.
Nicolas
Hors ligne
#3 Tue 09 January 2024 13:23
- barthoum
- Juste Inscrit !
- Date d'inscription: 10 Jun 2013
- Messages: 5
Re: Postgre , géométrie et Power BI
Merci pour ce retour,
en modifiant le code de la table avec ta proposition, j'obtiens...
ERROR: Input geometry has unknown (0) SRID
SQL state: XX000
J'en déduis que le SRID n'a pas été défini pour cette table (ça doit se faire coté client et géoserver)
Voici un exemple de valeur pour ma colonne de géométrie 010100000096C078257AD9F040EADBAF8B721C5541
J'ai essayé de patcher la chose
st_transform(geom, from_proj 3857 , to_srid 4326 ) AS geom_for_bi
la valeur de la géométrie reste en hexadécimal...
mais rien n'y fait
Dernière modification par barthoum (Tue 09 January 2024 13:33)
Hors ligne
#4 Mon 15 January 2024 10:32
- Donnybrook
- Juste Inscrit !
- Date d'inscription: 15 Jan 2024
- Messages: 1
Re: Postgre , géométrie et Power BI
Sur la base des résultats de recherche sur le Web que j'ai trouvés, voici quelques solutions possibles que vous pouvez essayer :
• Vous pouvez utiliser la fonction ST_AsText pour convertir votre colonne géométrique dans un format de texte que Power BI peut reconnaître. Par exemple, vous pouvez utiliser quelque chose comme ceci :
SELECT ST_AsText(ST_Transform(geom, 4326)) AS geom_for_bi FROM your_table ;
• Vous pouvez utiliser la visualisation ArcGIS Maps for PowerBI pour importer votre polygone de fichier de formes dans Power BI et l'afficher sur une carte. Vous devez d'abord convertir votre fichier de formes en fichier CSV, puis ajouter la colonne d'emplacement à la visualisation ArcGIS Maps for PowerBI.
• Vous pouvez utiliser la fonction ST_SetSRID pour attribuer un identifiant de référence spatiale à votre colonne géométrique avant de la transformer. Par exemple, vous pouvez utiliser quelque chose comme ceci :
SELECT ST_Transform(ST_SetSRID(geom, 3857), 4326) AS geom_for_bi FROM your_table;
• Vous pouvez utiliser la fonction ST_Multi pour convertir votre colonne géométrique en type MultiPolygon si vous avez des géométries mixtes Polygone/Multipolygone. Par exemple, vous pouvez utiliser quelque chose comme ceci :
ALTER TABLE your_table ALTER COLUMN geom TYPE Géométrie (MultiPolygon, 4326) USING ST_Multi (geom);geometry dash
Dernière modification par Donnybrook (Tue 16 January 2024 05:26)
Hors ligne
#5 Wed 12 June 2024 03:48
- eveoceanic
- Juste Inscrit !
- Date d'inscription: 6 May 2024
- Messages: 2
Re: Postgre , géométrie et Power BI
Sur la base des résultats de recherche sur le Web que j'ai trouvés, voici quelques solutions possibles que vous pouvez essayer :
• Vous pouvez utiliser la fonction ST_AsText pour convertir votre colonne géométrique dans un format de texte que Power BI peut reconnaître. Par exemple, vous pouvez utiliser quelque chose comme ceci :
SELECT ST_AsText(ST_Transform(geom, 4326)) AS geom_for_bi FROM your_table ;
geometry dash subzero
• Vous pouvez utiliser la visualisation ArcGIS Maps for PowerBI pour importer votre polygone de fichier de formes dans Power BI et l'afficher sur une carte. Vous devez d'abord convertir votre fichier de formes en fichier CSV, puis ajouter la colonne d'emplacement à la visualisation ArcGIS Maps for PowerBI.
• Vous pouvez utiliser la fonction ST_SetSRID pour attribuer un identifiant de référence spatiale à votre colonne géométrique avant de la transformer. Par exemple, vous pouvez utiliser quelque chose comme ceci :
SELECT ST_Transform(ST_SetSRID(geom, 3857), 4326) AS geom_for_bi FROM your_table;
• Vous pouvez utiliser la fonction ST_Multi pour convertir votre colonne géométrique en type MultiPolygon si vous avez des géométries mixtes Polygone/Multipolygone. Par exemple, vous pouvez utiliser quelque chose comme ceci :
ALTER TABLE your_table ALTER COLUMN geom TYPE Géométrie (MultiPolygon, 4326) USING ST_Multi (geom);
Merci pour cette doc complémentaire.
Dernière modification par eveoceanic (Wed 12 June 2024 12:59)
Hors ligne
#6 Fri 16 August 2024 10:28
- NadiaEira
- Juste Inscrit !
- Date d'inscription: 16 Aug 2024
- Messages: 1
Re: Postgre , géométrie et Power BI
Merci pour ce retour,
en modifiant le code de la table avec ta proposition, j'obtiens...
ERROR: Input geometry has unknown (0) SRID
SQL state: XX000 cookie clicker 2
J'en déduis que le SRID n'a pas été défini pour cette table (ça doit se faire coté client et géoserver)
Voici un exemple de valeur pour ma colonne de géométrie 010100000096C078257AD9F040EADBAF8B721C5541
J'ai essayé de patcher la chose
st_transform(geom, from_proj 3857 , to_srid 4326 ) AS geom_for_bi
la valeur de la géométrie reste en hexadécimal...
mais rien n'y fait
La géométrie est transformée du système de projection 3857 au système de projection 4326, mais la valeur de la géométrie reste en format hexadécimal. Malgré les efforts, le problème persiste.
Hors ligne
#7 Mon 19 August 2024 15:24
Re: Postgre , géométrie et Power BI
Bonjour,
Pour avoir un peu approfondi le sujet mais tout en étant pas experte, il me semble qu'on ne peut pas appeler directement des données géoraphiques stockées dans postgre. Il faut convertir les couches en topojson.
On en avait discuté dans ce sujet là : https://georezo.net/forum/viewtopic.php?id=130851
J'espère que ça vous aide un peu.
Hors ligne