本文整理汇总了C#中Geometry.getEnvelopeInternal方法的典型用法代码示例。如果您正苦于以下问题:C# Geometry.getEnvelopeInternal方法的具体用法?C# Geometry.getEnvelopeInternal怎么用?C# Geometry.getEnvelopeInternal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Geometry
的用法示例。
在下文中一共展示了Geometry.getEnvelopeInternal方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WriteGeometry
/// <summary>
/// Writes a <b>Geometry</b> to the file.
/// </summary>
/// <param name="geometry">The <b>Geometry</b> to write to the file.</param>
/// <exception cref="ArgumentNullException">The geometry is a null reference (Nothing in Visual Basic).</exception>
public void WriteGeometry(Geometry geometry)
{
if (geometry == null)
{
throw new ArgumentNullException("geometry");
}
//// if (typeof(geometry == GeometryCollection)
//// {
//// this.WriteGeometryCollection((GeometryCollection)geometry);
//// }
// Make sure we have the same shape type - if not the file is invalid
if (_type == ShapeType.Undefined)
{
_type = Shapefile.GetShapeType(geometry);
}
else if (_type != Shapefile.GetShapeType(geometry))
{
throw new ArgumentException(String.Format(System.Globalization.CultureInfo.InvariantCulture, "An invalid shapet type has been encountered - expected '{0}' but got '{1}.", _type, Shapefile.GetShapeType(geometry)), "geometry");
}
// Get handler
ShapeHandler handler = Shapefile.GetShapeHandler(_type);
// Get the length of the geometry in bytes
int length = handler.GetLength(geometry);
// Write record number
_shpWriter.WriteIntBE(_count + 1);
// Write record length
_shpWriter.WriteIntBE(length);
// Write geometry
handler.Write(geometry, _shpWriter, _factory);
// Increase bounds to include geometry if needed
_bounds.expandToInclude(geometry.getEnvelopeInternal());
// Every time we write a geometry we need to increment the count
_count++;
// Write index information
_shxWriter.WriteIntBE(_shpLength);
_shxWriter.WriteIntBE(length);
// Every time we write a geometry we need to increment the byte length
_shpLength += HEADER_shpLength + length;
}