Saturday, July 31, 2010

Smallworld and OpenStreetMap #swuc

Lately I have become very interested in the possibilities of integrating data from (aka OSM) with Smallworld. You can find out more about the mission of OSM at, but in summary…

“OpenStreetMap creates and provides free geographic data such as street maps to anyone who wants them. The project was started because most maps you think of as free actually have legal or technical restrictions on their use, holding back people from using them in creative, productive, or unexpected ways.” (

Think of OSM as Wikipedia but on a world-wide geographic database. I am presenting at this year’s Smallworld Americas Users Conference in September a presentation entitled “Let other people maintain your landbase (without having to pay them)”. It will be a discussion of some options available to Smallworld users to get out of the landbase maintenance business. Most of it will be centered around OpenStreetMap and how you can integrate that freely available data as a Smallworld data layer (both raster and vector data). The session will be in the last time slot of the conference on Saturday, so if you are interested in the topic but cannot attend the presentation, please let me know and I will send you the slides.

As an example of OSM data, if you are a utility that has Bakersfield, California, USA in your service area, have a look at this link This is the OSM data that is available for this area. If you read the attribution on the features in this view, you can see that someone got the data from the City of Bakersfield GIS download site. You don’t get that kind of building detail (even individual trees!) from Bing or Google. Although if you do integrate aerial imagery into Smallworld you could just see the building profiles. But if you are testing the viability of integrating external datasets with your Smallworld environment, you might want to consider OSM. The price is right and the data quality/quantity keeps increasing. The beauty of OSM data is that if you know that some data is missing or incorrect in the map, you can make edits to the database yourself and the changes will be available on the map within an hour or two. That kind of turn-around is not available from most other data vendors. Clearly there are trade-offs between using OSM vs. Bing/Navteq/TeleAtlas but that is what I hope to cover in my presentation.

If anyone has questions about how OSM could be integrated into their Smallworld database, please let me know.

Thursday, July 22, 2010

Smallworld Americas Users Conference #swuc

The 2010 Smallworld Americas Users Conference is coming up soon (September 8-11, 2010). You can read more about it here. An important thing to note is that the order as well as the start day are different compared to previous North American Smallworld Users Conferences:
  • Training sessions occur on Wednesday and Thursday (September 8 and 9)
  • The opening Cocktail Reception and first Technology Showcase Exhibition is on Thursday night.
  • Opening session and workshops start on Friday morning and finish on Saturday afternoon.

So this year there is 1 less day of workshops than in other recent North American Smallworld Users Conference. So now there is no excuse for anyone to leave early :)

Twitter alert!!! If you will be sending tweets about/from the conference, I suggest that you use the hash tag #swuc

Here is why I will be using Twitter at the conference:
  • coordinating information technical meetups. (Kind of like an informal unconference)
  • provide commentary about workshops. Hopefully if enough other people send tweets, I can find out what is happening in workshops that I am unable to attend
  • reach out to new attendees and international guests. The Smallworld Users Conference is a great way to network and get caught up with friends and colleagues from years gone by. Unfortunately, if you are new to the Smallworld community in North America you might find it more difficult to access this great network. Using a well-known channel such as Twitter will allow anyone to post questions/answers related to the conference during the conference.
I'm curious to see how this will take. I have had great experiences with this kind of approach at other conferences. I imagine there could be benefits to the Smallworld Conference attendees as well.

See you in September!

Friday, July 9, 2010

FME Import Zoom to Smallworld Map

In the SWAF version of the Smallworld-FME plugin, it would be nice to have the current Smallworld map "goto" the bounds after the FME import has completed. This comes in handy when you want to easily find your just-imported data for subsequent review.

Apparently this functionality used to exist in the pre-SWAF version of the FME plugin.

I have uploaded a sample of some tweaks you can make that will enable this functionality at Smallworld version 4.x (SWAF).

The basic steps are:
  1. in fme_tics_client.private_run(), determine if there are any smallworld_product.applications that might be interested in knowing where the FME-imported geometry bounding box is
  2. if there are any such applications, then create a dynamic variable geometry_set that!received_feature() can add newly-created geometries to
  3. back in fme_tics_client.private_run(), send a :goto_request databus message to all the relevant applications with the geometry_set populated in!received_feature()

Have a look at this file (fme_goto_import_geometry_set.magik) to see the details of how it is done.

Thursday, July 8, 2010

WMC Webinar Next Week

iFactor Consulting (my employer) is putting on a webinar next week featuring the Web Maps Connector. There's some pretty cool stuff in there in terms of integrating Smallworld with outside data sources (landbase, weather, satellite imagery, street routing, geocoding, reverse geocoding). If you are interested, please click here for more information.

Thursday, July 1, 2010

FME SmartCleaner makes things easy

I recently had a customer requirement to:
  1. read Lot lines and lot labels as two separate layers from a single DWG file
  2. where possible, stitch the lot lines together to make a polygon
  3. where possible, figure out which lot label is inside each of the newly generated polygons and aggregate those two geometries into one RWO in Smallworld

It turns out that step#3 can easily be done with PointOnAreaOverlayer and Aggregator.

But step#2 didn't seem that easy. I had tried Intersector, TopologyBuilder and Snapper but I never seemed to be able to get the over/under shoots to snap. Then I remembered to check and discovered that there is a custom transformer that does exactly what I needed. It is called the SmartCleaner and is described here.

You can choose to either link or embed this Custom Transformer. I chose to embed it into my existing workspace. This made it transportable across user machines without having to ensure that each user explicitly installed the custom transformer.

When I looked at the internal workings of the SmartCleaner, I realized why my efforts to use Intersector and Snapper were inadequate. The following screen snapshot shows the complexity of the SmartCleaner.

All I can say is a hearty "thank you" to Dave Campanas at Safe Software for creating this Custom Transformer and making this over/under shoot snapping so easy to implement.