Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Does anyone know if MapInfo and QGIS will support inheritance in a PostgreSQL/PostGIS database?

I would like to make use of inheritance but need to make sure the software I use will work with them.

From the book PostGIS in Action I have found the following, but am unsure if MapInfo or QGIS will be supported or not:

Inheritance works seamlessly with OpenJump, GeoServer, and MapServer. Any tool that polls the standard PostgreSQL metadata should end up treating parent tables like any other.

EDIT

I have had a look at the Paris example in Chapter 3 of PostGIS in action. I have a parent table called paris, and 3 child tables called paris_linestrings, paris_polygons and paris_points. These show up as follows on the Add PostGIS table dialog (I dont have any lines in the linestrings table yet, so that's why the paris table doesn't show lines yet) :

alt text

In MapInfo, the tables show up in the list when opening a DBMS table. I cant get them to map as I haven't set up the MapCatalog and added the relevant data to each table to allow MapInfo to show the spatial data. But I can open the tables in a browser view and see the attribute data and it seems to be correct.

All I need to do now is set up some triggers to put the correct spatial type into the correct child table when added to the parent.

share|improve this question
add comment

2 Answers

up vote 5 down vote accepted

It works seamlessly in QGIS too.

share|improve this answer
    
Thanks for the confirmation about QGIS. May be going with QGIS instead of MapInfo for this project then. –  James S Jan 11 '11 at 16:02
    
May I ask how you're planning to use inheritance? I just tried it for the first time. Interesting, but I think I'd like it better if the data itself was somehow inherited too by the child-tables (and not just the column definitions). –  underdark Jan 11 '11 at 19:50
2  
I am planning on creating a parent table with all of my attributes fields in it, and then a geometry column which will accept any geometries. I am then going to create 3 child tables (one for point, one for polyline and one for polygon) and put constraints on the geometry columns of the child tables so they only accept the correct type of geometry. I will add other specific fields to the child tables like area, length etc. –  James S Jan 12 '11 at 8:51
    
Thanks. Very interesting approach! –  underdark Jan 12 '11 at 9:21
    
This is a very interesting. I might have to give it a go sometime. –  Nathan W Jan 12 '11 at 12:43
show 3 more comments

I know this is an old question but I just wanted to add my thought to it.

MapInfo Pro can't open a spatial table from a database like PostgreSQL/POSTGIS unless the table has been made mappable, that is it has to be registered in the MapInfo.MapInfo_MapCatalog.

This catalog is used by MapInfo Pro to figure out how to show the table in a map, for instance which symbology to use, what coordinate system and more.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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