Archive for August, 2007

Moving Fast Pushpins

While I was excited to see the OpenGL support in AGX, I didn’t find ESRI’s Custom Drawing sample to be very exciting.

So, I modified it by adding a timer that moves Pushpins around the globe.

The modified code is here.

Build 410 or later required.

OpenGL for AGX … did I just feel the earth move?

As Location Based Soup points out, the latest AGX build has some cool stuff. At first glance it looks like support for OpenGL in the new build of ArcGIS Explorer could make for interesting plate tectonic tools.

plate tectonics

Particularly, it seems like a list of rotation steps for different plates could be played back through time (where each has a different pole of rotation). Perhaps quaternions would make adding up the rotational vectors easier, here’s a tutorial that might help with the math.

Animations like these would be more interesting in AGX.

(Un)Embeddable Google Maps for WordPress.com

I was excited to hear about embedding google maps in my blog.

They say it’s just like embedding YouTube videos. Well, not quite.

Unlike videos, embedded maps use IFrames, which WordPress.com strips out for security reasons.

WordPress massages the code pasted from youtube into a url. I wish they could do something similar for Google Maps

Tiling Tools

This news about a new chip called Tilera is interesting. Strange naming coincidence - it seems the chip could be useful for keeping map cache tiles updated.

I’ve heard that keeping map tile caches updated is a challenge with ArcGIS Server. I see that the GenerateMapServerCache has a thread count property. I wonder how hard it would be to generalize this to spawn subprocesses on different chips.

Or more generally, would it be possible to write a tile cache generator that could run in Amazon EC2, writing tiles to S3?

GIS as a Silo of Babel

MC Escher Tower of Babel

The GIS Dev Cafe is asking where is the community? A community needs a common language.

Lately I’ve felt that GIS is a Silo of Babel quickly crumbling.

God, observing the arrogance of humanity in the construction, resolves to confuse the previously uniform language of humanity, thereby preventing any such future efforts.
Wikipedia on The Tower of Babel

While once we could live comfortably in the silo, we now must build solutions that connect with the rest of the world, requiring us to deal with many languages: SQL, C#, XML, javascript …

I don’t find the slogan “GIS is the language of geography” to be very enlightening. It’s not a language - not even a metalanguage. Please don’t get offended, but GIS can best be described as a religion.

When I encounter a problem with a GIS solution I usually search web sites that focus on that particular language. But when the problem is peculiar to GIS namespaces, the resources are not quite there yet.

Geography is about describing where something is, for example, by using a point. But look there’s several Point class in the new testament (ESRI.ArcGIS.aRCWebService, ESRI.ArcGIS.ADF.ArcGISServer, ESRI.ArcGIS.ADF.Web.Geometry), plus several in the old testament (ESRI.ArcGIS.Geometry, ESRI.ArcGIS.DataSourcesFile.ISMRouterPoint) Juggling between these different namespaces often amounts to an exercise in exegesis.

Right now ArcGIS Server is stuck with yet another chicken vs. egg dilemma. In order for a community to form, there needs to be a language, in order for people to learn a language, there needs to be a community where they can practice conversation.

Maybe a Revival Tent is needed as a third choice (place?) between the Cathedral and the Bazaar. We need to freely share experience, while not necessarily sharing our intellectual property. Perhaps Dave can make such a tent using ArcDeveloper.net.

revival tent

ESRI has forums, but there’s not much activity there. Maybe everyone is being shy? Perhaps one way out of this is to start speaking in tongues. Stop being so orthodox - get out there, roll on the floor, maybe even handle a few snakes to get into the mood. Better yet, help me.

snakes on a plane

Text Elements in an ElementGraphicsLayer

In a previous post I incorrectly implied there is no textelement for elementgraphicslayers.

Now I see that a graphicelement may be assigned a TextMarkerSymbol, whose text may be assigned a string.

Now, if only Map.RefreshResource would let me pass an envelope so the whole layer wouldn’t flash (similar to IActiveView.PartialRefresh) my app would be safe for epileptics.

3D Photography

Lots about cameras in the news lately …

Google Earth Blog writes about Pict Earth, with images from a camera mounted on an RC plane.

The images don’t register too well in the kml file though. Seems like kml 2.2 would work better for this, using the Camera element.

Meanwhile, Microsoft is working hard on Photosynth and has a a video showing the shuttle. Would be nice to see more on how photosynth handles time dimension.

slashgeo also points out news.com article mentioning 20,000 security cameras in China.

Hopefully a balance of power between government cameras and crowd cameras will emerge.
bogart
Here’s lookin’ at you, kid.

Back in Silicon Valley, All Points points out how parents are wanting to track their kids. Could an electronic nanny service be outsourced to China?

Thoughts on Editing with ArcGIS Server

