AO就像是一个万能的神,有了它,ArcGIS才能没有做不到,只有想不到。当你为了某一个功能抓耳挠腮,苦思冥想,废寝忘食的时候,其实解决之路就在AO开发帮助的某个角落痴痴地看着你。AO是ArcGIS产品系列的底层,ArcGIS Desktop、ArcGIS Engine、ArcGIS Server,理论上讲,Desktop里面能够实现的功能,通过ArcGIS Engine和ArcGIS Server也可以实现。
AO的实现过程看上去还挺复杂,但是流程还是很简要的,获取Network Analysis Layer、NAContext->设置分析条件->导入stops->计算->处理结果。结果的处理我们单独看看代码。
这几段代码是在ArcGIS Server for .NET环境下实现路径分析的功能,Server下的AO编程和Engine、Desktop有点类似,最大的区别在于创建对象的时候,Engine、Desktop创建新对象用new就可以,但是Server AO的开发必须首先获得IServerContext,然后通过CreateObject的方式。网络分析其它功能,最近设施查询、服务区域分析、OD代价矩阵、车辆路径规划、L-A的实现基本的流程和路径分析类似。