コード例 #1
0
ファイル: LayerStyles.cs プロジェクト: yifeidong/gvms
        /// <summary>
        /// 给图层设置唯一值渲染
        /// </summary>
        /// <param name="layer"></param>
        /// <param name="renderFieldName"></param>
        public MapObjects2.ValueMapRenderer GetUniqueValueRender(MapObjects2.MapLayer layer, string renderFieldName)
        {
            MapObjects2.ValueMapRenderer oValueMapRender = new MapObjects2.ValueMapRendererClass();
            MapObjects2.Recordset        oRecords        = layer.Records;
            MapObjects2.Strings          oStrings        = new StringsClass();

            if (layer.shapeType == ShapeTypeConstants.moShapeTypePoint)
            {
                oValueMapRender.SymbolType = SymbolTypeConstants.moPointSymbol;
            }
            else if (layer.shapeType == ShapeTypeConstants.moShapeTypeLine)
            {
                oValueMapRender.SymbolType = SymbolTypeConstants.moLineSymbol;
            }
            else if (layer.shapeType == ShapeTypeConstants.moShapeTypePolygon)
            {
                oValueMapRender.SymbolType = SymbolTypeConstants.moFillSymbol;
            }

            oValueMapRender.Field = renderFieldName;
            oStrings.Unique       = true;
            oRecords.MoveFirst();

            while (!oRecords.EOF)
            {
                oStrings.Add(oRecords.Fields.Item(renderFieldName).ValueAsString);

                oRecords.MoveNext();
            }

            oValueMapRender.ValueCount = oStrings.Count;
            for (short i = 0; i < oStrings.Count; i++)
            {
                oValueMapRender.set_Value(i, oStrings.Item(i));
            }

            return(oValueMapRender);
        }
コード例 #2
0
ファイル: LayerStyles.cs プロジェクト: uwitec/gvms
        /// <summary>
        /// ��ͼ������Ψһֵ��Ⱦ
        /// </summary>
        /// <param name="layer"></param>
        /// <param name="renderFieldName"></param>
        public MapObjects2.ValueMapRenderer GetUniqueValueRender(MapObjects2.MapLayer layer, string renderFieldName)
        {
            MapObjects2.ValueMapRenderer oValueMapRender = new MapObjects2.ValueMapRendererClass();
            MapObjects2.Recordset oRecords = layer.Records;
            MapObjects2.Strings oStrings = new StringsClass();

            if (layer.shapeType == ShapeTypeConstants.moShapeTypePoint)
                oValueMapRender.SymbolType = SymbolTypeConstants.moPointSymbol;
            else if (layer.shapeType == ShapeTypeConstants.moShapeTypeLine)
                oValueMapRender.SymbolType = SymbolTypeConstants.moLineSymbol;
            else if (layer.shapeType == ShapeTypeConstants.moShapeTypePolygon)
                oValueMapRender.SymbolType = SymbolTypeConstants.moFillSymbol;

            oValueMapRender.Field = renderFieldName;
            oStrings.Unique = true;
            oRecords.MoveFirst();

            while (!oRecords.EOF)
            {
                oStrings.Add(oRecords.Fields.Item(renderFieldName).ValueAsString);

                oRecords.MoveNext();
            }

            oValueMapRender.ValueCount = oStrings.Count;
            for (short i = 0; i < oStrings.Count; i++) oValueMapRender.set_Value(i, oStrings.Item(i));

            return oValueMapRender;
        }