public override byte[] ToEsriShape()
Public Overloads Overrides NotOverridable Function ToEsriShape() As Byte()
Return Value
The envelope as a formatted binary byte buffer.
public override byte[] ToEsriShape()
Public Overloads Overrides NotOverridable Function ToEsriShape() As Byte()
// create an envelope List<MapPoint> coordsZM = new List<MapPoint> { MapPointBuilder.CreateMapPoint(1001, 1002, 1003, 1004), MapPointBuilder.CreateMapPoint(2001, 2002, Double.NaN, 2004), MapPointBuilder.CreateMapPoint(3001, -3002, 3003, 3004), MapPointBuilder.CreateMapPoint(1001, -4002, 4003, 4004) }; Envelope envelope = EnvelopeBuilder.CreateEnvelope(coordsZM[0], coordsZM[2], SpatialReferences.WGS84); // export and import EsriShapeExportFlags exportFlags = EsriShapeExportFlags.esriShapeExportDefaults; EsriShapeImportFlags importFlags = EsriShapeImportFlags.esriShapeImportDefaults; byte[] buffer = GeometryEngine.Instance.ExportToEsriShape(exportFlags, envelope); Polygon importedPolygon = GeometryEngine.Instance.ImportFromEsriShape(importFlags, buffer, envelope.SpatialReference) as Polygon; Envelope importedEnvelope = importedPolygon.Extent; // export without z,m buffer = GeometryEngine.Instance.ExportToEsriShape(EsriShapeExportFlags.esriShapeExportStripZs | EsriShapeExportFlags.esriShapeExportStripMs, envelope); importedPolygon = GeometryEngine.Instance.ImportFromEsriShape(importFlags, buffer, SpatialReferences.WGS84) as Polygon; importedEnvelope = importedPolygon.Extent; bool hasZ = importedEnvelope.HasZ; // hasZ = false bool hasM = importedEnvelope.HasM; // hasM = false // export with shapeSize int bufferSize = GeometryEngine.Instance.GetEsriShapeSize(exportFlags, envelope); buffer = new byte[bufferSize]; bufferSize = GeometryEngine.Instance.ExportToEsriShape(exportFlags, envelope, ref buffer); importedPolygon = GeometryEngine.Instance.ImportFromEsriShape(importFlags, buffer, envelope.SpatialReference) as Polygon; importedEnvelope = importedPolygon.Extent; // or use the envelope and envelopeBuilder classes buffer = envelope.ToEsriShape(); // buffer represents a polygon as there is not an envelope Esri shape buffer // EnvelopeBuilder.FromEsriShape takes a polygon Esri shape buffer and returns the extent of the polygon. importedEnvelope = EnvelopeBuilder.FromEsriShape(buffer);
Target Platforms: Windows 10, Windows 8.1