We just ran into a issue with the ADF - namely that the ADF Geometry model does not support curves (aka "True Arcs"). Instead, it just puked up an exception stating that "curves are not supported". After doing some searching we found this thread in the forums, and this little gem stood out...
I just want to add one more thing to what Kevin said: the SP3 will handle the exception gracefully when identifying on a true arc (i.e. a message stating "Curves are not supported") instead of throwing an unhandled exception. The goal is to get this functionality fully working at 9.3.
I take this to mean that we should be grateful we ran into this now and not pre-SP3 when we would have gotten a more generic exception. Nice.
Obviously we are not the first people to run across this. There is a write up about the issue in the Knowledge Base: Bug: Web Application Developer Framework (ADF) does not support non-linear geometry (curves)
As I noted above, it seems that the issue is that the Web ADF geometry classes can't handle curves. Fine - I can understand that it may be difficult to work with curves. Maybe implementing real curves will need to wait for v9.3 or v10 or whatever, but how about this - if a curve is sent into the Web ADF geometry how about you densify it for me? It may not be as "accurate", but "close" is a whole lot better than an exception - even if it has a nice message.
The thing is that this is the suggested solution. If you have curves, don't use the IQueryFunctionality. Instead use the IMapServer.Identify and IMapServer.Query* methods. Loop over the returned features, check if the geometries are curves, if so then densify the geometries before stuffing them into a graphics layer.
Of course it's nontrivial if you're not into the ADF in a big way, and you are hosed if you are not using a local ArcGIS Server data source, but hey what do you expect.
ESRI has put some code up on ArcScripts that shows how to deal with this for the Identify tool, but you are on your own for anything else. Fun Fun Fun.
I'm Dave and this is my blog. I'm usually writing about .NET Software Development, ArcGIS, or Agile Practices, but other stuff does creep in from time to time. I hope you find something of use, and feel free to contact me if you have any questions. You can also check out my profile on LinkedIn
dojo.DTSAgile.com is our technology preview / demo site. As I and my team cook up cool things we post them here.
ArcDeveloper.net is a site that hosts a set of open source projects related to ArcGIS. This includes Tile Cache for .NET (TC4N) and Feature Server for .NET (FS4N). Come over and check it out!
Assembla is a free service that provides Subversion source control, wikis and work Tracking. The ArcDeveloper project is run from here. It rocks. Check them out today.
Agilistas is a LinkedIn group focused on discussing and promoting Agile practices. Everyone is welcome to join in the conversation as we evolve the process of creating software to make it more enjoyable for all involved.