ArcGIS中的线性参考/动态分段技术(二):LR在ArcGIS Server中的实现原理

  首先来思考几个LinearReferencing 的应用场景(后面会对这些场景一一实现):
1 、对于某条公路上的一点进行Identify 操作,要求返回该点处在公路上的里程值;
2 、输入起始和终止桩号,要求将其间的路段显示在地图上;
3 、类似GoogleMap 的交通流量地图。
要将这些功能在ArcGISServer 中“落地”,首先决定采用哪种开发方式:客户端API 还是Web ADF ?两者皆可。但是稍加思考,两种方式的API 中都没有提供有关Linear Referencing 的解决办法。所以,Linear Referencing ArcGIS Server 中的实现原理还是得依靠ArcObjects 了。
ArcObjects 中,Linear Referencing 的功能在ESRI.ArcGIS.Location 库中,请见: http://resources.esri.com/help/9.3/ArcGISEngine/dotnet/10745641-b5e3-4600-979f-cdf9d2bbc7ce.htm#About%20linear%20referencing
为了实现上述功能,其中比较关键的有两个类:RouteLocator RouteEventSource RouteLocator IRouteLocator2 接口有Identify Locate 两个方法,前者可根据地理坐标识别出Route 上的位置(M 值);后者可根据M 值来定位出Route 上相应的Geometry 。如果已有EventTable ,需要对上面的每个Event 进行定位,除了重复使用IRouteLocator2.Locate 方法(或者LocateRow 方法)外,也可通过构建RouteEventSource 来实现。它是一种特殊的FeatureClass (继承自FeatureClass ),其中的每个Feature 代表了EventTable 中的一个Event ,而这个Feature Shape 字段内容则是根据EventTable Route
FeatureClass ,利用Dynamic
Segmentation 技术实时计算出来的。
关于如何获得可用的 IRouteLocator2 接口和 RouteEventSource ,文档中已经讲的很清楚;另外 ESRI.ArcGIS.Location 中还提供了实现 ArcMap LinearReferencing 里所有功能的接口,有兴趣的朋友可以仔细阅读。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值