Dear all
I am doing some digitising work in MapInfo Professional 8, using a table stored in Oracle 10.2g. I have completed the bulk of my digitising and the polygons have been written back to the Oracle database without any issues.
As I am working with several maps coving the same area, but from different dates, I have simply been copying the shapes from one field to another, for areas that are the same on other maps. This avoids having to digitise an area more than once.
Here is an example of my table:
map_index_id original_map_publication_id name_of_feature geographical_coordinates
------------ --------------------------- --------------- ------------------------
5000840 200016 NORTH STREET MDSYS.SDO_GEOMETRY [1a]
5000841 200016 NORTH STREET QUADRANT MDSYS.SDO_GEOMETRY [2a]
5000843 200016 OLD STEINE MDSYS.SDO_GEOMETRY [3a]
5000955 200021 NORTH STREET null [1b]
5000956 200021 NORTH STREET QUADRANT null [2b]
5000957 200021 OLD STEINE null [3b]
The idea is that the geometry of 1a is copied to 1b, 2a to 2b and so on. The script I am using to do this, is as follows:
undefine name_of_feature_to_be_used
undefine name_of_feature_to_be_updated
UPDATE MAP_INDEX B
SET (B.geographical_coordinates) =
(SELECT A.geographical_coordinates
FROM MAP_INDEX A
WHERE A.original_map_publication_id=&&original_map_to_be_used
AND A.name_of_feature='&&name_of_feature_to_be_used')
WHERE B.original_map_publication_id=original_map_to_be_updated
AND B.name_of_feature='&&name_of_feature_to_be_updated';
That works okay. The problem I have is that whenever I make changes to the geographical_coordinates column, which is an sdo_geometry column, the changes are not then being picked up by MapInfo Professional when I click refresh DBMS table in that program.
If I make additional changes in MapInfo and then save the table out, it simply wipes all the changes I have made in Oracle, using my above SQL script.
I believe what happens when a table is first made mapping in MapInfo, is that MapInfo takes the Oracle sdo_column: geographical_coordinates and links this to a MapInfo column called obj , since MapInfo seems to only allow the spatial column to be called obj. All other columns are brought in using their Oracle names. What I think it isn't doing though, is relinking this column at any point afterwards.
Am I correct and if so, does anyone have a away round this problem? I made my Oracle table "download table [link to Oracle]". Would keeping the table live, make any difference?
Kind regards
Tim