Monthly Archives: December 2008
2008 was an exciting year for the team, one of the highlights was launching this blog during the 2008 Developer Summit. Since then the team has enjoyed exploring this new medium by sharing their knowledge with geodatabase users through various posts. While we are thrilled with the comments we have recieved so far we would love to hear some feedback on what you think of the blogs in hopes of improving the blog for users in 2009.
In the spirit of New Years, the Geodatabase Team would like to make some blog specific resolutions but we would like your feedback.
- What was your favorite post?
- What geodatabase topics need more coverage?
- Are there things you disliked about the blog?
- How could the blog change to be more useful for you?
You get the idea, any and all comments are welcome and appreciated.
I will end by offering a sincere thanks for your readership. This blog is nothing without user involvement and for that we are thankful for your continued participation.
Happy New Years!
- the Geodatabase Team
By Charlie Frye, Esri Chief Cartographer
Bad maps, unlike bad press, do not garner the sort of attention that can be capitalized upon. Bad maps are strong impediments to gaining mind share, and represent a significant risk to depleting mind share. Why? Bad maps are a visual, i.e., strong, communication method and convey incompetence and poor judgment.
To many of us this is obvious, but we consistently hear from people who are professionals who have to make maps. Though most would not describe themselves as cartographers or mappers, they want us to help them make a case for better cartography in their organizations. Continue reading
By Charlie Frye, Esri Chief Cartographer
I do most of my data automation in Python–I’m no expert with Python, but I learned the basics a few years ago and that’s served me well. One of the tasks I frequently use Python for is automating the management of attributes, i.e., adding, deleting, and calculating fields. Continue reading
The web page for submitting User Presentations is up.
The ESRI Developer Summit has always been a great productivity event, and we expect the 2009 DevSummit to be even better. ESRI staff have recently begun preparing about 25% more technical sessions. Attendees get to hear from and interact with the product teams and innovative developers who are creating our technologies and putting them to use. And over the past year, we have heard from you that we need to continue growing user-involvement. After all, it is a “Summit” for all of us, right?
So here we go. Share your ideas, present your work, or lead a topic of discussion with the developer community. If you have content that would be of interest to other attendees, then we encourage you to submit an abstract.
If you are interested in learning more about this opportunity visit the 2009 DevSummit “Share Your Work” webpage. That page also lists some suggested topic areas, but feel free to be creative.
Once accepted, your assigned conference planner will help get you what you need to be successful. And then your presentation will be scheduled and promoted on the website, conference materials, and signage.
At this point, it looks like we’re going to have about 10-15 scheduled slots. The capacity of the room will be between 50 and 70, so it should end up being a more interactive experience if you want it to be. This room will be part of the “Showcase” area, which is the central hub of the event. Then in the weeks leading up to the DevSummit, registered attendees will be able to vote so that particularly popular sessions can be moved into larger capacity rooms.
The deadline for submissions is February 6th, 2009. If you’re interested, let us know right away and we look forward to working with you.
Article submitted by the EDN Team at ESRI.
12/19/08—The World User Imagery 2D and 3D services, CSP_Imagery_World_2D and CSP_Imagery_World, were updated with imagery for San Bernardino County, California. The new map content is 1 foot resolution, orthorectified aerial imagery for the San Bernardino County valley area collected in April 2007, provided courtesy of the County of San Bernardino Information Services Department.
If you have previously used these services, you may need to clear your cache in order to see the updates.
How to clear the cache in ArcGIS Desktop:
- Right-click the service in the table of contents.
- Click Properties.
- Click the Cache tab.
- Click the Clear Local Cache Now button, and click OK.
How to clear the cache in ArcGIS Explorer:
- Click Tools > Options.
- Expand Cache and click Disk Cache.
- Under Cache Clean Up, select All Caches.
- Click the Delete Cache button, and click Yes to confirm. ArcGIS Explorer will need to restart as part of this process.
How to clear the cache in ArcGlobe:
- Right-click the service in the ArcGlobe table of contents.
- Click Refresh. It may take several seconds for the cache to be cleared.
Geodatabase cursors should always be explicitly destroyed in a runtime environment that uses garbage collection. The rule of thumb is to always release a COM object as soon as the application is done using the reference. This is especially important with geodatabase cursors because failing to dispose of cursors can put locks on system and DBMS resources; a common symptom of this is having a table remain locked for an indeterminate amount of time after you’ve finished iterating through its rows with a search cursor.
This article in the .NET SDK is a great read for developers using the geodatabase API – it discusses the importance of releasing COM objects (and cursors specifically) as well as a few different approaches. Many .NET developers who have worked with COM interop will be familiar with the static method Marshal.ReleaseComObject, but there’s also a section about an ADF class called the ComReleaser that is really handy when working with cursors.
Here’s an example of using the ComReleaser to ensure a cursor is properly disposed of:
using (ComReleaser comReleaser = new ComReleaser())
// Instantiate a cursor and manage its lifetime with the ComReleaser.
IFeatureCursor featureCursor = featureClass.Search(null, true);
// Iterate through the features.
IFeature feature = null;
while ((feature = featureCursor.NextFeature()) != null)
// Do something.
Regardless of how the code leaves this using block – whether a value is returned, an exception is thrown, or it gracefully exits – the cursor will have its reference count properly decremented.
Google Gadgets are small self-contained Web-based modules that plug into
iGoogle. iGoogle is a framework, similar to a portal, which can display
multiple gadgets in a tabular fashion. Similar Web
2.0 portal sites are Netvibes,
My Yahoo, Pageflakes, and
Windows Live. As opposed to traditional portal frameworks, these are
very lightweight and do not require the extensive development of a portal
version of your Web applications. Finally, the learning curve is minimal.
These services do not host the content or the Web application, rather they
provide a framework to bring together Web applications from various sources.
For example, a user can customize an iGoogle page to display local weather,
movies, traffic conditions, gas prices, maps, to-do lists, emails etc.
iGoogle provides a nice framework to display various applications in a dashboard
like fashion. Because iGoogle uses IFrames to display content from each gadget,
and is a lightweight framework, you can port existing applications with minimal
You can create a gadget in 2 ways: by authoring a mixed-content XML file, or by
simply pointing to an existing application’s URL. Using ESRI’s
As for Web applications created using the ADF (either .Net or Java) you can use
an IFrame in the mixed-content XML that points to the existing application’s
Although the gadget is simple to create, you can use it to perform sophisticated
tasks. For example, using various APIs exposed by ArcGIS Server, you can make
use of geoprocessing services, as well as REST services that buffer, project,
Dojo and jQuery in your gadgets.
For more interaction and functionalities, Google offers a
advanced tools that can do things like store and retrieve user personalization.
This tutorial shows how to create a simple URL-based gadget from an ArcGIS
calculates a service area.
Follow these steps:
Sign in to Google.com with your Google Account, then click on iGoogle on the
top right corner of the page.
Add a new tab for developing gadgets and give it a name, for example “ArcGIS”.
To add a tab, find the active tab, click the dropdown arrow, and choose “Add a
Add these two developer gadgets to your new tab. With the tab open, just click
the links below and click “Add it now”:
After adding the tab and developer tools gadgets, your iGoogle page should look
Copy and paste the code below into the Google Gadget Editor. Then click File >
Save and save it as EsriServiceArea.xml.
<?xml version="1.0" encoding="UTF-8"?>
Now you’ll add that gadget URL to the My Gadgets tools to have a full preview.
Here’s what you need to do to add your newly created gadget to your iGoogle
Right click on the link with the name of this gadget file, in this case
EsriServiceArea.xml, and copy the target URL.
Paste the URL into the My Gadgets input box and press the Add button. This will
add the gadget to the current tab in your iGoogle. For development and quick
previewing I would recommend not caching it so that your changes can be viewed
instantly upon refresh.
- Right click on the link with the name of this gadget file, in this case
You should now have a live preview of your gadget that looks something like
In the above image we gained some screen real estate by configuring the tab to
have two columns instead of three (you can set this manually in the tab
dropdown > Edit this tab). Also, thanks to the view=”canvas” attribute we
included, you can optionally maximize this gadget to fill the whole page.
This shows how easy it is to port an existing application or Web page based on
ArcGIS Server to a Google Gadget.
Contributed by Reiman Rabbani of ESRI Professional Services, Charlotte Regional