动态分段

/// <summary>
/// 动态分段,作者:刘宇
/// </summary>
/// <param name="_pRouteFC"></param>
/// <param name="_pPKName"></param>
/// <param name="_pEventTable"></param>
/// <param name="_pFKName"></param>
/// <param name="_pFrom"></param>
/// <param name="_pTo"></param>
/// <returns></returns>

IFeatureClass EventTable2FeatureClass(IFeatureClass _pRouteFC, string _pPKName, ITable _pEventTable, string _pFKName, string _pFrom, string _pTo)
{
IDataset pDataset = (IDataset)_pRouteFC;

IName pName = pDataset.FullName;

IRouteLocatorName pRouteLocatorName = new RouteMeasureLocatorNameClass();

pRouteLocatorName.RouteFeatureClassName = pName;

pRouteLocatorName.RouteIDFieldName = _pPKName;

pRouteLocatorName.RouteMeasureUnit = esriUnits.esriFeet;
pName = (IName)pRouteLocatorName;

IRouteEventProperties2 pRouteProp = new RouteMeasureLinePropertiesClass();

pRouteProp.AddErrorField = true;
pRouteProp.EventMeasureUnit = esriUnits.esriFeet;
pRouteProp.EventRouteIDFieldName = _pFKName;

IRouteMeasureLineProperties rMLineProp = (IRouteMeasureLineProperties)pRouteProp;

rMLineProp.FromMeasureFieldName = _pFrom;
rMLineProp.ToMeasureFieldName = _pTo;


IDataset pDs = (IDataset)_pEventTable;
IName pNTableName = pDs.FullName;
IRouteEventSourceName pRouteEventSourceName = new RouteEventSourceNameClass();
pRouteEventSourceName.EventTableName = pNTableName;
pRouteEventSourceName.EventProperties = (IRouteEventProperties)pRouteProp;
pRouteEventSourceName.RouteLocatorName = pRouteLocatorName;

pName = (IName)pRouteEventSourceName;

IFeatureClass pFeatureClass = (IFeatureClass)pName.Open();

return pFeatureClass;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值