Ray Chien from Fujitsu Consulting, has created a Smallworld plugin capable to "check-out" Smallworld data into Microstation format, where it may be edited and "checked-in" back to Smallworld using FME 2014 desktop transformers. Written for the 4.0 Smallworld Translator, it does not support fme_db_operation and 'true' updates, but can accurately detect changed features and only replace those as needed. While Microstation does not support feature attributes, data integrity is preserved by combining with Microsoft Access Linkage support. In addition, the plugin is written with full Dynamic reader and writer support, making it scalable and adaptive to data model changes.
2. Introduction
o Who We Are: GIS Team at Fujitsu Canada
o Our Customer: BC Hydro Transmission & Distribution Dept. since 2012
o Smallworld based applications
o Projects and enhancements
o 3rd tier user support and maintenance
2
3. Introduction
Applications 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
3
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
4
5. Design: High Level Use-Case
Updating 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
5
6. Design: User Interface
o Export Panel
o Spatial Criteria
o “Project” Tracking
o Objects selected
6
o Import Panel
o “Project” reference
o Step-by-step process
o Output log
8. Workflow Strategy
2. Keep a backup and deliver to user for Edits
Backup (Original)
User Copy (Edit)
8
9. Workflow Strategy
3. FME Import with both Original and Modified Microstation files for
comparison, using the ChangeDetector Transformer
9
Backup
User Copy
12. Process details
Translating 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
12
13. Process details
Translating 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.
13
14. Process details
Keeping 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
14
ENTITYNUM
MSLINK
15. Process details
Background 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
15
16. Process details
One 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
16
17. Process details
How 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.
17
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
18
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…
19
Hi everyone
My presentation today will talk about a recent project that I’ve finished successfully, which allows us to essentially ‘Check-Out’ Smallworld data to other formats, which we began with Microstation.
First of all, let me introduce myself
We are the GIS Team at Fujitsu Canada, who have been providing GIS services to BC Hydro since 2012. BC Hydro is our main and only client, and we dedicate our resources to the support and enhancements of its applications and databases. We are a team of 10 people, and represent the strongest pool of Smallworld expertise in all of Lower Mainland (in my opinion).
Over the past decades, BC Hydro has developed a full suite of GIS applications specifically geared towards supporting its Distribution and Transmission businesses. All of these are Smallworld applications, and their data stored in Smallworld VMDS repositories. They are shown as follows in no particular order.
During the design phase, this is a storyboard that I created to capture the workflow.
This front end:
* Allows selection of
As we all know, things aren’t always as simple as it looks initially, and definitely that was the case with this project, as I’m going to explain in the following slides.
Smallworld and Microstation cannot be more different, for several reasons.
In Smallworld, an object often contains more than one geometry field, and very often they are of different types (point, line, polygon).
In Microstation, which is a CAD system, there is no such thing as an object. Points, lines, and polygons are stored on levels, which may have names, but these objects may not have attributes.