1

I'm trying to create a dynamic connection between a database and a Mapinfo table. My database countain only one table, with a list of bus stops, characterized with their ID, name, and X Y coordinates. I already have created a Mapinfo table that updates with the database, using a DBMS connection, and I have made it mapable so the stops are placed on a map at the right coordinates.

But I can't make it work the other way; The table created with the DBMS connection is read only. I'm trying to make the Mapinfo Table editable, and to apply the changes of the table on the database.

Can anybody help me out?

(I use Mapinfo Professional 12.5 and PostgreSQL)

7
  • What versions of PostgreSQL, PostGIS and ODBC driver you are using ? Install Guide for MapInfo says that 12.5 support "PostgreSQL ANSI ODBC driver 9.01.02" (PostgGIS 2.0.x) Did you upload your table and create MapInfo_MapCatalog table with EasyLoader ?
    – sys49152
    Commented May 13, 2015 at 9:09
  • I'm using PostgreSQL 9.4, PostGIS 2.1 and psglodbc_09_03_400. I did use Easyloader to create MapInfo_MapCatalog, but the table created doesn't make any sense? Commented May 13, 2015 at 9:30
  • Can you talk a bit about how you created the tab file? I expect you created the table in the database, created the mapinfo_mapcatalog and then opened this table into MapInfo Pro via Open (DBMS) Table... Correct? Commented May 14, 2015 at 10:04
  • That's quite correct. Though I don't understand what is the mapinfo_mapcatalog table, it doesn't seem to make sense to me; the table is entirely different from the one I created in the database. Commented May 15, 2015 at 7:18
  • You need the mapcatalog to store spatial data in the database from MapInfo Pro and for MapInfo Pro to be able to read the spatial data from the database. If you don't have the mapcatalog and your table is spatial/mappable in MapInfo Pro chances are that you aren't reading/writing the spatial data to the database but just storing it in a map file connected to your attribut file (dat) Commented May 17, 2015 at 13:42

2 Answers 2

1

You need the mapcatalog to store spatial data in the database from MapInfo Pro and for MapInfo Pro to be able to read the spatial data from the database.

If you don't have the mapcatalog and your table is spatial/mappable in MapInfo Pro chances are that you aren't reading/writing the spatial data to the database but just storing it in a local .map file connected to your attribute file (.dat).

This also means that the spatial database can only be accessed from MapInfo Pro if you open this specific table.

I would recommend that you create the MapInfo MapCatalog via EasyLoader and then save your table back to the database using a different name, either via File > Save as or via EasyLoader.

I have created a presentation that will give you a good overview on how to use and take advantage of a spatial database from MapInfo Pro. The presentation is based on SQL Server but most of the concepts are the same for PostgreSQL/PostGIS.

You can find the presentation here: Working with MapInfo Professional and Spatial Databases

Basically you need to go thru a number of steps to prepare a spatial database for use with MapInfo Pro:

  1. Create the database
  2. Create a login for the database
  3. Create a (ODBC) data source for the database
  4. Create the MapInfo MapCatalog in the database (using EasyLoader)
  5. Upload tables to the database using MapInfo Pro's File Save As (in the filetype dropdown list, pick the data source pointing at the database you want to save the table to) or
  6. Upload tables to the database using EasyLoader

If your database already holds tables with spatial data, you need to add these tables to the MapCatalog using MapInfo Pro: Table > Maintenance > Make DBMS Table Mappable.

You can find more details in the presentation and in the documentation for MapInfo Pro, look for the chapter "Working with Data in a DBMS".

5
  • Your answer seems to be what I'm looking for, but I don't really understand what I've got to do... Can you give me a sort of step by step explanation, as if I were a total beginner? (Wich I actually am ^^') Commented May 20, 2015 at 12:10
  • I have added some more description to my answer, such as a step by step description Commented May 20, 2015 at 13:09
  • Hello again, sorry for answering so slowly.. Everything works with your solution, up to step 5/6. The table I created in mapinfo is connected with the database and refreshing apply the changes of the database in the mapinfo table. But I don't get how to upload the table to the database? I use "Save As", but where do I save the table? Commented May 26, 2015 at 15:14
  • I have added some more description on that specific step - you basically pick the data source from the list of file types Commented May 26, 2015 at 19:56
  • 1
    Well it works! Sorry for taking so long, thank you Commented May 27, 2015 at 8:18
0

Well PostgreSQL 9.2.2 with PostGIS 2.0.x is the highest version supported officially in MapInfo v12.5, and you are using newer versions!

MapInfo v12.5 - Install guide

enter image description here

2
  • I don't think that's the problem; the table I created in Mapinfo is clearly connected to the postgre database, since every changes in the database appear in the Mapinfo Table. So Mapinfo 12.5 seems to support postgreSQL 9.4 Commented May 13, 2015 at 12:03
  • Also the ODBC driver must be supported; I couldn't create a Postgre DBMS catalog before installing it, and now I can. Commented May 13, 2015 at 12:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.