arcengine10.2中使用identity工具进行面分割线,为什么会出现重复线

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
用arcengine的工具条添加图层要素(132页).doc 132页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:160 &&
用arcengine的工具条添加图层要素(132页)
你可能关注的文档:
··········
··········
目录1. 目录 12. 用ArcEngine的工具条添加图层要素 23. ArcEngine中对Feature的编辑 54. Feature的概念 65. 如何实现经度纬度到平面坐标的相互转换?(转载) 76. ArcEngine最短路径分析(源码) 97. ArcEngine中使用上下左右键移动地图功能的实现 158. 缓冲区的创建 169. C#制作鹰眼全过程(引自ESRI中国社区) 1810. ArcEngine中拓扑的使用-- 2011. 为什么使用接口编程{转载} 2312. ArcEngine中闪烁目标 2613. 创建多个ArcSDE实例 2914. Geometry对象浅析 3015. 空间查询与空间分析功能 3616. AO中的空间关系 3817. ArcGISEngine中的相交分析的实现 4018. GIS基本概念集锦 4219. AE开发中矢量图层叠加求交分析 4520. 矢量数据分析 5021. GIS空间信息基本分析方法 5022. 如何判断图形间的逻辑运算 5323. AE中2种方式overlay 5424. ArcEngine中实现捕捉功能 5825. 在LAYER(i)上添加缓冲区 7926. C#编码标准--编码习惯 8027. 基于AE删除选择的要素-- 9628. 基于AO/AE获取要素信息 9729. ArcEngine中拓扑的使用-- 10030. ArcEngine渲染的使用 10331. 利用ArcEngin进行空间分析的简单应用-- 11032. IfeatureSelection:SelectFeatures方法介绍 11433. 常用数据入sde库的代码 11634. ArcEngine开发感想 12235. Geometry对象浅析 12436. AE开发中的一些基本方法(1)数据连接 134用ArcEngine的工具条添加图层要素发现AE比起其它的组件GIS来要好用的多 但也有一些bt的地方 比如说AE没有提供图层编辑的工具条 但最近因为程序里要添加图元 必须得开发图层编辑的功能 于是去找了找资料 发现自带的帮助里有一个MapEditing的示例 但是从AO的示例改造而来 需要从按钮写起 想想如果这样搞的话 倒不如直接用AO算了 一直想省点事 在AE自带的工具条上做点文章 其实AE中也有一组相似的编辑按钮,是用于编辑Graphics的 自然就有了一个想法:能不能先生成一个Graphic,然后将其加载进来 琢磨了几日,终于实现了 现在把代码拿出来和大家分享 privatevoidForm1_Load(objectsender,System.EventArgse) { ???????//清空图层 ???????this.axMapControl1.Map.ClearLayers(); ???????//加载服务器SDE地图信息ESRI.ArcGIS.esriSystem.IpropertySetProset=newESRI.ArcGIS.esriSystem.PropertySetClass();//属性集 ???????ESRI.ArcGIS.Geodatabase.IWorkspaceFactoryF//工作空间仓库 ???????ESRI.ArcGIS.Geodatabase.IWorkspaceW//工作空间 ??????????? ???????Proset.SetProperty(&Server&,&服务器名&);//服务器名 ???????Proset.SetProperty(&Instance&,&端口&);//实例化端口 ???????Proset.SetProperty(&user&,&用户名&);//SDE用户名 ???????Proset.SetProperty(&password&,&密码&);//密码 ???????Proset.SetProperty(&version&,&sde.DEFAULT&);//连接版本 Fact=newESRI.ArcGIS.DataSourcesGDB.SdeWorkspaceFactoryClass();//实例化为SDE工作空间仓库 Workspace=Fact.Open(Proset,Int32.Parse(this.Handle.ToString()));//填入属性集 ??????? ESRI.ArcGIS.Geodatabase.IFeatureWorkspaceFea
正在加载中,请稍后...本段源码实在之前博主的基础上加以修改的
具体的分割方法见http://blog.csdn.net/hong_taizi/article/details/
本人只在线分割线上做了递归处理线的焦点
///&&summary&
&&&&&&&&///&线分割线
&&&&&&&&///&&/summary&
&&&&&&&&///&&param&name=&feature&&要素&/param&
&&&&&&&&///&&param&name=&point&&交点&/param&
&&&&&&&&///&&param&name=&newFeatures&&要素集,保存分割后的要素&/param&
&&&&&&&&///&&param&name=&index&&交点集索引&/param&
&&&&&&&&private&void&SplitPolylineByLine(IFeature&feature,&IPoint&point,&List&IFeature&&newFeatures,&int&index)
&&&&&&&&&&&&while&(pPointCol.PointCount&&&0)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&pPointCol.RemovePoints(index,&1);
&&&&&&&&&&&&&&&&IFeatureEdit&featEdit&=&feature&as&IFeatureEdit;
&&&&&&&&&&&&&&&&ISet&pointSet&=&featEdit.Split(point);
&&&&&&&&&&&&&&&&pointSet.Reset();
&&&&&&&&&&&&&&&&IFeature&splitFea&=&pointSet.Next()&as&IFeature;
&&&&&&&&&&&&&&&&while&(splitFea&!=&null)
&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&bool&contain&=&false;
&&&&&&&&&&&&&&&&&&&&for&(int&i&=&0;&i&&&pPointCol.PointC&i++)
&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&IRelationalOperator&relationalOperator&=&splitFea.Shape&as&IRelationalOperator;
&&&&&&&&&&&&&&&&&&&&&&&&if&(relationalOperator.Contains(pPointCol.get_Point(i)))
&&&&&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&SplitPolylineByLine(splitFea,&pPointCol.get_Point(i),&newFeatures,&i);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&contain&=&true;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&break;
&&&&&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&if&(!contain)
&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&splitFea.Store();
&&&&&&&&&&&&&&&&&&&&&&&&newFeatures.Add(splitFea&as&IFeature);
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&splitFea&=&pointSet.Next()&as&IFeature;
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&}
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:415次
排名:千里之外您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
ArcEngine基础学习.doc 132页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:150 &&
你可能关注的文档:
··········
··········
正在加载中,请稍后...4706人阅读
Arc Engine(65)
.net(115)
IAoInitialize m_AoInitialize = new AoInitializeClass();
esriLicenseStatuslicenseStatus = esriLicenseStatus.esriLicenseU
licenseStatus = m_AoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeArcInfo);
if (licenseStatus == esriLicenseStatus.esriLicenseCheckedOut)
GeoprocessortGp = newGeoprocessor();
tGp.OverwriteOutput =
licenseStatus = m_AoInitialize.IsExtensionCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeEngine,esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst);
licenseStatus = m_AoInitialize.CheckOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst);
//LICenced arcengine
ESRI.ArcGIS.ConversionTools.ASCIIToRastertASC = newESRI.ArcGIS.ConversionTools.ASCIIToRaster();
tASC.data_type = &FLOAT&;
tASC.in_ascii_file = pWorkSpacePath + @&a1.txt&;
tASC.out_raster = pWorkSpacePath + &a1.img&;
//ScrollToBottom(&ASCIIToRaster&);
IGeoProcessorResulttGeoResult = (IGeoProcessorResult)tGp.Execute(tASC, null);
if (tGeoResult.Status == ESRI.ArcGIS.esriSystem.esriJobStatus.esriJobSucceeded)
ESRI.ArcGIS.SpatialAnalystTools.ReclassifytReclass = newESRI.ArcGIS.SpatialAnalystTools.Reclassify();
tReclass.in_raster = pWorkSpacePath + &a1.img&;
tReclass.missing_values = &NODATA&;
tReclass.out_raster = pWorkSpacePath + @&Out3.img&;
tReclass.reclass_field = &VALUE&;
tReclass.remap = &0 958 10;958 988 20;988 990 30;990 0 1100 50&;
// ScrollToBottom(&Reclassify&);
tGeoResult = (IGeoProcessorResult)tGp.Execute(tReclass, null);
if (tGeoResult.Status == ESRI.ArcGIS.esriSystem.esriJobStatus.esriJobSucceeded)
ESRI.ArcGIS.ConversionTools.RasterToPolygontRTP = newESRI.ArcGIS.ConversionTools.RasterToPolygon();
tRTP.in_raster = pWorkSpacePath + &Out3.img&;
tRTP.out_polygon_features = pWorkSpacePath + &a2_shp.shp&;
tRTP.raster_field = &VALUE&;
tRTP.simplify = &SIMPLIFY&;
//ScrollToBottom(&RasterToPolygon&);
tGeoResult = (IGeoProcessorResult)tGp.Execute(tRTP, null);
if (tGeoResult.Status == ESRI.ArcGIS.esriSystem.esriJobStatus.esriJobSucceeded)
licenseStatus = m_AoInitialize.CheckInExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst);
ESRI.ArcGIS.DataManagementTools.SmoothPolygontSP = newESRI.ArcGIS.DataManagementTools.SmoothPolygon();
tSP.algorithm = &PAEK&;
tSP.in_features = pWorkSpacePath + &a2_shp.shp&;
tSP.out_feature_class = pWorkSpacePath + &a2_shp_smooth.shp&;
tSP.tolerance = &2&;
tSP.endpoint_option = &FIXED_ENDPOINT&;
tSP.error_option = &FLAG_ERRORS&;
ScrollToBottom(&SmoothPolygon&);
tGeoResult = (IGeoProcessorResult)tGp.Execute(tSP, null);
// arcengine liencesd 当使用高版本的liencesd在使用中,如果需要低版本的liencesd,需要动态签出liencesd,不然将不会执行成功!
// writeMessage(tGp);
MessageBox.Show(&ok&);
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
(2)(2)(1)(1)(1)(3)(1)(2)(6)(3)(1)(8)(7)(2)(5)(8)(7)(2)(8)(15)(18)(19)(23)(5)(7)(2)(1)(1)(7)(3)
访问:288083次
积分:3317
积分:3317
排名:第8670名
原创:23篇
转载:147篇
评论:44条}

我要回帖

更多关于 输入法打字会出现重复 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信