我试图在C#中创建一个函数,该函数将返回一个随机的IPoint特征,该特征应该在一个选定的多边形内,但我已经完成了如何继续的buff。
理想情况下,该功能的定义如下:
public IPoint Create_Random_Point(IGeometry inGeom)
答案 0 :(得分:1)
有一个名为CreateRandomPoints的地理处理工具,可用于在特定边界内生成点(例如,在窗口范围内,在多边形内或沿着线)。看看:
地理处理工具相当容易实现到arcobjects代码中,但有时执行起来有点慢。
答案 1 :(得分:-1)
为了将来的参考,我创建了一个自定义函数,试图在polgon的扩展中找到一个随机点。
private double GetRandomDouble(double Min, double Max)
{
//TODO:
// seed
Random random = new Random();
return random.NextDouble() * (Max - Min) + Min;
}
private IPoint Create_Random_Point(IGeometry inGeom)
{
double x = GetRandomDouble(inGeom.Envelope.XMin, inGeom.Envelope.XMax);
double y = GetRandomDouble(inGeom.Envelope.YMin, inGeom.Envelope.YMax);
IPoint p = new PointClass();
p.X = x;
p.Y = y;
return p;
}