Congratulations to the winners of the 2008 ArcGIS Server Code Challenge.

First Place: $15,000

Display Geospatial Analysis results in Google Maps and Microsoft Virtual Earth with ArcGIS Server 

John Waterman, Vice President of Geospatial Solutions, East Burke, Vermont, USA


Second Place: $7,500

ArcGIS Server Virtual Earth Tile Server

Dave Bouwman, Senior Software Architect, Data Transfer Solutions (DTS), Fort Collins, Colorado, USA

 

Third Place: $2,500

SDE Web Catalog

Loganathan Vijay Sambandhan, GIS Developer, Buffalo, New York, USA

 

Honorable Mention

Google Maps Adapter to ArcGIS Server Map Cache 

Nianwei Liu, Senior System Analyst Programmer, Charlotte, North Carolina, USA

Thanks to everyone who participated in this year's challenge--epecially the code authors.

Winners will be announced at the DevSummit next week and then posted here.

Good luck and see you in Palm Springs, CA!

--the Code Challenge Team

By John Waterman, Vice President of Geospatial Solutions, East Burke, Vermont, USA

Download the script.

Code Summary

Google Maps and Microsoft Virtual Earth are familiar, fast, and cool mapping web sites. ArcGIS Server is a powerful GIS analytical engine. This code sample demonstrates displaying simple geospatial analysis results in Google Maps and Microsoft Virtual Earth while using ArcGIS Server as the GIS processing engine.
For demonstration purposes, parcel attribute information is displayed along with geometries from a simple buffering operation.

Demonstration site for Microsoft Virtual Earth:
http://www.gcs-research.net/veparceldemo/

Demonstration site for Google Maps:
http://www.gcs-research.net/gparceldemo/

More infomation in the README file:
http://www.gcs-research.net/gparceldemo/README.pdf

Thanks to all of you who submitted entries to the 2008 ArcGIS Server Code Challenge.

Voting forms will be e-mailed next Wednesday, March 5. You only get one vote, so review the entries posted here carefully. You will be able to vote up to 9:00 a.m. pacific daylight time Thursday, March 13, 2008. The winners will be annouced at the DevSummit and will be posted on the blog.

Thanks again and good luck!

 

--The DevSummit Team 

 

By Ranjit Menon, Technical Lead, Fort Collins, Colorado, USA

Download the script.

Code Summary

Overall Functionality:

This code presents a strategy that would allow disparate GIS users, not working in the same organization, across the internet to share their data.

There are *no* constraints such as being on the same LAN or company domain – any person who wishes to share their data can do so and that data can be viewed if the machine with the data is online.

Since the data is stored on the machine that is sharing the data, the ArcGIS server machine is not strained and the solution is completely scalable. ArcGIS Server only keeps track of the shared data sources and facilitates the communication between the data viewer and the data source.

Currently only native ArcGIS data is supported, however, any other type of data that can be converted into shape files could also be shared.

By Loganathan Vijay Sambandhan, GIS Developer, Buffalo, New York, USA

Download the script.

Code Summary

This application has been built to act as an online catalog of an Arc SDE data. Using this application, GIS data in the server can be viewed through a web browser in a manner similar to how it can be viewed in Arc Catalog.

This web Catalog has been developed using the EXT JS 2.0 framework. Ext is a client-side, JavaScript framework for building web applications. Using these users can explore a Data layer over the web.

Features included in this application are

o See the all the data layers present in SDE in a tree view similar to Arc Catalog. The layers have icons similar to the ones they have in Catalog to distinguish which is which.
o View the Layer image.
o Examine the Attribute values.
o Look at some Metadata Information of the Layer in a tabular format similar to FDGC ESRI Style Sheet used by Arc Catalog by Default
o The Controls and Panels are present in a tabular format similar to Arc Catalog.

The main focus is of this web application has been to make sure that the behavior is as close to Arc Catalog as possible when browsing data.

