zoukankan      html  css  js  c++  java
  • my merge(留作纪念)

     private void button11_Click(object sender, EventArgs e)
            {
                IWorkspaceEdit pWorkspaceEdit = (IWorkspaceEdit)pCommonFeaureWorkspace;
                pWorkspaceEdit.StartEditing(true);
                pWorkspaceEdit.StartEditOperation();

                IFeatureCursor pFeatureCursor = pCommonFeatureClass.Search(null, false);
                IFeature pFeatureFirst = pFeatureCursor.NextFeature();
                //int count = 0;
                //while (pFeatureFirst != null)
                //{
                    Console.WriteLine(pFeatureFirst.get_Value(0).ToString());

                    IGeometry pGeometryFirst = pFeatureFirst.Shape;
                    ITopologicalOperator2 pTopOperatorFirst = (ITopologicalOperator2)pGeometryFirst;
                    IRelationalOperator pRelOperatorFirst = (IRelationalOperator)pGeometryFirst;
                    pTopOperatorFirst.IsKnownSimple_2 = false;
                    pTopOperatorFirst.Simplify();
                    pGeometryFirst.SnapToSpatialReference();

                    IGeometry pGeometrySecond;
                    IFeature pFeatureSecond = pFeatureCursor.NextFeature();

                    while (pFeatureSecond != null)
                    {
                        pGeometrySecond = pFeatureSecond.ShapeCopy;
                        ITopologicalOperator2 pTopOperatorSecond = (ITopologicalOperator2)pGeometrySecond;
                        pTopOperatorSecond.IsKnownSimple_2 = false;
                        pTopOperatorSecond.Simplify();
                        pGeometrySecond.SnapToSpatialReference();
                        Console.WriteLine(pFeatureSecond.get_Value(0).ToString());

                        if (pRelOperatorFirst.Overlaps(pGeometrySecond) == true)
                        {
                            pGeometryFirst = pTopOperatorFirst.Union(pGeometrySecond);
                            pFeatureSecond.Delete();
                        }

                        pFeatureSecond = pFeatureCursor.NextFeature();
                    }

                    pTopOperatorFirst.IsKnownSimple_2 = false;
                    pTopOperatorFirst.Simplify();
                    pFeatureFirst.Shape = pGeometryFirst;
                    pFeatureFirst.Store();
                    //axMapControl1.Refresh();
                    //count++;

                //    pFeatureCursor = pCommonFeatureClass.Search(null, false);
                //    for (int i = 0; i <= count; i++)
                //    {
                //        pFeatureFirst = pFeatureCursor.NextFeature();
                //    }
                
                //}
                pWorkspaceEdit.StopEditOperation();
                pWorkspaceEdit.StopEditing(true);
                axMapControl1.Refresh();
            }
  • 相关阅读:
    如何查看MySQL执行的每条SQL
    最简单的方式在linux上升级node.js版本
    快速理解字符串和编码
    macaca常见错误排查
    macaca自动化初体验
    F2eTest程序快捷方式安装到桌面
    centos下mysqlreport安装和使用
    前端纯css 图片的模糊处理
    gulp入门学习教程(入门学习记录)
    关于nodejs中npm命令没有反应的解决方法
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/1428433.html
Copyright © 2011-2022 走看看