麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

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 开发手册

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)