Smallworld Data Check-Out to Microstation

20
Encapsulating FME seamlessly Smallworld Data Check-Out to Microstation

Transcript of Smallworld Data Check-Out to Microstation

Page 1: Smallworld Data Check-Out to Microstation

Encapsulating FME seamlessly

Smallworld Data Check-Out to Microstation

Page 2: Smallworld Data Check-Out to Microstation

2

Introduction

o Who We Are: GIS Team at Fujitsu Canadao Our Customer: BC Hydro Transmission & Distribution Dept. since 2012

o Smallworld based applications

o Projects and enhancements

o 3rd tier user support and maintenance

Page 3: Smallworld Data Check-Out to Microstation

3

IntroductionApplications Supported

o DAD (Distribution Analysis & Design)

o Design, Analysis, & manage the Distribution Network repository

o GUS (Geospatial Underground Service)

o BC One Call locates support

o SAM (Spatial Asset Management)

o Field Maintenance operations for Distribution Network

o PowerGrid

o Transmission Network repository

o SLIM (Street Light Information Manager)

o Street Light Maintenance for municipalities

o JUAS (Joint Use Administration System)

o Pole Activities and Billing

Page 4: Smallworld Data Check-Out to Microstation

4

Requirement of Work

Photogrammetry group requested the capabilities to:

1. Export (any) GIS data from Smallworld to Microstation (Check-Out),

2. Edit in Microstation,

3. Import back to Smallworld, overwriting changes (Check-In)

Why?o BCH Photogrammetry staff member familiar with Microstation CAD

o Too costly to develop a full digitizing solution in Smallworld

o Many potential new uses with the same system

Page 5: Smallworld Data Check-Out to Microstation

5

Design: High Level Use-CaseUpdating TRIM River with survey data

1. Export Smallworld data with FME

2. Open new data in Microstation

3. Overlay exported data with new data

4. Edits in Microstation

5. Edits in Microstation

6. Import changes with FME

7. Import new data with FME

Page 6: Smallworld Data Check-Out to Microstation

6

Design: User Interface

o Export Panel

o Spatial Criteria

o “Project” Tracking

o Objects selected

o Import Panel

o “Project” reference

o Step-by-step process

o Output log

Page 7: Smallworld Data Check-Out to Microstation

7

Workflow Strategy

1. Export desired features to Microstation

Page 8: Smallworld Data Check-Out to Microstation

8

Workflow Strategy

2. Keep a backup and deliver to user for Edits

Backup (Original)

User Copy (Edit)

Page 9: Smallworld Data Check-Out to Microstation

9

Workflow Strategy

3. FME Import with both Original and Modified Microstation files for

comparison, using the ChangeDetector Transformer

Backup

User Copy

Page 10: Smallworld Data Check-Out to Microstation

10

Workflow Strategy

4. After importing to Smallworld, merge and post with parent

alternative

Page 11: Smallworld Data Check-Out to Microstation

11

Sounds easy, let’s give it a go!

Page 12: Smallworld Data Check-Out to Microstation

12

Process detailsTranslating Smallworld to Microstation

o Smallworld

o Many geometries per objects

o Attributes saved per object

o Microstation

o Data organized on Levels

o No Attributes

Page 13: Smallworld Data Check-Out to Microstation

13

Process detailsTranslating multi-geometries

o Map each type of Smallworld geometries to a Microstation level

o Name the level with fully-qualified geometry name

o (e.g. “gis.etp!bridge.area” - avialable in the fme_feature_type attribute )

o Enables re-import: putting geometries back where they came from.

o Enables QA work, ensuring geometries are of the right types.

Page 14: Smallworld Data Check-Out to Microstation

14

Process detailsKeeping the attributes

o Microstation does support Attributes with Database Linkage

o Each geometry contains ENTITYNUM and MSLINK, joining to an Access table

(MDB)

o Pre-define list of ENTITYNUM (making it easier to control)

o Conveniently, use the object’s unique ID as MSLINK value

o Use FME to Export Attribute to Access, Geometries to Microstation

o Re-join attributes to geometries during import with FeatureMerger

ENTITYNUM

MSLINK

Page 15: Smallworld Data Check-Out to Microstation

15

Process detailsBackground execution of FME workspace

o Smallworld Magik

o Create a FME parameters file to manage parameters

o FEATURE_TYPES is important for Dynamic reader!

o Launch FME.exe on command line

Page 16: Smallworld Data Check-Out to Microstation

16

Process detailsOne workspace for all objects

o Dynamic Reader and Writer

o Schema is not known before hand

o Same workflow works for any object, geometry, and attribute set

o Everything is converted on the fly

o Converting incoming “sworld_” system attributes to “igds_” system attributes

o Table name

o Geometry-specific attributes

o Point (rotation and 3D elevation), Annotation (justification)

o Organizing flow of data with GeometryFilter

Page 17: Smallworld Data Check-Out to Microstation

17

Process detailsHow do we “Update” and “Delete” things?

o Smallworld Translator 4.0

o fme_db_operation not yet supported

o Update = INSERT + DELETE

o INSERT performed within FME

o DELETE performed by Smallworld Magik programming post import

o Complicated logic:

o Smallworld treats 1 object as several (one per geometry)

o What constitutes a real “delete” and not just a “geometry removed”?

o What to do if we created split objects?

o Using Aggregator and Counter transformers to create mini sorting algorithms.

Page 18: Smallworld Data Check-Out to Microstation

18

Conclusion

o Successful deployment and many future enhancements to come

o FME enables a solution that is elegant and powerful

o Many of the system attributes can save your day

o Try FME command line for encapsulated solution

Page 19: Smallworld Data Check-Out to Microstation

19

Acknowledgements

o Gary Belcourt (BC Hydro Photogrammetry)

o Requestor and vision for the solution

o Mark Sedgewick

o High level design and strategy

o Smallworld FME “guru” on various legacy Smallworld issues and their solutions

o Text joins

o 3D points

o Donut features…

Page 20: Smallworld Data Check-Out to Microstation

20

Questions?