Mapping your business Du domaine métier à l'informatique Mapping your business The Model Driven...

8
Mapping your business Du domaine métier à l'informatique Mapping your business The Model Driven Approach Jeff Konnen FME User Conference September 22nd Vancouver, BC

Transcript of Mapping your business Du domaine métier à l'informatique Mapping your business The Model Driven...

Page 1: Mapping your business Du domaine métier à l'informatique Mapping your business The Model Driven Approach Jeff Konnen FME User Conference September 22nd.

Map

pin

g y

ou

r b

usi

nes

s

Du domaine métier à l'informatique

Mapping your business

The Model Driven ApproachJeff Konnen

FME User ConferenceSeptember 22ndVancouver, BC

Page 2: Mapping your business Du domaine métier à l'informatique Mapping your business The Model Driven Approach Jeff Konnen FME User Conference September 22nd.

Map

pin

g y

ou

r b

usi

nes

s

http://ilix.inser.ch

The Idea

• Exchange Data between several GIS Software Packages (e.g. for cadastral data)

• Impose the data format and model for data exchange

• Use a Neutral Language to describe the Data Model

• Let everyone implement the Data Model like he wants

• Let everyone implement its own interface to the mandatory data exchange format

Page 3: Mapping your business Du domaine métier à l'informatique Mapping your business The Model Driven Approach Jeff Konnen FME User Conference September 22nd.

Map

pin

g y

ou

r b

usi

nes

s

http://ilix.inser.ch

INTERLIS – The GeoLanguage

• INTERLIS is a data exchange format, allowing you:– To DESCRIBE a data model including

• Tables• Constraints• Relationships• Generalization / Polymorphismin a VENDOR – NEUTRAL language

– To EXCHANGE data based on this Model

Page 4: Mapping your business Du domaine métier à l'informatique Mapping your business The Model Driven Approach Jeff Konnen FME User Conference September 22nd.

Map

pin

g y

ou

r b

usi

nes

s

http://ilix.inser.ch

INTERLIS - EXAMPLES• DATA MODEL

– Object Oriented– Text based description– Can be edited visually with

the OSS UML EditorobjectOriginType=(AV,BFS,DGN_AG,DGN_BE,DGN_LU,DGN_SO,DGN_VD,

DGN_ZH,GG25,GN_BL,LK100,LK200,LK25,LK50,LK500,NDB,Photo,GN25,BWG,Kanton,Ausland,GN200,undefined);

gebObject=(Z_Gebaeude,Z_Innenhof,Z_Gasthof,Z_Huette,Z_Kirche,Z_Kuehlturm,Z_Lagertank,Z_Perron,Z_Schiessstand,Z_Schloss,Z_Station,Z_Treibhaus,Z_WBecken,undefined);

CLASS geb = ATTRIBUTE ObjectId: MANDATORY INTEGER4; ObjectOrigin: MANDATORY objectOriginType; ObjectVal: MANDATORY gebObject; YearOfChange: MANDATORY Jahr; Geometrie: MANDATORY SURFACE WITH (STRAIGHTS) VERTEX

LKoord; END geb;

CLASS geb_zentroid = ATTRIBUTE Geometry: MANDATORY LKoord; END geb_zentroid;

ASSOCIATION geb_zentroidObjectId = geb_zentroid -- {*} geb_zentroid; ObjectId -- {1} geb; END geb_zentroidObjectId;

• DATA– XML DATA

<VECTOR25.Strassennetz.str TID="x8335"><ObjectId>8335</ObjectId><ObjectOrigin>12</ObjectOrigin><ObjectVal>6</ObjectVal><YearOfChange>1991</YearOfChange><StradaId></StradaId><Geometrie><POLYLINE><COORD><C1>784946.3</C1><C2>153374.2</C2></COORD><COORD><C1>784946.5</C1><C2>153367.9</C2></COORD><COORD><C1>784950.7</C1><C2>153354.1</C2></COORD><COORD><C1>784955.7</C1><C2>153345.6</C2></COORD><COORD><C1>784960.2</C1><C2>153340.1</C2></COORD></POLYLINE></Geometrie><FromNode REF="x "></FromNode><ToNode REF="x "></ToNode></VECTOR25.Strassennetz.str>

