Another GIS Blog…

Posted by Dave Bouwman | Posted in General | Posted on 18-04-2005

0

We’ve set up a group GIS blog for the development team at Sanborn. Similar to this blog, it will be ESRI centric, and mostly .NET. The upside is that while I’m pretty much embroiled in web related work, our team will cover more ArcObjects development as well as the ArcIMS/ArcGIS Server area. Anyhow, pop on over to http://gis.sanborn.com and look under the “Developer Blog” on them menu.

ASP.NET Server Controls for GIS…. Part 1

Posted by Dave Bouwman | Posted in .NET | Posted on 07-04-2005

0

Recently we’ve started building another map-centric DotNetNuke portal module – but this time it’s going to talk to an OGC back-end (IONIC and MapServer). Anyhow, this has provided the time to address the creation of server controls that encapsulate the client side scripts, and provide a set of events that we can hook the “tools” into. My idea was to create controls that are independent of the back-end (ArcIMS / OGC) map serving technology. Additionally, I want to have the actual “tools” which implement the server side logic to be independent of the DNN module, the Server Controls assembly, and the back-end communication assemblies. Put differently, I want to have the tools in any assembly. This way I can deploy the controls and/or the DNN module, and not have to re-compile to add in additional tools. A tall order, but if you’re going to bother doing something, may as well try to do it right!

So – initially I’m creating 3 controls – a MapCanvas, a ToolBar, and a Table of Contents (LayerList). The toolbar will (not suprisingly) host tool controls. There will be 3 types – Tools which activate a sketch action on the canvas, commands which call client side code, and commands which directly post back into the Toobar control. I have ideas about some other controls to add – generic DIV, drop down box etc, but they can wait. The MapCanvas itself has a (open source) library of client side script for drawing shapes. When the shape is completed, the points collected are posted back into the MapCanvas control. From there, it rasies the appropriate event, which bubbles out to the ToolControl which started the whole thing, and which instantiates the class that actually implements the functionality. Whew!

This diagram is a coarse grain view of what we’re building. The MapCanvas and Toolbar are complete, as is the ArcIMS elements. We have a DotNetNuke 2.x map module that uses the ArcIMS components, and some pre-cursor user-controls for the mapping. An example site can be seen at http://dev.sanborn.com/kls

 

sanborn_web-map-framework.gif

Anyhow, over the next week or so I’ll post some thoughts on how things are going, and some of the gotcha’s in doing server control development. If you are going down this path, I highly recommend “Developing Microsoft ASP.NET Server Controls and Components” by Nikhil Kothari and Vandana Datye.

Cross Posting Test…

Posted by Dave Bouwman | Posted in General | Posted on 01-04-2005

0

I just setup a blog @ Blogger.com and want to try the cross-posting options from dasBlog.