#1 Fri 04 November 2011 15:37
- Loublande
- Participant occasionnel
- Date d'inscription: 29 Oct 2008
- Messages: 38
Accéder à des données postgis
Bonjour,
J’essaie de faire lire à MapInfo des données stockées dans notre base "cadastre". Nous avons utiliser le pilote ODBC recommandé par PBBI- le 8.02.03. J'ai un MapInfo 10.5.2
J’ai bien réussi à créer le « mapinfo_mapcatalog » dans le schéma « mapinfo ». Ceci a été fait grâce à easy loader.
Cependant, je n’arrive pas à cartographier une table DBMS. Lorsque je suis dans la fenêtre « cartographier Table », je laisse le « type d’index » avec postgis mais il n’y a rien de lister pour ce qui est de « Colonne d’index ». (Cf. pièce jointe .doc).
Par ailleurs, j’ai essayé de connecter Qgis, et cela fonctionne très bien.
Avez-vous une idée du problème ? Je vous remercie par avance.
Cordialement,
Hors ligne
#2 Fri 04 November 2011 21:16
- Marc-André
- Participant assidu
- Lieu: Montréal
- Date d'inscription: 30 Sep 2005
- Messages: 688
Re: Accéder à des données postgis
Bonjour,
La connexion à PostGIS dans MapInfo est loin d'être évidente.
C'est pourquoi j'utilise Q-gis pour me connecter facilement et importer en .tab.
Ensuite, ça s'utilise dans MapInfo.
J'ai déjà suggéré à MapInfo d'améliorer la méthode de connexion aux données externes:
Menu «Aide --> Envoyer des suggestions d'améliorations de produits.
Vous pouvez appuyer les demandes déjà présentes ou en formuler de nouvelles.
Hors ligne
#3 Mon 07 November 2011 14:23
Re: Accéder à des données postgis
Bonjour
effectivement c'est pas super intuitif. Mais une fois qu'on comprends les connexions, c'est intéressant d'avoir les outils de mapinfo pour travailler.
Le plus dur est de batailler pour trouver les bons arguments à mettre dans le mapinfo_catalog.
Ta table est dans une base de données cadastre c'est ça? Et est ce que ces données sont géoréférencées (y a t-il une colonne geometry?) Et est ce que ces données sont déjà représentées dans une autre application (genre ads)?
Dernière modification par cyril_c (Mon 07 November 2011 16:44)
Hors ligne
#4 Tue 08 November 2011 11:21
- Loublande
- Participant occasionnel
- Date d'inscription: 29 Oct 2008
- Messages: 38
Re: Accéder à des données postgis
Bonjour,
Pour répondre à Cyril, ma table est dans un base de données Cadastre et dans un Schéma Edigeo. Il y a une colonne geometry. Voir fichier joint.
Là où je ne comprends pas, c'est qu'avec QGIS, j'accède à mes tables sans aucun problème et j'utilise ces tables avec une application générée avec Aigle Générateur et que cela fonctionne très bien également.
Merci d'avance,
Cordialement,
Hors ligne
#5 Tue 08 November 2011 14:18
Re: Accéder à des données postgis
bonjour
Perso je rentre toute les info à la main, car easyloader est fait pour les tables gérées par mapinfo, intégré par mapinfo. Ca peut être très utile si tu n'utilise que Mapinfo mais je vois que ça n'est pas le cas.
Donc le mieux est de rentrer la ligne complète à la main.
Pour ce faire, voilà ma méthode. J'ai débord envoyé une carte par easyloader avec la même projection les même bornes (le plus simple c'est d'envoyer le découpage communal sans style particulier). Comme ça tu récupères les données des champs db_..., view_..., coordinatesystem.
Ensuite chez moi j'ai noté
xcolumnname = 'NO_COLUMN'
ycolumnname = 'NO_COLUMN'
renditiontype = 0
renditioncolumn vide
renditiontable vide
number_rows 0
Ensuite tablename (nom de la table, donc parcelle pour toi) ownername (nom du schema, ici EDIGEO), spatialcolumn (c'est ta colonne géographique, elle doit être la même que pour la colonne f_geometry_column dans géometry_column dans ton schema public), puis enfin spatialtype ( 19 = points, 19.1 = polyline, 19.2 = polygon).
Une fois bien renseignée, tu vas "ouvrir une table DBMS"> tu ouvres la bonne source de données>tu sélectionnes le bon schéma>tu ouvres la table parcelle> tu enregistres le .tab(c'est la partie "tampon") et normalement il devrait t'ouvrir la table.
N'hésites pas à me relancer si ça ne marche pas!
Dernière modification par cyril_c (Tue 08 November 2011 15:20)
Hors ligne
#6 Tue 28 January 2014 21:48
- aurelien.quiblier
- Participant actif
- Lieu: Lyon
- Date d'inscription: 26 Oct 2010
- Messages: 146
- Site web
Re: Accéder à des données postgis
Bonjour,
Je relance ce topic car j'ai un problème similaire.
J'ai bien créé la table mapinfo_mapcatalog avec Easy Loader (elle est maintenant présente dans PostGIS).
Ensuite, j'ai renseigné une ligne de cette table (qui correspond à la couche de PostGIS que je veux lire en DBMS avec MapInfo), selon la description de Cyril.
Le problème est que, une fois que cette ligne est créée, la table correspondante n'est plus présente lors de la sélection de tables dans MapInfo (lorsque je veux cartographier la table). Si je supprime la ligne de la table de mapinfo_mapcatalog, ma table est bien présente dans la liste, mais le problème est qu'il n'est pas possible de la cartographier.
Merci d'avance pour votre aide.
Aurélien QUIBLIER
arx iT
Hors ligne
#7 Thu 30 January 2014 09:34
Re: Accéder à des données postgis
Bonjour,
j'ai fait un petit pense-bête pour les stagiaires de la formation "Méthodes et Techniques des SIG" pour les connexions MapInfo-PostGIS qui ne sont effectivement pas évidentes.
Je vous le joint.
Bon courage,
Jean-François Behm, formateur SIG, jf.behm@, idgeo.frformations@ idgeo.fr
IDGEO, www.idgeo.fr
Institut de Développement de la Géomatique 42, avenue de Général de Croutte - 31100 toulouse
Hors ligne
#8 Fri 31 January 2014 18:21
- aurelien.quiblier
- Participant actif
- Lieu: Lyon
- Date d'inscription: 26 Oct 2010
- Messages: 146
- Site web
Re: Accéder à des données postgis
Bonjour,
Merci beaucoup pour votre réponse.
Entre temps, j'ai résolu mon problème. J'avais bien utilisé la méthode décrite dans votre document (qui est par ailleurs très bien fait et qui pourra servir à d'autres personnes).
Le problème venait de la version de MapInfo (V11) qui fait appel à une fonction de PostGIS ayant changé de nom dans la dernière version. Effectivement, MapInfo fait appel à une fonction "asbinary(geometry)", qui s'appelle "st_asbinary(geometry)" dans la version 2.1 de PostGIS. MapInfo ne trouvait donc pas cette fonction et me retournait un message d'erreur :
[img]http://imageshack.com/a/img812/112/vwp7.jpg[/img])
Pour contourner cette contrainte, j’ai créé une nouvelle fonction "asbinary(geometry)", comportant exactement les mêmes propriétés que "st_asbinary(geometry)".
Maintenant, les tables ainsi que les géométries s’affichent bien dans MapInfo.
Merci encore.
Dernière modification par aurelien.quiblier (Fri 31 January 2014 18:22)
Aurélien QUIBLIER
arx iT
Hors ligne
#9 Sun 02 February 2014 17:39
Re: Accéder à des données postgis
Bonjour,
vous pouviez également exécuter dans postgresql la requête sql "legacy.sql" (qui se trouve dans le dossier : C:\Program Files\PostgreSQL\9.3\share\contrib\postgis-2.1\) afin d'ajouter les anciennes fonctions postgis à votre base de données afin d'avoir une compatibilité descendante.
Cordialement,
Jean-François Behm, formateur SIG, jf.behm@, idgeo.frformations@ idgeo.fr
IDGEO, www.idgeo.fr
Institut de Développement de la Géomatique 42, avenue de Général de Croutte - 31100 toulouse
Hors ligne
#10 Mon 03 February 2014 16:01
- aurelien.quiblier
- Participant actif
- Lieu: Lyon
- Date d'inscription: 26 Oct 2010
- Messages: 146
- Site web
Re: Accéder à des données postgis
Bonjour,
Merci pour cette information, cette requête est très intéressante en vue de l'utilisation de fonctions provenant d'anciennes versions de PostGIS.
Cordialement.
Aurélien QUIBLIER
arx iT
Hors ligne