Here’s a post which expanded a bit from the intended single paragraph. So, as a break from espousing FME2010, here are some thoughts on sharing your output from both FME Desktop and Server, via a web service.
Sharing Desktop Output
Let’s say you want to share some spatial data to people who aren’t on the same local network. One way suggested to me recently is to use a web service called Dropbox.
Dropbox is an application you install on your computer which creates a new “My Dropbox” folder. The folder is automatically synchronized with the Dropbox servers to create an online copy.
Where Dropbox really works is that, because it has a local folder, you could set an FME workspace to write the output of a translation directly to that dropbox. Do you see where this is headed?
Check out this workspace (below – click to enlarge). It reads a MapInfo dataset and writes a KML output to the My Dropbox folder.
Once I’ve run the workspace the data is made public on the Internet (through the Dropbox Servers), and in a much easier way than writing Python shutdown scripts to do the work. To find where, I locate the local KML file in Windows Explorer, right-click it, and choose the option to copy a public URL link to the clipboard (below).
The URL it gives me is: http://dl.dropbox.com/u/4200566/CityParks.kml – and I could just pass this URL to someone else to access the data (try it yourself), re-running the workspace whenever the source data changes. But I can also take it a step further by importing the dataset directly into Google Maps (below).
Ta-da! The data is opened (below).
But of course Google Maps has a unique URL for this map, which I can send to someone else, or embed in a web page somewhere. For your information the link is:
This FME procedure is timely because Google recently accounced the ability to upload and store data other than documents in Google Docs. You can’t write directly with FME, but it’s an obvious step for us to implement given the increase in web services and cloud computing.
Static vs Dynamic Access
Of course what you can now do is schedule your OS to run the same FME workspace at the same time every day, so that if the source data changes the users of your map will get the latest version.
However, this is still what I would call a static process. The end user isn’t accessing the source data, but merely a snapshot of the data from a given time.
What you really need in a case like this is FME Server! That way you can translate the data – live! – and stream it directly to KML.
Here (below) I publish the workspace and source data to FME Server (on www.fmeserver.com)
Now to give someone a completely up-to-date version of the data, I can give them this URL:
Or, I can publish that URL into Google Maps, and retrieve a link which combines the workspace output with Google’s background data:
And this is truely dynamic since every time an end-user makes use of either of these URLs, they are in fact running a workspace on FME Server, and streaming the data back into their application of choice.
“I’d like to teach the world to share
By using F-M-E,
I’d like to stream the geoweb
Thanks and kudos to Safers Ken, Michael and Aaron for their ideas and suggestions.
Mark IrelandMark, aka iMark, is the FME Evangelist (est. 2004) and has a passion for FME Training. He likes being able to help people understand and use technology in new and interesting ways. One of his other passions is football (aka. Soccer). He likes both technology and soccer so much that he wrote an article about the two together! Who would’ve thought? (Answer: iMark)