Friday, January 19, 2007

FME as a Spatial Intelligence tool for Smallworld

Safe Software's FME suite of tools are usually thought of in terms of translating data in or out of a GIS database or for viewing foreign data using some kind of vendor-specific FME plugin. ESRI has one, Smallworld has one, and I imagine many other vendors do to.

But have you ever considered using FME as a Business Geographics or Spatial Intelligence tool?

FME has a
very rich suite of geospatial query and manipulation tools. Its FME Workbench graphical user interface is very easy to use and extremely well documented.

I recently worked on a task where a customer wanted to know how many valves they had in each grid of a matrix covering their service area. The idea was that field staff supervisors wanted to know the number of valves per area so they could know how to assign their staff to the various areas and also to check up on the quality of the work once the valve inspections were complete. The supervisors wanted this information in a spreadsheet.

So I went ahead and wrote some Magik code to create a CSV file based on various spatial predicates.

After I had delivered the code to the customer I started thinking about whether this could have been
achieved another way. Specifically, I wondered if I could use the FME Workbench tool to create the same results.

Well, the answer is YES! It took me about an hour to create the Workbench file but it finally created the
same CSV output report as the Magik approach did.

I think this opens up many possibilities for an organization's Business Analysts that want to use spatial information. Granted, they still need to know something about spatial analysis, but...

... think about the analysts in your organization...

To query some geographic data from your database, would they prefer to learn and write code like this ...

... or would they prefer to learn a Graphical User Interface that cleanly documents their query like this...

And if you are using FME anyways, then you are only minutes away from creating reports like...

(the height of each grid indicates the relative number of valves inside that grid)

I discovered that the extract code in Magik created the report faster than using FME, but that is mainly
due to how the Smallworld-FME interface is architected. I imagine Smallworld could improve the interface to speed things up. Spatial Business Systems have also created their own Smallworld-FME interface. I have not tested it and would be interested to hear from anyone who has compared the two interfaces.

In summary, I think that the FME suite is a very useful tool that an organization can pass along to business analysts to help them query data from Smallworld. And because they will be using FME, they can build queries that pull facility data from Smallworld, real estate data from Shape, customer data from Oracle and create a nice looking map for the managers using Google KML.

FME is typically thought of for data translation, but I suggest that it also opens up your data for easier access for query, analysis and reporting.


Dale said...

Hi Alfred,

Thanks for the insightful article. We too have found that FME has an amazing variety of uses -- in the past year we've begun using it ourselves in house to do such things as query our CRM, "spatialize" the data, and then visualize it using tools like Google Earth. (I've also used FME to build a catalog of all the FME source code change comments, and years ago we migrated CRM and later accounting systems using FME as the data pump.)

What we've found is that any time you might be tempted to write some kind of special code to manipulate data, you're always better off to use the FME graphical tools.

Anyway, good article, thanks. (I might just read a blog entry myself pointing to this one!)

Dale Lutz
Safe Software Inc.

Diego said...

Hi Alfred and Dale, mi name is Diego, I work for Edinfor in Brazil.

We recently had a similar situation with one of our clients who use SI to create thematic maps. (SI=>low performance)

We've developed some magik code to calculate a thematic map and create the CSV. The process takes something like 4 hours.

I was thinking to propose the use of FME Workbench to create some thematics maps like that, but I'm worry about that, because if it takes 4 hours using the geometry primitives inside magik, which could be the performance using FME, that should to read all the data through TICS, create the temporary FME format files, and so apply the transformers, etc... ?

do you think the performance will be better using FME ?

we was also trying to construct the query in ArcView reading from a shape file... Something must to was wrong, because last time I saw, the query was yet running and the time elapsed=10hours...

Alfred Sawatzky said...

Hello Diego,

I think the question you raise about performance is a good one. Clearly if all you were doing was a simple report that read each record/geometry from VMDS one time without any further querying, then Magik would be quicker than having to pipe the data through to FME via TICS. But my guess is that your thematic querying does various kinds of attribute querying/parsing. In that case using FME might actually be faster than using Magik.

One trick you might consider while developing your Workbench...
Depending on the amount of data that you are processing from Smallworld in FME, it might take a long time to run the workbench each time. You can speed things up by doing a one-time straight-across translation from the Smallworld format into FFS (FME Feature Store) format. FFS is the internal format that FME uses to do all of its transformations on before it converts it back to the target format. Storing Smallworld data in FFS data is a good way to do your development because your source data is stored in the format that FME can read the quickest. Once you are happy with the Workbench that you have created, you can change the Source Dataset back to Smallworld format in order to always get the most recent data from VMDS.



Anonymous said...

Someone knows how can i export information from the smallworld to shapefile?
Thank you,

Alfred Sawatzky said...

Hello Angela,

You could use FME from . Or, you could used SEPM Translator from .