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;

  • 相关阅读:
    设计模式之观察者模式
    设计模式之外观模式
    设计模式之模板模式
    设计模式之装饰器模式
    设计模式之代理模式
    .NET常见问题汇总
    使用位运算计算两个整数的加减
    一个程序判断CPU是大端还是小端
    后缀表达式 转 表达式树
    实习一个月的小结
  • 原文地址:https://www.cnblogs.com/chinacodegear/p/1418270.html
Copyright © 2011-2022 走看看