Wanted: XAML for Spatially Enabled Workflows
After working with XAML for a couple of months now, I’m shifting gears to enhance a data exporter I wrote several years ago.
I sure wish there were examples of spatially enabled Windows Workflow Foundation (WF) applications for this sort of thing. The glamor of Silverlight/WPF is overshadowing a lot of useful things XAML offers for workflow. David Chappell has a good overview of WF here. Indeed, it seems like XAML could be used to implement a lot of the vision outlined by Paul Torrens in his ArcNews article.
What I’d like to see is a thin-client IDE where I could graphically design spatially enabled workflows on a remote server. A good example would be a parcel notification system on a municipal web site. Instead of relying on city staff to write apps, a web site could be provided to allow citizens to design workflows around city activities that impact them. Maybe what is needed is a Spatial Activity Library (SAL) to complement the lower level Base Activity Library. Perhaps each geoprocessing function in ArcToolbox could be wrapped and made available in a SAL and published by ArcGIS Server.
ArcGIS Server, Balkanization and Unintellisensibility
With five ArcGIS Server SDK’s to choose from, it would be helpful to have some sort of matrix summarizing relative strengths weaknesses of each. For now, it sure looks Balkanized.
I’m One of Those Types
Yes, I’m the type of guy who can’t stand stereotypes. You know, the kind that blurts out “generalizations are bad!” when cornered. Generally speaking, generalizations are bad – but not when it comes to IDE’s. I’ve gotten so spoiled on VS intellisense, working with javascript feels awkward. And not because it’s not an MS product – autocompletion in Sql Server Management Studio is quite annoying as well. From what I can tell, static types are what make intellisense possible. With Silverlight I can use intellisense to write all my client side code, if I so choose.
That may change with addition of dynamic types in C# 4.0. Generally speaking, dynamic types are a good thing, but it seems like it’ll make C# more like javascript. Here’s a good writeup showing how dynamic types simplify JSON interaction. Perhaps an understated advantage of SOAP over REST is static types. I guess as long as I have two monitors I’ll survive – with one of them eternally opened to the API reference docs.
Sense and UnIntelliSensiblity
Kirill shows how dynamic types can simplify use of COM libraries in .NET – at the expense of becoming unintellisensible.
This suggests ArcObjects programmers will be able to write code that is visually more elegant than currently possible – yet unintellisensible. It may look pretty during a code review, but I sure feel sorry for any non ArcObjects programmer tasked with altering it. It looks like it would even be possible to write an obfuscator disguised as a prettyfier. It would take Kirill’s first example, strip out the “using”, replace the static type with a dynamic type, and voila, prettier code.
Helpful Hints
By not providing a way to use table hints for spatial indexes in ArcSDE, it seems like ESRI is encouraging developers to write code that directly queries SqlServer tables, bypassing ArcSDE.
More on table hints here.
I wonder if having multiple spatial indexes on a column would make sense. For example, if I find the best index for a point in polygon spatial join differs from the best index for a polygon overlay, I could just have two indexes and specify the appropriate one using a hint, depending on the type of join.
Table hints are usually frowned upon for non-spatial tables, but I think it will be a long time before query optimizers are smart enough to pick the best spatial index.
Terrorism, Lawns and the GeoWeb
Mow West, Young Man
Sayyid Qutb traveled from his home in Egypt to visit Greeley Colorado in the 1950’s. The things he saw in Greeley greatly influenced his ideas about society. One thing that really bothered him was the local’s lawn care rituals.
The mowing habits of his Greeley neighbors helped provoke Qutb to write a book sparking a fundamentalist movement that eventually led to the formation of al Qaeda.
While we may be tempted to slack off on lawn care, especially during a drought, we must remain vigilant. Communism wasn’t defeated through appeasement, and neither will terrrorism. This is not a conventional turf war: terrorists view an un-mowed lawn as an admission of defeat.
GRASS Won’t Cut It
Extreme times require extreme measures. What the GeoWeb needs is a service where users can develop lawn mowing mission plans. By bravely volunteering their geographic information not only would homeowners help out in the war on terror, but could also save a bit of leg work. A good plan can minimize wasted effort spent pushing a mower across areas already mowed. Think of it as situational awareness on the home front.
Someone should seek funding from the Department of Homeland Security to develop a Lawn Mowing Mission Planning Application. This app could leverage existing REST services, like those used to support the City of Greeley’s showcase web site.
For example, a home owner would fire up Sketchup and configure a Dynamic Component for the lawn to reference the url of the parcel, which returns coordinates. The user would then digitize their lawn using 3D tools to describe low hanging branches, then save it to the Google Maps Data API.
Once the lawn is in the datastore users could do things like request mowing plans, or bids for mowing services.
Mow Forth And Sin no More
Sketchup is not a thin client though. Silverlight could be leveraged to write one. Flex would work too, but it lacks multithreading. While ESRI will be providing a KML layer in the Silverlight API, there doesn’t seem to be much support for KML with XAML. Maybe the Microsoft Virtual Earth Silverlight control will address this. If Google would provide SWIG interface files for C#, it seems like we could start doing this. For a company whose unofficial motto is “don’t be evil”, a bit of C# support could buy a lot of absolution.
China Tries to Map US Electric Grid

