ArcGIS Engine 10 开发手册(11-1)坐标生成点(AddXY功能)

本文目录
  • 正文

野外采集的数据或一些客户提交的数据经常不是 shp 也不是以数据库存储的 FeatureClass,而是含有 X, Y 字段的 Excel 或者 Txt,利用 ArcMap 的 Addxydata 功能我们可以实现 Excel 数据到空间数据的转换,具 体操作是利用 Addxy 功能,设置好相关的参数,这个时候 ArcMap 会生成一个内存图层,借助于 ArcMap 的导出功能,导成 shp 或者 FeatureClass,在这里我们用 ArcGIS Engine 实现这个功能,要实现这个功能, 我们需要了解下面的几个接口:

IXYEvent2FieldsProperties:该接口用来控制生成空间数据的 X,Y 字段信息;

IXYEventSourceName:该接口用来生成空间数据。

示例代码

/// <summary>

/// 模拟Addxy

/// </summary>

/// <param name="pTable"></param>

/// <param name="pSpatialReference"></param>

/// <returns></returns>

public IFeatureClass CreateXYEventSource (ITable pTable, ISpatialReference pSpatialReference)

{

  IXYEvent2FieldsProperties pEvent2FieldsProperties = new XYEvent2FieldsPropertiesClass ();

  pEvent2FieldsProperties.XFieldName = "X";
  pEvent2FieldsProperties.YFieldName = "Y";

  IDataset pSourceDataset = (IDataset) pTable;
  IName sourceName = pSourceDataset.FullName;

  IXYEventSourceName pEventSourceName = new XYEventSourceNameClass ();
  pEventSourceName.EventProperties = pEvent2FieldsProperties;

  pEventSourceName.EventTableName = sourceName;
  pEventSourceName.SpatialReference = pSpatialReference;

  IName pName = (IName) pEventSourceName;

  IXYEventSource pEventSource = (IXYEventSource) pName.Open ();

  IFeatureClass pFeatureClass = (IFeatureClass) pEventSource;
  return pFeatureClass;

}

ArcGIS Engine 10 开发手册全集

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

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

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

如您有疑问,可在文末留言,也可在 麻辣GIS•小分队 搜索回答或发帖 ,还可以在QQ群中提问。

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

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

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

发表评论