Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#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: 1536

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

 

Pied de page des forums

Powered by FluxBB