我不多写了。。网上现有的代码算法有问题。把代码放上来,需要的同志可以参考。
IFeatureClass featureClass =GetLayerByName("摄像头").FeatureClass;
IFeature featureForDraw;
IFeatureCursor tmpcur =Base.QueryElement(featureClass,"");
while(true)
{
featureForDraw = tmpcur.NextFeature(); //得到对象
if(featureForDraw!=null)
{
ISimpleFillSymbol pointSymbol = new SimpleFillSymbolClass();
pointSymbol.Style = ESRI.ArcGIS.Display.esriSimpleFillStyle.esriSFSNull;
pointSymbol.Color = Base.GetRGBColor(255,0,0);
ILineSymbol linesymbol=new SimpleLineSymbolClass();
linesymbol.Width=1.1;
linesymbol.Color=Base.GetRGBColor(255,0,0);
pointSymbol.Outline=linesymbol;
IPoint p=featureForDraw.ShapeCopy as IPoint;
//这里用了属性查询,用到前面得到的对象的主字段值。
//IRubberBand pRubberBand=new RubberCircleClass();
ESRI.ArcGIS.Geometry.IConstructCircularArc con=new CircularArcClass();
double FW=40.0;
double zj=0.01; //直径
double jd=1.414;
string _fw=featureForDraw.get_Value(featureForDraw.Fields.FindField("SP_ANGLE")).ToString().Trim();
if(_fw!=string.Empty)
{
FW=double.Parse(_fw);
}
string _zj=featureForDraw.get_Value(featureForDraw.Fields.FindField("BOUND")).ToString().Trim();
if(_zj!=string.Empty)
{
zj=double.Parse(_zj);
}
try
{
//con.ConstructCircle(p,System.Convert.ToDouble(bound_str)/2000,false);
ESRI.ArcGIS.Geometry.ICircularArc cir=new CircularArcClass();
cir=con as ICircularArc;
//重点
cir.PutCoordsByAngle(p,FW*Math.PI/180,40*Math.PI/180,zj);
IPoint 起始点=cir.FromPoint;
IPoint 结束点=cir.ToPoint;
ILine line=new LineClass();
ILine line1=new LineClass();
line.PutCoords(p,起始点);
line1.PutCoords(结束点,p);
ISegmentCollection polygon = new PolygonClass();
object Missing = Type.Missing;
polygon.AddSegment(line as ISegment,ref Missing,ref Missing);
polygon.AddSegment(cir as ISegment,ref Missing,ref Missing);
polygon.AddSegment(line1 as ISegment,ref Missing,ref Missing);
IGeometry geometry =polygon as IGeometry;
object tmpSymbol=(object)pointSymbol;
axMapControl1.DrawShape (geometry,ref tmpSymbol);
}
catch
{
}
}
else
{
break;
}
}
}
catch(Exception ex)
{
System.Console.WriteLine(ex.Message);
}
程序猿们,我也跟风开了网店,主要经营土特产,云南核桃,四川正宗土鸡蛋鸡蛋。有需要的就支持一下小店哈 七彩山川美食(http://qcsc.taobao.com)