Ask the Development Team

In our first year anniversary post, many of you liked the idea of having an “Ask the development team” thread, in which you could post questions about ArcGIS Server and we would post answers. This week we’re giving it a try.

How it works

  • Post your question as a comment to this post.
  • The blog moderators will select relevant questions and send them to the appropriate members of the development team.
  • Development team members will post comments in reply. We’ll try to answer all questions that are appropriate.
  • The thread will be open for questions through Friday, February 22. We’ll continue posting responses after that date.

    Question

Please note

The development team cannot address questions about pricing or licensing. Please contact your ESRI representative if you have a question about that.

Also, we may direct you to ESRI Support if your question is related to a bug or unexpected behavior. They are better equipped to help you troubleshoot the problem.

Update: This post is now closed to new questions but we will attempt to answer all of the questions we received while the thread was open.
 

This entry was posted in Services and tagged , . Bookmark the permalink.

Leave a Reply

21 Comments

  1. tesladaman says:

    When I click on the URL of my mapping application, it takes a good half a minute (or more) from “Website found, waiting for reply” until the load of frames and the map. How can we speed up that initial “log in” time? Thank you.

  2. 127597 says:

    How about with 9.3, try not to forget about all the non .net developers out there? Lots of Ruby, PHP, Coldfusion, etc folks out there want to use AGS, but cant without a huge effort. I realize the new REST and JS api will address these shortcomings, but we’d like to see some language-specific samples as well.

  3. sterlingdq says:

    @127597 who asked about examples for Coldfusion, etc:

    The REST and JavaScript SDKs are still being actively worked on. We plan to have examples with Ruby, PHP, or Coldfusion in the near future. Your feedback is helpful as we plan what content and samples to include. Thanks for your comment.

  4. 127597 says:

    @sterlingdq

    That is really great to hear. I am very excited about 9.3 and its possibilities.

    I remember learning how to use ArcIMS based on the sample viewer that was written in Coldfusion. It was immensely helpful to me. So, along those lines, ideally I’d like to see a very simple stand alone app built with JS/REST and CF(hopefully with all the new ajax integration of CF 8 – hint hint Jeremy). I would imagine that would get everyone started. Soon after that, I would expect the Coldfusion community to collectivley produce a CFC of some sort to extend the functionality.

  5. sterlingdq says:

    @Guillermo Munoz who asked about an “Add data” button:

    We’ve been preparing some information to post on this blog about adding data to a map in a web application. Please look for this coming very soon and we will post a follow-up comment at that time. Thanks for your interest.

  6. sterlingdq says:

    @Kevin who asked about an onResize event for floating panels and web application performance:

    Thanks for your question and for the suggestion to do this post. We have seen some great questions already and intend on answering them throughout this week.

    To answer your first question, the onResize event for floating panels is an interesting idea that we’ve been considering for 9.3.

    As for web application performance, even better than changing your symbology is to create a map cache. The Web ADF map control will attempt to work with the cache in the most efficient way. If you’re not working with a map control, you can request a cache tile programmatically as we explained in a post last month on this blog.

    You should cache your maps whenever it’s feasible. See the Map Caches book in the Web Help (http://webhelp.esri.com/arcgisserver/9.2/dotNet/index.htm#manager/publishing/static_map_svcs.htm) and many posts on this blog for help with caching.

    Other guidelines for creating efficient Web applications are contained in “Guidelines for creating your own Web applications” (http://edndoc.esri.com/arcobjects/9.2/NET_Server_Doc/developer/ADF/guidelines.htm) and “Performance tips for Web applications” (http://webhelp.esri.com/arcgisserver/9.2/dotNet/manager/applications/web_app_performance.htm).

  7. sterlingdq says:

    @peter 2000 who was interested in building mobile apps that push data to the geodatabase:

    First of all, for anyone who’s interested in developing mobile applications, we recommend that you visit EDN Mobile Central web site (http://edn.esri.com/index.cfm?fa=mobile.gateway) which has a blog by the mobile team and news about the newest samples.

    Peter, for your scenario we especially recommend these Help topics:

    Developing Mobile Applications (http://edndoc.esri.com/arcobjects/9.2/NET_Server_Doc/developer/Mobile/dev_mobile_apps.htm)

    Editing Framework: (http://edndoc.esri.com/arcobjects/9.2/NET_Server_Doc/developer/Mobile/wk_editing.htm)

    You may also be interested in this recent sample that was posted on EDN Mobile Central:

    ESRI Construction Sample: (http://edndoc.esri.com/arcobjects/9.2/NET_Server_Doc/developer/samples/Mobile_Applications/PPC05/ESRIConstruction_PPC05/A7A5F4E1-B7FD-4207-B072-7565194F1467.htm)

  8. sterlingdq says:

    @tesladaman who asked about initial startup time for web applications and also @Kevin who asked about web application performance:

    The Web Mapping Application does come with some overhead on startup because of graphics, javascript, map images, etc. that need to be transferred to the client machine. The startup time can vary based on connection speed and also how your map, services, and application are configured:

    -The table of contents may take some time to load all of the swatches, especially if you have many layers and sublayers in your map. If you think this is part of the problem you can configure the TOC to not show swatches, remove the TOC, or remove layers from your map.

    -The map control itself takes some time to load the map images. The more services you are viewing in the map control, the longer it will take. If you have many services, consider checking some of them off on startup and allowing your users to add them as needed. Caching your services will help them load much faster. Also, browser tier blending is usually recommended as opposed to web tier blending.

    -Make sure that service instances are readily available for your application to use. Avoid setting the Minimum Number of Instances for your map services at 0. This might cause the server to have to create an instance when you load the application.

    -Finally, if you don’t need all of the functionality in the Web Mapping Application template you might get better performance by creating your own scaled-down version. You could do this by creating an application from the template and manually removing items, or by creating an application from scratch using the ArcGIS Web Controls in the Visual Studio Toolbox. If you do the latter you will avoid some of the overhead of the “dynamic resize” of the map control to fit the screen that occurs in the Web Mapping Application.

    See also the topics “Guidelines for creating your own Web applications” (http://edndoc.esri.com/arcobjects/9.2/NET_Server_Doc/developer/ADF/guidelines.htm) and “Performance tips for Web applications” (http://webhelp.esri.com/arcgisserver/9.2/dotNet/manager/applications/web_app_performance.htm).

    Thanks to Bob Flores and Derek Weatherbe who contributed to this answer.

  9. sterlingdq says:

    @Tim who asked about serving anti-aliased maps:

    ArcGIS Server map services are based off of ArcMap documents. There isn’t a way to apply anti-aliasing to layers in ArcMap. However you can apply anti-aliasing to your map service if you create a map cache for it. The Generate Map Server Cache tool has a checkbox for anti-aliasing. If you check this box, it will take longer for the cache tiles to get created, but the tiles will look nicer.

    If your intent is to use anti-aliasing so that the map looks better when printed, you may be able to achieve better map quality by requesting a high DPI for your map image before you print it. This is what’s Bryan Baker’s Print Task Sample does to generate a high-quality map for printing. (http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2007/05/16/Print-Task-Sample.aspx) When you choose a high DPI in this Print task, a larger image is returned that
    is then fit to the original dimensions you requested.

  10. josh5000 says:

    Hi,

    I need help on beginning ArcGIS Server programming.

    Is it possible to get a full sample web adf app AGS 9.2 that demonstrates how to create a graphic polygon in the web app and use it to select all point features in a feature class that are within the bounds of the graphic?

    Thanks.

  11. aat0995 says:

    Hi!
    I have been trying to use wkbvariant using

    ” object wkb = pGFact.CreateWkbVariantFromGeometry(pGeo); ”

    All I do is go to arsde and get a feature from a featureclass and pass the geometry to pGFact creating using :
    ESRI.ArcGIS.Geometry.IGeometryEnvironment4 pGeoEnv = (IGeometryEnvironment4)pServerContext.CreateObject(“esriGeometry.GeometryEnvironment”);
    ESRI.ArcGIS.Geometry.IGeometryFactory3 pGFact = (IGeometryFactory3)pGeoEnv;

    However, it throws this error everytime:
    The server threw an exception. (Exception from HRESULT: 0×80010105 (RPC_E_SERVERFAULT))

    Can you please look into this?
    Thanks!

  12. sterlingdq says:

    @josh5000 who asked about selecting point features based on a polygon drawn on the map:

    One workflow for this is:

    1. Create a custom tool whose client action is Polygon

    2. Create a class for the server action (See this link if you need help: http://edndoc.esri.com/arcobjects/9.2/NET_Server_Doc/developer/ADF/custom_tools_commands.htm)

    3. In this class, capture the polygon that the user draws as an ADF polygon (ESRI.ArcGIS.ADF.Web.Geometry.Polygon)

    4. Create a spatial filter based on the polygon (ESRI.ArcGIS.ADF.Web.Geometry.SpatialFilter)

    5. Use IQueryFunctionality.Query to query your layer based on the spatial filter. You’ll get back a DataTable of items. (See this link for help: http://edndoc.esri.com/arcobjects/9.2/NET_Server_Doc/developer/ADF/resource_map.htm#queryfunc)

    6. Optionally, add the data table as a graphics layer to the TaskResults, which will then display the features on the map (as long as the map is buddied to the TaskResults).

    If you want to see some example code for spatial queries in the Web ADF, we recommend that you download and examine Bryan Baker’s “SelectToolTask” on ArcScripts (http://arcscripts.esri.com/details.asp?dbid=15133)

  13. sterlingdq says:

    @Guillaume as a follow-up to the hyperlinking question: You might also want to check out this sample by Tom Brenneman on ArcScripts: “Hyperlink tool for the ArcGIS Server Web ADF” (http://arcscripts.esri.com/details.asp?dbid=15059)

  14. sgourley says:

    Are you planning on making web adf objects serializable for transportation through SOAP?

    And what does this mean for 9.3 that the javascript api’s will be hosted by esri? Does this remove the option for developers to customize?

  15. blekros says:

    What are the top ten things you can do to improve the performance of a Web-application that serves up an address locater service along with a many-layered MXD with a dozen or so Mr. Sid image layers?

  16. sgourley says:

    Are you planning on moving to JSON formatted callback strings in 9.3 or is it going to stay as normal strings.

  17. sterlingdq says:

    @aat0995 who kept getting (Exception from HRESULT: 0×80010105 (RPC_E_SERVERFAULT)):

    A number of folks here looked into why you would be getting this exception with your code. We discovered that it is a bug and are logging it for possible fix in a future service pack or release. Thanks for reporting it.

  18. wanjoo123 says:

    Hello all,

    First time reply to your posting while I have been enjoying your Blog all the time… Many thanks!

    One question that I have is about the limitations that ArcGIS Server 9.2 might have. Has anybody done any testing on the number of map service instances that one server can have? I am experiencing failures on map service instance creation when the total number of instances reaches somewhere around 85 to 100. I have thought that I should be able to create enough number of map service instance for my whole county users (Harris County) when I have a good server (quad-core, hyper-threaded) and enough memory (12 gigs). But it turns out to be that adding more hardware support is almost useless as it stops creating service instance at a certain point… I have tested this on two different machines and am getting similar results. I have Advanced Enterprise license by the way. Any thoughts?

    Your sharing of experiences and ideas would be greatly appreciated.

    Thanks,
    Wanjoo (wanjoo.choi@idea.com)

  19. sterlingdq says:

    Thank you everyone for your questions this week! We’re closing the thread to new questions at this point, but we’ll attempt to answer all of the ones that have already been submitted. If your question has not received an answer yet, keep checking back next week.

    We’re looking forward to seeing you at the ESRI Developer Summit on March 17-20 where we’ll be available to take questions at the Meet the Teams event and the ESRI Showcase. We also plan on keeping this blog active and may do similar posts in the future. Thanks for your participation!

  20. sterlingdq says:

    @blekros who asked about optimizing the performance of a Web application with an address locator and MrSID images:

    We recommend the following things:

    -If your application and data allow for it, cache your map as a fused cache or as a series of fused caches

    -If your application functionality allows for it, use pooled services

    -If you are doing batch geocoding, try using a file-based locator (as opposed to a locator inside a geodatabase).

    -Upgrade to ArcGIS Server 9.2 Service Pack 5 when it becomes available, since it has an important performance fix

    That’s only four things, but I’m sure you can find six more if you read our comments to Kevin and tesladaman on this thread:

    http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2008/02/19/Ask-the-Development-Team.aspx#1028
    http://blogs.esri.com/Dev/blogs/arcgisserver/archive/2008/02/19/Ask-the-Development-Team.aspx#1037

  21. sterlingdq says:

    @wanjoo123 who asked about failures when using large numbers of service instances:

    Thank you for your question. We recommend that you contact Technical Support or your ESRI Representative about this issue. They can get all of the details about your system and help troubleshoot your specific scenario.