Point
Point 是一个0维的几何图形,具有X,Y坐标值,以及一些可选的属性:如高程值(Z值),度量值(M值) M这个属性在线性参考和动态分段中经常用到和ID号,点对象用于描述精确定位的对象,例如一个电话亭在一个城市的精确位置。
以下代码演示如何创建一个Point对象:
private IPoint ConstructPoint(double x, double y)
{
IPoint pPoint = new PointClass();
pPoint.PutCoords(x, y);
return pPoint;
}
MultiPoint
MultiPoint 对象是一系列无序的点的群集,这些点具有相同的属性信息。例如可以用一个点集来表示整个城市天然气调压站。
以下代码片段演示如何构建Multipoint对象:
private object pMissing = Type.Missing;
public IGeometry GetMultipointGeometry()
{
const double MultipointPointCount = 25;
IPointCollection pPointCollection = new MultipointClass();
for (int i = 0; i < MultipointPointCount; i++)
{
pPointCollection.AddPoint(GetPoint(), ref pMissing, ref pMissing);
}
return pPointCollection as IGeometry;
}
private IPoint GetPoint()
{
const double Min = -10;
const double Max = 10;
Random pRandom = new Random();
double x = Min + (Max - Min) * pRandom.NextDouble();
double y = Min + (Max - Min) * pRandom.NextDouble();
return ConstructPoint(x, y);
}