<VECTOR25.Strassennetz.str TID="x8336"><ObjectId>8336</ObjectId><ObjectOrigin>12</ObjectOrigin><ObjectVal>9</ObjectVal><YearOfChange>1998</YearOfChange><StradaId></StradaId><Geometrie><POLYLINE><COORD><C1>785603.9</C1><C2>153327.4</C2></COORD><COORD><C1>785611.4</C1><C2>153340.9</C2></COORD><COORD><C1>785621.6</C1><C2>153353.1</C2></COORD><COORD><C1>785639.643</C1><C2>153368.513</C2></COORD></POLYLINE></Geometrie><FromNode REF="x "></FromNode><ToNode REF="x "></ToNode></VECTOR25.Strassennetz.str>

<VECTOR25.Strassennetz.str TID="x8337"><ObjectId>8337</ObjectId><ObjectOrigin>12</ObjectOrigin><ObjectVal>10</ObjectVal><YearOfChange>1998</YearOfChange><StradaId></StradaId><Geometrie><POLYLINE><COORD><C1>785808.4</C1><C2>153488.7</C2></COORD><COORD><C1>785787.0</C1><C2>153470.5</C2></COORD><COORD><C1>785766.0</C1><C2>153455.5</C2></COORD><COORD><C1>785751.0</C1><C2>153448.2</C2></COORD><COORD><C1>785744.0</C1><C2>153447.0</C2></COORD><COORD><C1>785735.9</C1><C2>153448.1</C2></COORD><COORD><C1>785686.0</C1><C2>153407.0</C2></COORD><COORD><C1>785669.5</C1><C2>153391.5</C2></COORD><COORD><C1>785663.5</C1><C2>153384.5</C2></COORD><COORD><C1>785658.7</C1><C2>153375.2</C2></COORD><COORD><C1>785651.5</C1><C2>153361.5</C2></COORD><COORD><C1>785646.0</C1><C2>153349.5</C2></COORD><COORD><C1>785630.7</C1><C2>153333.2</C2></COORD><COORD><C1>785615.9</C1><C2>153319.9</C2></COORD></POLYLINE></Geometrie><FromNode REF="x "></FromNode><ToNode REF="x "></ToNode></VECTOR25.Strassennetz.str>

Page 5: Mapping your business Du domaine métier à l'informatique Mapping your business The Model Driven Approach Jeff Konnen FME User Conference September 22nd.

Map

pin

g y

ou

r b

usi

nes

s

http://ilix.inser.ch

Implementing the Model Driven Approach

• We implemented the Model Driven Approach for the ESRI Geodatabase: iliX (just as others did for other vendors)

• What does it mean?– Generate a Geodatabase Schema based on an

INTERLIS Data Model• Containing all the Constraints, Rules …

– Generate an INTERLIS-Model based on an existing Geodatabase

– AND: Generate FME Files for data exchange between the Geodatabase and INTERLIS

Page 6: Mapping your business Du domaine métier à l'informatique Mapping your business The Model Driven Approach Jeff Konnen FME User Conference September 22nd.

Map

pin

g y

ou

r b

usi

nes

s

http://ilix.inser.ch

The Data Model

• In the Geodatabase, the INTERLIS Schema looks like this:

Page 7: Mapping your business Du domaine métier à l'informatique Mapping your business The Model Driven Approach Jeff Konnen FME User Conference September 22nd.

Map

pin

g y

ou

r b

usi

nes

s

http://ilix.inser.ch

The FME Files• FME includes Readers and Writers for the Geodatabase• There exists a free FME Plugin for Reading and Writing INTERLIS Data• During the creation of the geodatabase schema, 4 simple « mapping –

tables » are created from the INTERLIS DATAMODEL.• We then programatically generate WORKBENCH-Files based on these

mapping-tables allowing the user to exchange data with his geodatabase

Page 8: Mapping your business Du domaine métier à l'informatique Mapping your business The Model Driven Approach Jeff Konnen FME User Conference September 22nd.

Map

pin

g y

ou

r b

usi

nes

s

http://ilix.inser.ch

Conclusion

• The Model Driven Approach allows you to efficiently exchange data

• FME is the right tool to do the conversion• You can generate schemas and scripts

automatically to improve the process A similar approach could be taken with

GML! If you got questions regarding INTERLIS or the

generating of Workbench-Files, you can send them to [email protected]