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;