for a preview of the application please visit
http://gis.bergmannpc.com/agscc/default.aspx
(Navigate to the Layer you want to review and Double Click it.
Please ignore the first Feature Dataset Named SDE.GIS.LivingstonData, it is empty
Could not remove it because of SDE Issues. :) )


This application at present cannot handle Raster Data and also at present you can view only one SDE Spatial Data Connection at a time. (I will add these features in later after Code challenge is over)

By Helen Ireland, GIS Senior Analyst, Tucson, Arizona, USA

Download the script.

Code Summary

This code snippet shows how to modify the public function Identify in mapidentify.vb so that data stored in an Access table is appended to the results. The table or query name is stored in a hidden variable in default.aspx and is passed to the variable "message" in display_mapidentify.js.

By John Little, GIS Manager, Greenville, North Carolina, USA

Download the script.

Code Summary

Drag and Drop Custom Controls Bring ArcGIS Server Mapping to the Desktop.

These custom controls allow the programmer to design and implement desktop based ArcGIS Server applications in minutes. With drag and drop capabilities and full design time support you can rapidly deploy map applications across an organization. Use the controls separately or together to design robust mapping applications.
Since the controls use the SOAP API you won’t need to worry about installing any ESRI components client side. Even the programmer using the controls doesn’t need to know any ArcGIS Server related code.

The control set includes a Map Control, Table of Contents Control, Toolbar Control, Identify Results Window and Search Results Window. These controls communicate with the ArcGIS Server Map Services through the SOAP API which frees the developer to maintain complete control of the application.

Through the unique design of the Map Control your application will support all navigation and sophisticated display routines you’ve always wanted from ArcGIS Server.

Perform functions such as translating your Map service into a fully functioning Table of Contents with support for multiple maps, labeling and symbology right out of the box. It even supports cached and non-cached services.
With the toolbar control you can get exclusive access to Identify, Search, Map Navigation and MapTips.

Complete with all source code, complete code documentation(including Help file) and sample application you will be up in minutes. Best of all you have the source code for it all.

By Ed Clow, Programmer Analyst, Austin, Texas, USA

Download the script.

Code Summary

ColorTool is an ArcGIS Server 9.2 SP4 geoprocessing service that populates a field in a polygon feature layer with color indices in such a way that no adjacent polygons share the same color value. This color field can then be used as the value field for a unique value renderer to symbolize the feature layer in a cartographically effective manner. The user specifies a new or existing field along with a range of values to be used as color indices (a minimum of five values is required).

This tool addresses the issue of displaying a large number of contiguous polygons with a relatively small number of distinct colors. The tool works by analyzing each polygon in relation to adjacent polygons and assigning values so that no two adjacent polygons have the same value. Applying a unique value renderer to this field illustrates the resulting color scheme.

The core functionality of ColorTool resides in a C# DLL written with ArcObjects; the DLL is invoked from an ArcGIS Python 2.4 tool published as a geoprocessing service in ArcGIS Server. ColorTool demonstrates the flexibility of ArcGIS Server as a platform for distributing ArcObjects code in a server-based environment.

This tool will be especially useful for symbolizing spatial data such as parcels, school districts, political districts, and census geography.

By Deona Evans, Software Engineer, Huntsville, Alabama, USA

Download the script.

Code Summary

ASMap is a java bean that allows you to connect to ArcGIS Server and perform basic map functions such as:
- Navigation: Zoom In, Zoom Out, Pan, Full Extent, Set Extent
- Create points, lines, polygons, and text on the map
- Export a snapshot image of the current map
- Info-Click the map for feature information
- Turn on/off layers of the map
The functionality provided in the ASMap class can be used in a java client application or a web application. An example of both clients is provided. To connect to ArcServer you simply provide ASMap with the domain, host, user, password and the map service you would like to see.
Please refer to the Readme.doc file for more information on how to get started using ASMap. JavaDocs are available as well.

By Igor Reuter, Developer, Vitoria, Brazil

Download the script.

Code Summary