The editing tools offered by Google My Maps have raised the bar for user experience. Moving, adding and deleting vertices is so simple.

The user experience of tools in the Editor Task of ArcGIS Server does not compare favorably. Better thin client (javascript) editing tools are needed.

If you don’t like the Editor Task, you’ll need to purchase ArcEditor or 3rd party tools that use the ArcGIS Engine editor extension in order to edit ArcSDE. After purchasing ArcGIS Server Enterprise, upper management may question the need for this.

Even if ESRI provided better javascript though, I still wonder if ArcSDE could hold up on the back end in a crowdsourcing scenario. Perhaps an alternative editing workflow is needed - a Task that supports editing and saving GraphicsLayers in the web tier. The GUI could be like My Maps, but with lots of ADO.NET niceness.

That way after someone in the crowd edits and saves a graphicslayer, a “GIS professional” pulls the saved graphicslayer into an ArcMap (ArcEditor) edit session, cleans it up, blesses it, and loads it into ArcSDE. The tools to do this don’t exist AFAIK, but it doesn’t seem like it would be that difficult to develop them.

Note that either a new graphicslayer is needed, TextElementLayer, or maybe just a new FeatureSymbol based class (TextSymbol?). Even if this isn’t done with the intent to support crowdsourced editing, it’s still needed just to provide some equivalent to the Draw toolbar in Arcmap.

Mapping, DogFooding and Crowdsourcing

I finished the first day of ESRI’s instructor led training “Developing Applications with ArcGIS Server Using the Microsoft .NET Framework“.

Given the recent buzz about crowdsourcing, I was surprised to find no module in the courseware for editing. Isn’t simple map editing fundamental to crowdsourcing? Can ArcGIS Server even support crowdsourcing?

Normally I don’t think of dog food at lunch time, but today was different.
alpo.gif
I heard the term was inspired by Lorne Green’s Alpo commercials where he’d say something like “it tastes so good, I even feed it to my own dogs!” In this context, I’m suggesting DogFooding as a means for ESRI to test its own technology internally.

So instead of handing out a rather lame map of nearby restaurants, ESRI should provide a crowdsourced web map edited by students/restaurant critics. This should be a simple start.

In that spirit, I have prepared this map of places within walking distance of ESRI’s San Antonio office where one may eat for free.

As a refinement, I’d like to be able to SMS from my cell phone in Costco “excellent kashi samples on aisle 312″, and have it added to my server. Get it while its hot.

Google and the future of GIS Professionalism

Allpoint’s points out a computerworld article reviewing the raging debate.

Sounds a lot like the debate over the role of professional journalists in the blogosphere.

Shade Tree GIS Mechanics
Dangermond’s question “Who wants to dig a hole and run into a pipe?” struck close to home. I was planning on planting a tree in the back yard a couple of years ago. After calling the water, electric, telephone a cable TV companies, each came out with detectors and marked on the ground where their utilities were. All these utilities have GIS, yet they did not add them to their map. I planted a tree in a safe spot. A few months later, when I wanted to plant large bush, the orange spray paint they marked our lawn with had faded away. Now that Google has released My Maps , I could almost add the utility locations myself. If it were on-line, the utility company would even be able to link to it.

I say “almost” because google is missing the most basic data layer for homeowners: parcels. Since parcels are in the public domain, I suspect some day (soon?) google will hav those too. When that day comes I will be able to measure how far from the property line the pipe/cables/conductors are and digitize them into my maps.

But what about Analysis?
GIS analysis gets a lot of attention, but currently most work revolves around just keeping track of where things are. Nevertheless I suspect the debate will become more heated as Google adds analytical capabilities to their web mapping apps.

I’m not a Google pagerank expert, but their “page rank algorithm including a dampening factor” sure looks like those adjacency matrices could be harnessed to do some cool GIS analysis.

After all, ranking how close things are to each other is the foundation of geographic analysis (see Toblers first law of Geography). I think it is only a matter of time until Google tweaks their search engine to search geographic space with the same ease as they search text space.

What if Google indexed parcels nationwide? Advertisers would likely be willing to pay money to appear next to parcel search results. Most large cities already provide web access to parcel databases, often with map interfaces. I bet people would like to request alerts like this: Send me a list of all parcels about to be foreclosed on that are more than 1 mile but less than 3 miles from a major freeway and within 2 miles of an elementary school ranked “acceptable” or better based on the NCLB test scores.

Can Google Maps Save us from Recession?
The big drop in the stock market last week supposedly was a result of fears about mortgage defaults. Once houses in a neighborhood start being foreclosed upon, there can be a snowball effect. As the foreclosures drag down house values, more homeowners become under water - with debt exceeding assets, in turn causing more foreclosures. It could be argued that more efficient search engines are needed to expedite the marketing of foreclosed properties. So therefore it would be in the interest of an appraisal district to collaborate with Google.