#1 Thu 27 August 2009 14:47
Mapinfo v10 et postgis
Salut à tous,
je suis en train de tester la version 10 de MI en anglais, et particulièrement le lien avec Postgis. Je suis pour l'instant extrèmement déçu suite aux soucis suivants, dites moi si c'est moi qui m'y prend mal:
1- accès ODBC: on va se retrouver avec les limites précédentes qui ne permettent pas de lancer des requêtes un peu longue (pb de limite dans le stockage coté .tab)
2- reconnaissance des types de données: Mapinfo ne reconnait pas le type "character" de postgres. Je suis obligé de convertir le type à la volée en type "text" dans le SQL coté Postgis (monchamp::text)
[edit 27 aout] ce problème semble résolu par l'utilisation du tout dernier client ODBC postgres et l'utilisation de sa version ANSI et pas UNICODE.
3- La lecture d'objets géographiques postgis oblige à créer un mapcatalog mapinfo. Pourquoi donc?? toute l'info est déjà présente dans les tables geometry_columns et spatial_ref_sys. Si on bosse avec les fonctions postgis, il va falloir créer des déclencheurs qui maintiennent le mapcatalog à jour en fonction de la table geometry_columns... (pas simple cette histoire)
4- Je n'ai pas réussi à créer le mapcatalog avec l'outil DBMS catalog, qui ne connait pas le driver ODBC postgres (message d'erreur me disant de réecrire la fonction en mapbasic!!)
5- Je n'ai pas réussi à rendre une table DBMS cartographiable avec la barre d'outil DBMS, la doc dit qu'on est censé pouvoir choisir son type spatial (oracle, postgis, mapinfo, XY, etc...) et moi, je n'ai le choix qu'entre les type Mapinfo et XY. Pour autant, l'outil me détecte la présence de mes colonnes spatiales. Je n'ai donc pas la possibilité de visualiser mes tables...
Je vais continuer mes explorations en tentant de créer manuellement les lignes de déclaration du mapcatalog pour voir si je peux lire mes données..
Pour l'instant je jugerai que l'outil n'est pas fonctionnel. Suis-je passé à coté de quelquechose?
Régis
Dernière modification par haubourg (Thu 27 August 2009 15:15)
Hors ligne
#2 Thu 27 August 2009 17:05
Re: Mapinfo v10 et postgis
Je me répond à moi-même,
point3: j'ai finalement créé un mapcatalog à la main, dans un schema "mapinfo" dédié, et déplacé mes tables geometry_columns et spatial_ref_sys dans le schema public, et ça marche!
Il ne manque plus qu'une doc de référence permettant aux administrateurs de base de connaitre les codes de types spatiaux de la colonne spatialtype pour remplir facilement ce mapcatalog.
J'ai toujours un souci avec le easy loader, que je peux lancer via le exe, mais pas le mbx (pb lié à ma machine je pense).
en aparté, merci de la réactivité du service commercial Mapinfo-Pb qui m'a contacté très rapidement suite à ce message!
Dernière modification par haubourg (Thu 27 August 2009 17:15)
Hors ligne
#3 Mon 14 September 2009 14:45
- Berangere
- Participant occasionnel
- Lieu: Gevrey-Chambertin
- Date d'inscription: 5 Sep 2005
- Messages: 36
Re: Mapinfo v10 et postgis
Bonjour,
Je suis actuellement en train de tester ce lien avec PostGis. J'ai réussi à afficher ma table mais lors de l'ouverture, j'ai un message qui m'indique que ma table n'est pas éditable. Es-il possible de modifier cette table: rajouter des polygones, modifier leur contour? Y'a t'il une manipulation à faire qui m'a échappée pour faire ceci?
Merci
Hors ligne
#4 Mon 14 September 2009 14:48
Re: Mapinfo v10 et postgis
Berangere,
Sous QGIS un problème similaire est parfois affiché quand la table ne possède pas de clé primaire. Est ce le cas ? Les droits sont ils correctes ?
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#5 Mon 14 September 2009 15:39
- Berangere
- Participant occasionnel
- Lieu: Gevrey-Chambertin
- Date d'inscription: 5 Sep 2005
- Messages: 36
Re: Mapinfo v10 et postgis
Merci de ta réponse, Yves.
Oui, ma table possède bien une clé primaire et je ne pense pas que cela soit un problème de droits. Je n'ai aucun souci de modifications de la même table sous Qgis.
J'arrive maintenant à modifier mes polygones, (je ne sais pas pourquoi), mais impossible de saisir mes données attributaires...
Hors ligne
#6 Wed 16 September 2009 10:26
- Richard Lohier
- Participant occasionnel
- Lieu: Le perray en yvelines
- Date d'inscription: 13 Nov 2006
- Messages: 28
Re: Mapinfo v10 et postgis
...J'arrive maintenant à modifier mes polygones, (je ne sais pas pourquoi), mais impossible de saisir mes données attributaires...
Bonjour,
Il a des chances pour que le souci que vous rencontrez soit dû à la version du pilote ODBC.
Si vous utilisez le pilote ODBC PostgreSQL ANSI 8.04.01.00, essayez de passer à une version antérieure.
Pour notre part, le pilote PostgreSQL ANSI 8.02.03.00 ne pose pas de souci en lecture, écriture/modification et création de table avec MapInfo Professional v10.0 (ainsi qu'avec EasyLoader pour l'upload de tables).
Cordialement,
Richard Lohier
Hors ligne
#7 Wed 14 October 2009 12:41
- christophe_barbier
- Participant occasionnel
- Date d'inscription: 7 Apr 2006
- Messages: 22
Re: Mapinfo v10 et postgis
Bonjour,
Je suis également en train de faire des recherches de connexion MapInfo 10 et PostGIS et tout fonctionne bien sauf avec les VUES de POSTGIS:
Impossible de modifier les données (alpha et geo) d'une Vue POSTGIS dans MapInfo.
Alors que dans QGIS, j'arrive bien à afficher, modifier et enregistrer la même vue.
J'ai pourtant un champ MI_PRINX dans ma vue qui provient d'un champ numérique unique et indexé.
J'ai également des règles permettant les opérations UPDATE/INSERT/DELETE (sinon, ca ne fonctionnerait pas non plus dans QGIS d'ailleurs)
Même avec une vue très simple comme "Select * from MaTableSpatiale", ca ne fonctionne pas.
J'utilise pourtant le driver ODBC "psqlodbc-08_02_0300" recommandé par MapInfo.
Qqun aurait-il trouvé une solution à ce problème ?
Merci d'avance,
Christophe Barbier, I2G
Hors ligne
#8 Fri 16 October 2009 11:00
- florent vanhoutte
- Participant actif
- Lieu: Compiègne
- Date d'inscription: 27 Apr 2006
- Messages: 109
Re: Mapinfo v10 et postgis
Bonjour,
Je test en ce moment la connexion entre MapInfo 10 (version d'essai) et PostGIS.
J'ai également installé le driver "psqlodbc-08_02_0300".
Si j'arrive bien à visualiser et modifier les données attributaires depuis MapInfo, je n'ai pas de vue sur les données géographiques. MapInfo ne semble pas interpréter les informations spatiales contenues dans la base PostGIS, chose que je fais sans difficultés avec Qgis pour la lecture et la modification de données.
Quelqu'un a t-il une piste pour résoudre ce problème ?
Merci d'avance,
FV
1/2 décision = bordel²
Hors ligne
#9 Wed 21 October 2009 10:26
- christophe_barbier
- Participant occasionnel
- Date d'inscription: 7 Apr 2006
- Messages: 22
Re: Mapinfo v10 et postgis
Bonjour,
Pour qu'une table spatiale stockée dans PostGIS soit cartographiable dans MapInfo, il est nécessaire de créer et renseigner une table MAPINFO_MAPCATALOG dans PostGIS qui contient des informations sur la représentation cartographique de cette table.
Historiquement, MapInfo s'est tjrs appuyé sur ce système pour cartographier des tables DBMS.
(à ma connaissance en tout cas...)
Pour info, EasyLoader crée et renseigne automatiquement cette table.
Sinon, il faut passer par la commande "Table --> Gestion Table --> Cartographier Table DBMS..."
Cordialement,
Christophe Barbier, I2G
Hors ligne
#10 Mon 14 February 2011 15:47
Re: Mapinfo v10 et postgis
Bonjour à tous. Je déterre le sujet puisque je me suis lancé dans un test un peu exhaustif de Mapinfo v10.5.2 préalable à un renouvellement de nos licences.
On a surmonté quelques soucis liés aux versions de driver odbc postgresql pour les vues et le chargement, trouvé des solutions pour maintenir le mapcatalog depuis la table geometry_columns..etc..
Par contre, nous sommes assez surpris de la consommation de ressources de cette version. L'ouverture de Mapinfo monte à 110 Mo de RAM, sans même avoir ouvert de table.
En ouvrant des tables postgis, j'ai eu des pics de mémoire à 300Mo. L'ouverture d'une table de 110 000 objets (tronçons hydrographique bd carthage) en tab natif prend 7 seconde, et presqu'une minute en odbc postgis.
Avez vous constaté ces mêmes problèmes? Y a t-il des pistes de contournement?
Par ailleurs, la doc indique que les versions validées sont postgresql 8.3 avec postgis 1.3. Nous prévoyons un passage en postgres 9 avec postgis 1.5. Quelqu'un a déjà testé cela?
RH
Hors ligne
#11 Thu 17 February 2011 16:55
Re: Mapinfo v10 et postgis
Bonjour à tous, résultats après deux journées de tests à l'aveugle sur les drivers ODBC, j'ai finalement compris que de nombreuses erreurs sur la visualisation des vues ne viennent pas des drivers:
Bonne nouvelle, Mapinfo v10.5.2 et postgres 9.0.1 + postgis 1.5 fonctionne. Driver ODBC de v9, quelque soit la version.. et on peut voir des vues SQL. Par contre, un driver 8.3 ou 8.4 ne verra pas les géométries d'une postgres 9..
La mauvaise nouvelle, j'ai des messages d'erreurs concernant les SRID dans deux configurations opposées, selon que l'on travaille sur des tables, ou sur des vues...
En clair : une table définie avec des SRID 2154 (contrainte sur la table) et lambert 93 dans le mapcatalog est correctement lue par Mapinfo, sans même avoir un champ MI_PRINX. Un champ unique integer suffit.
A l'opposé, une vue simple de cette même table, définie dans la même manière dans le mapcatalog, renvoi un message d'erreur ODBC ".. two geometries with different SRID...".
Si l'on bascule les SRID à -1 sur les géométries, alors là, on peut visualiser la vue correctement.. mais c'est la table qui renvoie cette fois une erreur SRID!!!
On s'en sort de la manière suivante:
- on travaille sur les tables postgis natives normalement, avec leur SRID correctement définis au sens EPSG (2154 chez moi). Il faut obligatoirement un champ numérique unique, qui peut-être un OID, ou un champ séquentielle entier classique.
- Toute vue SQL doit être définie en donnant l'alias "MI_PRINX" à ce champ numérique.
- le champ géométrique de cette vue doit être rebasculé en SRID = -1 à la volée par un st_set_srid
Exemple:
Code:
CREATE OR REPLACE VIEW geo.layer_rwbody AS SELECT rwbody.eu_cd AS code, st_setsrid(rwbody.geoml93, -1) as geoml93, rwbody.oid as "MI_PRINX" FROM geo.rwbody;
ça mérite une remontée d'anomalie à Pitney Bowes tout ça.. J'envoie ça de mon coté.
Régis...
Hors ligne