public enum EsriShapeExportFlags : System.Enum, System.IComparable, System.IConvertible, System.IFormattable
Public Enum EsriShapeExportFlags Inherits System.Enum Implements System.IComparable, System.IConvertible, System.IFormattable
public enum EsriShapeExportFlags : System.Enum, System.IComparable, System.IConvertible, System.IFormattable
Public Enum EsriShapeExportFlags Inherits System.Enum Implements System.IComparable, System.IConvertible, System.IFormattable
Member | Description |
---|---|
EsriShapeExportAngularDensify | Exports densified versions of non-linear segments. Generates new vertices at constant angles along those segments. |
EsriShapeExportDefaults | Exports curves, Z-values, and M-values. Performs byte swapping if the current platform architecture is big-endian. |
EsriShapeExportDistanceDensify | Exports densified versions of non-linear segments. Generates new vertices using a Douglas-Peucker style algorithm. |
EsriShapeExportNoCompress | Does not compress the output shapefile buffer. |
EsriShapeExportNoSwap | Does not perform byte swapping on the output shapefile buffer. |
EsriShapeExportStripMaterials | Removes materials attributes from exported multipatch. |
EsriShapeExportStripMs | Removes M values from exported shape. |
EsriShapeExportStripNormals | Removes normals from exported multipatch. |
EsriShapeExportStripTextures | Removes textures from exported multipatch. |
EsriShapeExportStripZs | Removes Z values from exported shape. |
EsriShapeExportTrueNaNs | Exports undefined double precision values as true NaNs (IEEE Non-A-Number). The default is to use large, negative values. |
// create an envelope List<MapPoint> coordsZM = new List<MapPoint> { MapPointBuilderEx.CreateMapPoint(1001, 1002, 1003, 1004), MapPointBuilderEx.CreateMapPoint(2001, 2002, Double.NaN, 2004), MapPointBuilderEx.CreateMapPoint(3001, -3002, 3003, 3004), MapPointBuilderEx.CreateMapPoint(1001, -4002, 4003, 4004) }; Envelope envelope = EnvelopeBuilderEx.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 envelopeBuilderEx classes buffer = envelope.ToEsriShape(); // buffer represents a polygon as there is not an envelope Esri shape buffer // EnvelopeBuilderEx.FromEsriShape takes a polygon Esri shape buffer and returns the extent of the polygon. importedEnvelope = EnvelopeBuilderEx.FromEsriShape(buffer);
System.Object
System.ValueType
System.Enum
ArcGIS.Core.Geometry.EsriShapeExportFlags
Target Platforms: Windows 11, Windows 10