本文整理汇总了C#中SqlGeometry.ToGeometryPointsOfMultiPolygon方法的典型用法代码示例。如果您正苦于以下问题:C# SqlGeometry.ToGeometryPointsOfMultiPolygon方法的具体用法?C# SqlGeometry.ToGeometryPointsOfMultiPolygon怎么用?C# SqlGeometry.ToGeometryPointsOfMultiPolygon使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SqlGeometry
的用法示例。
在下文中一共展示了SqlGeometry.ToGeometryPointsOfMultiPolygon方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetGeometryInfo
/// <summary>
/// Преобразует в списки координат с инфрмацией о типе геометрии
/// </summary>
/// <param name="shape"></param>
/// <returns></returns>
private GeometryInstanceInfo GetGeometryInfo(SqlGeometry shape)
{
var result = new GeometryInstanceInfo();
var type = (OpenGisGeometryType) Enum.Parse(typeof (OpenGisGeometryType), (string) shape.STGeometryType());
result.ShapeType = type;
//List<PointF> points = new List<PointF>();
PointF[] points;
List<GeometryPointSequence> pointSequenceList;
var shapesPointsCollection = new List<List<GeometryPointSequence>>();
switch (type)
{
case OpenGisGeometryType.Point:
points = new PointF[1];
SqlGeometry firstpoint = shape.STStartPoint();
points[0] = new PointF((float) firstpoint.STX, (float) firstpoint.STY);
pointSequenceList = new List<GeometryPointSequence>
{
new GeometryPointSequence {PointList = points, InnerRing = false}
};
shapesPointsCollection.Add(pointSequenceList);
break;
case OpenGisGeometryType.LineString:
points = shape.ToPointsFArray();
pointSequenceList = new List<GeometryPointSequence> { new GeometryPointSequence { PointList = points, InnerRing = false } };
shapesPointsCollection.Add(pointSequenceList);
break;
case OpenGisGeometryType.Polygon:
shapesPointsCollection = shape.ToGeometryPointsOfPolygon();
break;
case OpenGisGeometryType.MultiPoint:
case OpenGisGeometryType.MultiLineString:
shapesPointsCollection = shape.ToGeometryPointsOfMultiPointLineString();
break;
case OpenGisGeometryType.MultiPolygon:
shapesPointsCollection = shape.ToGeometryPointsOfMultiPolygon();
break;
case OpenGisGeometryType.GeometryCollection:
var geomNum = (int) shape.STNumGeometries();
var geometryList = new GeometryInstanceInfo[geomNum];
int i;
for ( i = 0; i < geomNum; i++)
geometryList[i] = GetGeometryInfo(shape.STGeometryN(i));
result.GeometryInstanceInfoCollection = geometryList;
break;
}
result.Points = shapesPointsCollection;
return result;
}