There is not much extra effort required to get TOP10 data into MapInfo in a normalized form.
The attached workspace (
See attachment: gml2mi.fmw) is based on the same technique of getting denormalized data from TOP10, and further normalization is extended with a couple of steps related to forming a correct MapInfo layer structure and setting graphic symbology:
For making joins within MapInfo, the attached MapInfo workspace
(See attachment: Top10data.WOR) should be used. It opens all MapInfo tabs, which were translated from top10, and runs queries, which will exists during the MapInfo session. Here is the example of the query:
Select
gml_id, identificatie, objectBeginTijd, objectEindTijd, versieBeginTijd,
versieEindTijd, status_codeSpace, status, beginTijd, eindTijd, naam_codeSpace,
naam, typeFunctioneelGebied_codeSpac, typeFunctioneelGebied, brontype_codeSpace,
brontype, bronbeschrijving, bronactualiteit, bronnauwkeurigheid, dimensie_codeSpace,
dimensie, gml_geometry_property
from FunctioneelGebied , FunctioneelGebiedData
where FunctioneelGebied . gml_id = FunctioneelGebiedData . gml_id
into FunctioneelGebiedView noselect
Note, there should be no line breaks in the actiual WOR-file.
After that, the MapInfo workspace makes a map with normalized queries instead of separate representation of graphics and attributes, which is the form, how data is actually stored. Orignal TABs are still available in a tabular form or as maps. They can be hidden from the end user by adding the word HIDE in the lines opening TABs:
Open Table "FunctioneelGebied" HIDE As FunctioneelGebied Interactive
After setting symbology with ColorSetter and sorting output by fme-type in order to get lines on top of areas and points on top of lines, the map looks as following in MapInfo environment:
.
Data can be edited, any changes to attributes of any feature will be reflected in attributes of the features sharing the same gml_id. Users are responsible for maintaing the workspace, which creates joins between features and their attributes. This workspace can be changed and owerwritten, but there should be no base table closed, otherwise, queries will be lost.
Going back to TOP10 is a simple workspace
(See attachment: mi2gml.fmw), where FeatureMergers combine graphics with attributes, and the TOP10 writer takes care of the rest of the process.
The workspaces in the attachment section were tested with the build 2569 and 6538.
Note, that the attached examples will work with the Relay example file. Some of the feature types were not presented in that file, and they didn't get into the MapInfo workspace and mi2gml workspace. The attached examples illustrate the technique applied to MapInfo, and should be used with care - some modification may be required to work with another datasets.