コード例 #1
0
ファイル: JZDCustom.cs プロジェクト: YB9527/CG
        /// <summary>
        /// 界址点近顺序编码
        /// </summary>
        /// <param name="jtsyq"></param>
        /// <param name="jzds"></param>
        /// <param name="featureLayer"></param>
        public static void SetBM(int startBH, JTSYQ jtsyq, IList <JZD> jzds, IFeatureLayer featureLayer)
        {
            if (jzds == null)
            {
                return;
            }
            //找到西北角第一点
            IPolygon pl = jtsyq.Feature.Shape as IPolygon;

            int[] fourPoint  = ArcGisUtils.GetFourPointsIndex(pl);
            int   index      = PointDiMin(fourPoint[0], jzds);
            int   startIndex = index;
            int   id         = jtsyq.OBJECTID;

            if (jzds.Count == 0)
            {
                MessageBox.Show("你选择的图中有没有界址点的,宗地是:" + jtsyq.QLR + ", 编码是:" + jtsyq.BM);
                return;
            }
            while (startIndex < jzds.Count)
            {
                JZD jzd = jzds[startIndex];
                jzd.JTSYQOBJECTID = id;
                jzd.JZDH          = startBH++;
                startIndex++;
            }
            int min = 0;

            while (min < index)
            {
                JZD jzd = jzds[min];
                jzd.JTSYQOBJECTID = id;
                jzd.JZDH          = startBH++;
                min++;
            }
            //修改
            Update(jzds);
        }