示例#1
0
        public moFeature Clone()
        {
            moGeometryTypeConstant sShapeType  = _ShapeType;
            moGeometry             sGeometry   = null;
            moAttributes           sAttributes = _Attributes.Clone();

            if (_ShapeType == moGeometryTypeConstant.Point)
            {
                moPoint sPoint = (moPoint)_Geometry;
                sGeometry = sPoint.Clone();
            }
            else if (_ShapeType == moGeometryTypeConstant.MultiPolyline)
            {
                moMultiPolyline sMultiPolyline = (moMultiPolyline)_Geometry;
                sGeometry = sMultiPolyline.Clone();
            }
            else if (_ShapeType == moGeometryTypeConstant.MultiPolygon)
            {
                moMultiPolygon sMultiPolygon = (moMultiPolygon)_Geometry;
                sGeometry = sMultiPolygon.Clone();
            }
            moFeature sFeature = new moFeature(sShapeType, sGeometry, sAttributes);

            return(sFeature);
        }
示例#2
0
        /// <summary>
        /// 复制
        /// </summary>
        /// <returns></returns>
        public moAttributes Clone()
        {
            moAttributes sAttributes = new moAttributes();

            sAttributes._Attributes.AddRange(_Attributes);
            return(sAttributes);
        }
示例#3
0
        private moFeature CreateNewFeature()
        {
            moAttributes sAttributes = new moAttributes();
            Int32        sFieldCount = _AttributeFields.Count;

            for (Int32 i = 0; i <= sFieldCount - 1; i++)
            {
                moField sField = _AttributeFields.GetItem(i);
                if (sField.ValueType == moValueTypeConstant.dInt16)
                {
                    Int16 sValue = 0;
                    sAttributes.Append(sValue);
                }
                else if (sField.ValueType == moValueTypeConstant.dInt32)
                {
                    Int32 sValue = 0;
                    sAttributes.Append(sValue);
                }
                else if (sField.ValueType == moValueTypeConstant.dInt64)
                {
                    Int64 sValue = 0;
                    sAttributes.Append(sValue);
                }
                else if (sField.ValueType == moValueTypeConstant.dSingle)
                {
                    float sValue = 0;
                    sAttributes.Append(sValue);
                }
                else if (sField.ValueType == moValueTypeConstant.dDouble)
                {
                    double sValue = 0;
                    sAttributes.Append(sValue);
                }
                else if (sField.ValueType == moValueTypeConstant.dText)
                {
                    String sValue = "";
                    sAttributes.Append(sValue);
                }
                else
                {
                    throw new Exception("Invalid value type!");
                }
            }
            moFeature sFeature = new moFeature(_ShapeType, null, sAttributes);

            return(sFeature);
        }
示例#4
0
 private moSymbol _Symbol;         //配置的符号
 #endregion
 #region 构造函数
 public moFeature(moGeometryTypeConstant shapeType, moGeometry geometry, moAttributes attributes)
 {
     _ShapeType  = shapeType;
     _Geometry   = geometry;
     _Attributes = attributes;
 }