ArcGIS Engine 10 开发手册(11-17)动态分段

本文目录
  • 正文

什么是动态分段

动态分段是使用线性参照测量系统计算事件表中存储和管理事件的地图位置以及在地图上显示它们的过程。术语“动态分段”源于每次更改属性值时无需分割(也就是“分段”)线要素的理念,即可以“动态” 定位线段。利用动态分段,可将多组属性与现有线状要素的任意部分相关联,无论其开始或结束位置为何。 可以显示、查询、编辑和分析这些属性,而不会影响基础线状要素的几何。

示例:用代码实现动态分段:

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;

}

运行结果

ArcGIS Engine 10 开发手册全集

ArcGIS Engine 10 开发手册全集: ArcGIS Engine 10 开发手册

如果本文对你有所帮助,欢迎对我们团队进行打赏捐助,让我们在传播3S的路上可以走得更远。
赞赏支持
微信捐助麻辣GIS 支付宝捐助麻辣GIS

麻辣GIS-Sailor
作者:
GIS爱好者,学GIS,更爱玩GIS。

如您有疑问,可在文末留言,或到QQ群提问。

本站QQ群(一):291616564 麻辣GIS

本站QQ群(二):166408035 麻辣GIS(二)

微信公众号:malagis,扫描右边二维码直接关注。

发表评论