“The Chinese have attempted to map our infrastructure, such as the electrical grid,” said a senior intelligence official. “So have the Russians.” – Wall Street Journal.
I wonder what software they were using. Maybe they’ll present their work at a user conference.
Information silo protectionists should find this news comforting. Organizations like Multispeak might find their task more difficult.
With over $1,000,000,000,000 in US treasury notes, it might be that China simply wants to map what it owns.
Silverlight Mapcontrols, XAML, and GeoProcessing
Last week I dug into the Virtual Earth Silverlight CTP mapcontrol. Since most of my work involves C#, I like being able to write web apps without shifting gears to code in javascript. Silverlight lets me do this, plus it offers a performance advantage over javascript.
While the VE mapcontrol has some good samples, I couldn’t find what I wanted: a simple sample showing me how to interactively draw a polygon on a map. So I downloaded the ArcGIS Silverlight Beta mapcontrol. I found the sample I needed right here. I’m really curious what the equivalent code would look like for the VESL mapcontrol.
I was recently working with XML deserialization of Geoprocessor tools. I was trying to determine (and override) the logic used by the UI controls in the IMdElementEditor. I hit a dead end though. After working a bit with Silverlight, I think it would be great if the Geoprocessor were re-written around XAML.
If this were done, it seems like a silverlight version of modelbuilder could be offered. I would like to connect to my account at ArcGIS Online and use modelbuilder to create/edit and run models that operate on layer packages located on the server. The geoprocessing would occur in a sandbox on the server, with an option for the modeloutput to be a layer package on the server, or streamed back to me as an Element Layer. This sort of capability would help differentiate ArcGIS from Virtual Earth.
Planetary Skin, Astronomical Numbers
Living on Earth had a segment on the radio yesterday mentioning Planetary Skin. Cisco and NASA are teaming to form yet another contender for stimulus funding, with a mission sounding a lot like that of UNEP GRID.
Trillions of Gigabits Every Day
The radio program said “the amount of data from space sensors monitoring the earth is measured in the trillions of gigabits a day and shared internationally.”
I don’t follow remote sensing that closely, but this seems a bit (or two) high. One weeks’ data would be a trillion gigabytes, which equals a billion exabytes. Then again, maybe that explains why Cisco is on the team. Or maybe deficit spending has somehow trivialized trillion.
Billions of Decisions Every Day
Listen to the BBC inflected narrator in the video channeling Carl Sagan. Notice how UAVs in the video are “re-purposed”. Perhaps the military industrial complex will buy into environmental monitoring.
Planetary Skin will directly address this situation by providing a common platform for integrating data; scientific, economic and risk models; data processing and communication networks; and visualization and collaboration tools. - Planetary Skin
A Global Platform for a New Era of Collaboration
Two Trillion Currently Owed to China
I wonder how receptive China will be to having us monitoring them. As our largest creditor, their leader has expressed concern over our debt. I hope they don’t mind loaning us money for this.
Kundra, the Cloud and National GIS
It doesn’t sound like Vivek Kundra, the new federal CIO, is the kinda guy we’d expect to support something like the National GIS.
Kundra also wants to use technology such as cloud computing to attack the government’s culture of big contract boondoggles and its hiring of contractors who end up “on the payroll indefinitely.”
If we are going to sell Kundra on the National GIS, we should emphasize innovation instead of job protection, perhaps by focusing on Cloud based GIS. As I’ve said before, ESRI should enhance the “Author, Serve, Use” paradigm to allow the authoring of geoprocessing tools to be performed outside the firewall.
Installing Updated ArcSDE 9.2 License
I used Programs>ArcGIS>Software Authorization DevKit to install a new ecp license from EDN. I then used Programs>ArcGIS>AuthorizationSummary to confirm that the new ArcSDE license had been installed (with a timeout date in the future).
When I tried to start the ArcSDE for SqlServer service I got this in my giomgr_esri_sde.log file:
Error (-327), No ArcSDE server license found.
Solution was to go into Programs>ArcGIS>ArcSDE>Post Installation. In the wizard, choose custom install, then check Authorize (and uncheck all other options). Then browse for the ecp file.
I was then able to start arcsde service.
GIS in the High Seas

Olivia Newton John’s husband was thought to be dead, but turns out he faked his death and has been sailing around Mexico and South America.
With so much interest lately in seafaring with Google Earth 5, I find it interesting how geospatial technology was used to trap him.
They set up a Web site ostensibly to collect tips about his whereabouts, but it was actually used to see out who logged in and where they were located. Investigators monitored all hits on the Web site, and began to notice patterns about the location of people who accessed the site.
From At Large.
Leave a Comments
Comments(2)
Leave a Comments