Monthly Archives: January 2007
Anne Reuland of the Server Development team has contributed the following excellent detailed writeup on what is in service pack 1 for ArcGIS Server for the Microsoft .Net Framework 9.2.
There’s a very good overview of
what’s new in ArcGIS Server 9.2 on the ArcGIS
Server Product Documentation page. Open the Whats
New In ArcGIS Desktop 9.2 document; you’ll need to enter your ESRI global
account. The Table of Contents has a listing for ArcGIS Server and ArcIMS.
I’ve had several folks
ask for an overview on what’s included in our Service Pack 1 release. The main purpose of the ArcGIS
Server for the Microsoft .Net Framework 9.2 Service Pack 1 release was to
address support issues with Internet Explorer 7. The problems we saw with ArcGIS
Server 9.2 Final and Internet Explorer 7 were display problems with the map or
Web Mapping Application related to certain tools and changes to the application
layout. We also found formatting problems with buttons and panels in the Web
Mapping Application, Manager, and several samples in our Software Developer Kit.
Here is the full list of bug fixes for Internet Explorer 7 support:
- NIM005055 – Samples: In IE7, HTML buttons without a
defined width will span the width of the browser.
- NIM005056 – Samples: In IE7, resizable divs should not
define a width or height.
- NIM005539 – When using the Web Mapping Application in
Internet Explorer 7, clicking the FullExtent or Magnifier tool causes the
page to go blank.
- NIM005540 – When using the Web Mapping Application in
Internet Explorer 7, docking a floating panel causes the page to go blank.
- NIM005564 – When running Manager in an Internet
Explorer 7 browser, the Apply button on the Preview Layers tab may be
partially obscured or missing completely.
- NIM005565 – When running Manager in an Internet
Explorer 7 browser, the ‘Preview Map Service’ panel is excessively wide.
- NIM005566 – When running Manager in an Internet
Explorer 7 browser and configuring a task, the message informing the user
that a supporting service is required does not display.
- NIM005567 – When running Manager in an Internet
Explorer 7 browser and editing an existing application, the Configure
button on the Tasks panel is partially obscured.
- NIM005569 – After digitizing a new feature with the
Geoprocessing Task in Internet Explorer 7, the Help button, Submit button
and selection of features will not work until clicked twice.
- NIM005602 – Visual Studio 2005 SDK help system
displays with incorrect style and formatting when viewed on a machine
with Internet Explorer 7 installed.
Once you install Service Pack 1,
newly created web applications will take advantage of these fixes for Internet
Explorer 7. If you have already built applications with Manager or the Web
Mapping Application template that you would like to update with these fixes, we
have written a migration utility that will make these changes to your Web
Mapping applications. You can download the migration
utility from our support site.
We’re always looking to improve
performance for the web applications and web services. Jeremy has already
posted about the changes to with map cache image formats to support JGP, PNG8,
and PNG32. These changes allow you to choose the image format that works best
for your application’s functionality and performance needs.
Other performance improvements made
at Service Pack 1 affect web service authentication and geocoding with ArcWeb
Services. In the Web Mapping Application, we made improvements on how fast the
map and task results are initialized. These bug fixes are:
- NIM005590 – Improve Web services authentication
- NIM005598 – Optimize the display of task results when
using ArcGIS Server Internet resources.
- NIM005623 – Optimize initialization within the Map
- NIM005619 – Optimize geocoding with ArcWeb Services
When using caches map services, if
you have secured both your map service and the cache directories that hold your
map tiles, Service Pack 1 includes a fix to allow the Web Mapping Application
to access those secured tile directories without prompting the end-user of the
application for a username and password. Once a username and password has been
specified during creation of the Web Mapping Application, that account will be
used to access the secured map service and the secured tile directories. The
bug fix for this change is:
- NIM005541 – Use the Identity information provided when
defining a map resource to access cache directories that have
If you are using ArcWeb Services in
your Web Mapping Application, you may have been affected by this bug fixed at
Service Pack 1:
- NIM005593 – ArcWeb services randomly return the error
‘The underlying connection was closed: A connection that was expected to
be kept alive was closed by the server’.
We also fixed problems with some of
the query operators for the Query Attributes task at Service Pack 1. :
- NIM005323 – Web applications containing a Query Task
expression using either the < or <= operators will fail to build.
- NIM005571 – Web applications published from Manager
containing a Query Task expression using the LIKE operator do not return
the correct results.
- NIM005572 – Web applications containing a Query Task
expression using the != operator do not return the correct results.
In the Web Mapping Application,
after running a task to get a list of results, the Zoom To option for point
features was not zooming in far enough. This problem was addressed at Service
Pack 1 by adding a property named ZoomToPointFactor to the Task Results control
to allow you to control the zooming:
- NIM005594 – Add a ZoomToPointFactor property to the
TaskResults control to specify the scale change when using the ZoomTo
context menu option.
Also in the Web Mapping Application,
fixes were made to ensure the scale bar displays in the expected location:
- NIM005622 – Fix cases where the Scalebar is displayed
outside the Map control on initial startup of the Web Mapping
You can get the full list
that were addressed on the Service Pack page.
Hey everyone. I hope to see you in Palm Springs at the 2007 ESRI Developer's Summit.
If you have not heard already, there is going to be an ArcGIS Server Code Challenge. Give it a shot and let us know if you have any questions.
Share your development creativity and expertise
with the GIS developer community by submitting your original code sample to the
ArcGIS Server Code Challenge! You and your peers will have an opportunity to
review and vote for the top three entries based on originality, creativity,
applicability, and relevance of the code sample. Entries could include a simple
task or tool or an attribute or spatial query.
Read more on the ArcGIS Server Code Challenge.
Combining multiple cached map services is one of the more powerful aspects of the ADF for ArcGIS Server. High performance mapping applications can be built off of multiple fused cached map services combined within the ADF. Lets build on the cached aerial photography example from the other day and add a cached dataset of a street network. In order to get the best performance when combining cached datasets in the Web ADF for the Microsoft .NET Framework you need to ensure that your cache configurations are identical (same scales, projection, tile size, etc) and that the map services share similar dataframe extents. When building a map cache you have the option of taking advantage of Antialiasing to smooth the edges of labels and lines for improved display quality). Of course you want to have smooth lines and labels! So what does antialiasing really do? Let's look at some comparisons of similar tiles with and without antialiasing.
The image on the left is without antialiasing enabled. The image to the right has been built using antialiasing. See the difference? The image with antialiasing of the 2000 Census Roadways dataset looks crisper, not as choppy. Antialiasing is designed to minimize jagged, blocky aliasing when representing higher resolution data at a lower resolution. So let's see what happens when we publish the data on top of our ortho cache…
Wait a minute…where did my roads go? Let's look at the same area without antialiasing…
That is what I get for implementing something without understanding the logic behind the process! The way we have implemented antialiasing from ArcGIS server is to generate tiles four times as large as the specified tile size so that we can average the RGB color of the four pixels that intersect the feature or label. So instead of a tiled pixel being completely black or not, it will be an average of the subpixels contained by the pixel. What does it average if it is just a line that is either black or not black? It uses the background color of the dataframe to compute the average pixel value. The background color is used as the transparent color by cache generation process and if you don't set the background color of your map the default is to set the background equal to 253,253,253 or almost white. So in my example I have ended up with gray roads (which don't show up well on a dark image) instead of what I originally designed as black roads. If I rebuild my map cache of my road dataset with a background color set to an average color within the image of the ortho tile (RGB: 129,129,116–pulled from this slick freeware tool) I end up with a tile that looks like this…
Try the application with each of the antialiasing options here: http://serverx.esri.com/antialiasingexamples/
James posted a comment regarding publishing Globe services with other embedded Globe services. This can be done, but it is not the recommended workflow. Sterling from the Server Dev team wrote up this response.
As you create 3D views using ArcGIS Explorer and ArcGlobe, you may want to use a layer from someone else’s globe service in addition to your own. For example, you might want to get your base layers from an ArcGIS Online globe service, and your thematic layers from your own globe service.
Resist the temptation to create a new globe service that embeds one or more other globe services. Your client applications will perform better and you will avoid redundancy of caches on your server if you have the clients connect to the globe services directly. The workflow below explains how you can create an easily-distributable globe that will allow clients to connect directly to all of the globe services it contains. This example uses an ArcGIS Online service, but you could substitute any globe service that you might want to embed in your own globes:
- Create a new ArcGIS Explorer map (NMF) or ArcGlobe document (3DD) and add the ArcGIS Online service
- Add your local data to a separate ArcGlobe document and publish it as an ArcGIS Server globe service.
- Add your globe service to the ArcGIS Explorer map or ArcGlobe document that you created in Step 1.
- Distribute the ArcGIS Explorer map or ArcGlobe document. Optionally, you can publish the ArcGlobe document as a PMF file so that clients with ArcReader can view the globe. Both ArcGIS Explorer and ArcReader are available as free downloads from ESRI.
ArcGIS Server Service Pack 1 is out and available for download. It has many fixes along with some very key enhancements. One of the biggest enhancements is the ability to create map caches in different image type formats. At 9.2 final you only had the option of creating PNG24 images for you map cache. While PNG24 images are visually appealing and work well with images with a lot of vector data they are inefficient for continuous raster images like aerial photography or satellite imagery. For example here are two tiles of orthophotography in both png (on the left) and jpeg (on the right):
The JPEG tile is 16.39kb. The PNG tile is 85.93kb. That makes the JPEG in this case 1/5 the size of the PNG. While that does not really make that much difference while you are on an internal network, it makes a big difference for web applications. It is important to note that JPEGs do not support transparency so PNG images would be ideal for map caches that need to be transparent (a roads cache on top of an ortho cache for example).
Try out a demo here: http://serverx.esri.com/dgaerialsws