zoukankan      html  css  js  c++  java
  • Delphi ArcEngine 创建点密度专题方法


    function DotDensityRenderer(pLayer: ILayer; sField: string; iDotSize: Integer; pRgbColor: IRgbColor; dDotValue:  Double): Boolean;

    //参数说明 ,按顺序 指定的图层,字段  ,点大小,颜色,每个点代表的值
    var
       pGeoLayer: IGeoFeatureLayer;
       pRenderer: IDotDensityRenderer;
       pMarkerSymbol: ISimpleMarkerSymbol;
       pRendererFields: IRendererFields;
       pDotDensitySymbol: IDotDensityFillSymbol;

       pSymbolArray: ISymbolArray;
    begin
       //创建点密度渲染对象
       pRenderer := CoDotDensityRenderer.Create as IDotDensityRenderer;
       pRendererFields := pRenderer as IRendererFields;

       //创建点密度符号
       pDotDensitySymbol := CoDotDensityFillSymbol.Create as IDotDensityFillSymbol;
       pDotDensitySymbol.DotSize := iDotSize;
       pDotDensitySymbol.BackgroundColor := pRgbColor;

       //创建点符号,用于点密度渲染
       pMarkerSymbol := CoSimpleMarkerSymbol.Create as ISimpleMarkerSymbol;
       pMarkerSymbol.Color := getRGB(0, 0, 255, 255);
       pMarkerSymbol.Style := esriSMSCircle;

       pSymbolArray := pDotDensitySymbol as ISymbolArray;
       pSymbolArray.AddSymbol(pMarkerSymbol as ISymbol);

       pRenderer.DotDensitySymbol := pDotDensitySymbol;
       pRenderer.DotValue := dDotValue;
       pRenderer.CreateLegend;

       if pRenderer <> nil then
       begin
          pGeoLayer := pLayer as IGeoFeatureLayer;
          pGeoLayer.Renderer := pRenderer as IFeatureRenderer;
          Result := True;
       end
       else
       begin
          Result := False;
       end;
    end;

  • 相关阅读:
    辗转相除法
    并查集(详)
    LCA 最近公共祖先
    RMQ ST表 静态区间最大值
    manacher
    题解 CF33B String Problem
    Linux 下对拍程序
    CSP 考试注意事项
    题解 P4688 [Ynoi2016]掉进兔子洞
    CSP 2020 游记
  • 原文地址:https://www.cnblogs.com/chinacodegear/p/1418270.html
Copyright © 2011-2022 走看看