• 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;

  • 相关阅读:
    (转)二步实现 远程连接 阿里云SqlServer 2012 数据库服务器
    浅谈C#在网络波动时防重复提交
    面向 Kubernetes 编程: Kubernetes 是下一代操作系统
    C#并行编程(2):.NET线程池
    C#并行编程(1):理解并行
    iOS 动画总结----UIView动画
    iOS开发之各种动画各种页面切面效果
    iOS动画效果和实现
    iOS开发动画(Animation)总结
    iOS开发之传感器
  • 原文地址:https://www.cnblogs.com/chinacodegear/p/1418270.html
Copyright © 2020-2023  润新知