This code allows you to build and add layers dynamically on the map making a merge of the current layers of the map files with Excel. In my example follows a MXD with 3 layers and 3 Excel files attached so they can be executed these junctions. This feature can be very useful to insert dynamic data, fast on your map on the web. Reading the Readme.txt file you will see how easy and productive use this feature.

By Tom Schuller, GIS Manager/Java Developer, Luxembourg, Luxembourg

Download the script.

Code Summary

Integrate the ICEfaces (www.icefaces.org) technology with the ESRI WebAdf for Java.

ICEfaces simplifies extremly any AJAX-enabled web-devlopment.
Use that power with the Esri web-applications.

Why should it do that?
- Only the modified parts will be updated out of the box. Fully AJAX enabled.
-- Smooth, incremental page updates that do not require a full page refresh to achieve presentation changes in the application. Only elements of the presentation that have changed are updated during the render phase (D2D).
-- User context preservation during page update, including scroll position and input focus. Presentation updates do not interfere with the user’s ongoing interaction with the application.
- You don’t have to handle the AJAX communication
- Server-initiated asynchronous presentation update
-- Standard JSF applications can only deliver presentation changes in response to a user-initiated event, typically some type of form submit. ICEfaces introduces a trigger mechanism that allows the serverresident application logic to push presentation changes to the client browser in response to changes in the application’s state. This enables application developers to design systems that deliver data to the user in a near-real-time asynchronous fashion.
- Work directly with the W3C Html elements
-- ICEfaces Direct-to-DOM (D2D) rendering is just what it sounds like the ability to render a JSF component tree directly into a W3C standard DOM data structure. ICEfaces provides a Direct-to-DOM Render Kit for the standard HTML basic components available in JSF.
-- One of the key features of Direct-to-DOM rendering is the ability to perform incremental changes to the DOM that translate into in-place editing of the page and result in smooth, flicker-free page updates without the need for a full page refresh.

My DEMO-Application features:
- Draw user-defined text on map
- Measure distance/area/perimeter
- Resize current display map
- Send current map config by email
- GeoBookmarks
- Table of contents TOC with context menu
- Export Attributes to MS Excel
- Export Geometries to Autocad DXF
- User login
- Chat functionality
- Direct ArcSDE Edit Framework (check out the sources)
- ...

Take an online demo at: http://www2.pch.etat.lu/pchViewer

Read the integration guide at: http://www2.pch.etat.lu/pchViewer/guide.pdf

By Shawn Kendrot, Software Engineer, Fort Collins, Colorado, USA

Download the script.

Code Sample

Added pieces include:
*Tasks.LocatorTask.cs (found in the Tasks project/assembly)
*AutoComplete WebService
*Shawnville.mxd (to serve as a MapService) and Shawnville.mdb

The Task control contains a dropdown box that allows the user to select which layer they would like to search. The user can also select "Any" to search all layers.

The Locator Task utilizes the AjaxControlToolkit AutoComplete control to help the user fill in the field value to search for.

Included with the AutoComplete WebService is an additional caching capability to ensure fast results.

The Task and AutoComplete WebService are ready for your own data with minimal changes.

Please read the readme.txt file that is included.

By Wayne Zhang, GIS Programmer Analyst, Marietta, Georgia, USA

Download the script.

Code Summary

Many times user wants to select features which have their centroids in another feature. For instance, to find parcel features have their centroids in the subdivision. Although there is a existing tool in ArcMap to do the query, there is a no such ArcObject Enumeration constant to accomplish this kind of spatial query. The code uses custom task result to first select one feature, and then do a spatial query to find the selected features which have their centroids in this feature.

 

With hours to go before submission closes (5:00 p.m. pacific standard time today, February 29), we want to assure you all that making the deadline will be determined by the time stamp on your entry form, not when it was posted in the blog.

So, even if your entry does not appear in the blog before 5:00 p.m., you will be eligibile as long as your entry form was submitted on time.

Invitations to vote will be e-mailed to DevSummit attendees and EDN subscribers on Wednesday, March 5, and voting will remain open until 9:00 a.m. pacific daylight time Thrusday, March 13, 2008. 

 

More Posts Next page »