本文整理汇总了C#中IPolygon.SnapToSpatialReference方法的典型用法代码示例。如果您正苦于以下问题:C# IPolygon.SnapToSpatialReference方法的具体用法?C# IPolygon.SnapToSpatialReference怎么用?C# IPolygon.SnapToSpatialReference使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IPolygon
的用法示例。
在下文中一共展示了IPolygon.SnapToSpatialReference方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Expand
/**
* Creates a new SEE object representing the buffered union of the selection, unioned
* with this object and the newShape.
*
* If any parameters are null, this method should fail gracefully.
*/
public void Expand(IPolygon expansion, ISDUTExtension ext)
{
if(expansion == null)
return;
ITopologicalOperator2 op_expansion = (ITopologicalOperator2)expansion;
op_expansion.IsKnownSimple_2 = false;
try
{
op_expansion.Simplify();
}
catch (Exception e)
{
Logger.Warn(e);
}
if(shape == null)
{
shape = (IPolygon)((IClone)expansion).Clone();
if (shape.SpatialReference == null || shape.SpatialReference is IUnknownCoordinateSystem)
{
shape.SpatialReference = ext.FocusMap.SpatialReference;
}
return;
}
// buggy
// http://forums.esri.com/Thread.asp?c=93&f=1170&t=88297#242834
ITopologicalOperator2 op_shape = (ITopologicalOperator2)shape;
op_shape.IsKnownSimple_2 = false;
try
{
op_shape.Simplify();
}
catch (Exception e)
{
Logger.Warn(e);
}
if (shape.SpatialReference == null || shape.SpatialReference is IUnknownCoordinateSystem)
{
shape.SpatialReference = ext.FocusMap.SpatialReference;
}
if (expansion.SpatialReference == null || shape.SpatialReference is IUnknownCoordinateSystem)
{
expansion.SpatialReference = ext.FocusMap.SpatialReference;
}
expansion.Project(shape.SpatialReference);
ISpatialReference sr = shape.SpatialReference;
shape.SnapToSpatialReference();
expansion.SnapToSpatialReference();
shape = (IPolygon)(op_shape.Union((IPolygon)expansion));
shape.SpatialReference = sr;
if (shape.SpatialReference == null || shape.SpatialReference is IUnknownCoordinateSystem)
{
shape.SpatialReference = ext.FocusMap.SpatialReference;
}
op_shape = (ITopologicalOperator2)shape;
try
{
op_shape.Simplify();
}
catch (Exception e)
{
Logger.Warn(e);
}
return;
}