zoukankan      html  css  js  c++  java
  • Delphi ArcEngine 创建梯度专题 Proportional

    function ProportionalSymbolRenderer(pLayer: ILayer; sField: string; pFrontColor, pBackColor: IColor;

    iLegendCount:  Integer): Boolean;

    //参数依次为 图形,该图层的某一个字段名称,前景色,背景色,图例分级数量

    var
      pGeoLayer: IGeoFeatureLayer;
      pTable: ITable;
      iFieldIndex: Integer;
      pRenderer: IProportionalSymbolRenderer;

      pQueryFilter: IQueryFilter;
      pCursor: ICursor;
      pRow: IRow;
      pColor: IColor;

      pDataStatics: IDataStatistics;
      pStaticsResults: IStatisticsResults;

      pFillSymbol: ISimpleFillSymbol;
      pMarkerSymbol: ISimpleMarkerSymbol;
      pSymbol: ISymbol;
      sValue: string;

    begin
      pGeoLayer := pLayer as IGeoFeatureLayer;
      pTable := pLayer as ITable;
      pRenderer := CoProportionalSymbolRenderer.Create as IProportionalSymbolRenderer;

      pQueryFilter := CoQueryFilter.Create as IQueryFilter;
      pQueryFilter.AddField(sField);
      pCursor := pTable.Search(pQueryFilter, True);

      pDataStatics := CoDataStatistics.Create as IDataStatistics;
      pDataStatics.Cursor := pCursor;
      pDataStatics.Field := sField;
      pStaticsResults := pDataStatics.Statistics;

      //创建符号
      pFillSymbol := CoSimpleFillSymbol.Create as ISimpleFillSymbol;
      pFillSymbol.Color := pBackColor;

      pMarkerSymbol := CoSimpleMarkerSymbol.Create as ISimpleMarkerSymbol;
      pMarkerSymbol.Color := pFrontColor;
      pMarkerSymbol.Size := 3;
      pMarkerSymbol.Style := esriSMSDiamond;

      pRenderer.ValueUnit := esriUnknownUnits;
      pRenderer.Field := sField;
      pRenderer.MinDataValue := pStaticsResults.Minimum;
      pRenderer.MaxDataValue := pStaticsResults.Maximum;
      pRenderer.BackgroundSymbol := pFillSymbol;
      pRenderer.MinSymbol := pMarkerSymbol as ISymbol;
      pRenderer.LegendSymbolCount:=  iLegendCount;
      pRenderer.CreateLegendSymbols;

      pGeoLayer.Renderer := pRenderer  as IFeatureRenderer;

      Result := True;

    end;
  • 相关阅读:
    Linux查看系统资源占用
    覆盖索引有何用?
    Java8新特性
    架构的力量!!2016解密互联网公司架构技术
    作为程序员,如何防辐射?
    Mysql查询正在运行的事务以及杀掉它
    Hbase设计实战
    不可不知的网络知识与工具
    MySQL数据库事务剖析
    dos插入mysql乱码
  • 原文地址:https://www.cnblogs.com/chinacodegear/p/1423321.html
Copyright © 2011-2022 走看看