ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Core.Geometry Namespace / WktImportFlags Enumeration
Example Example

In This Topic
    WktImportFlags Enumeration
    In This Topic
    Specifies the flags that control the behavior of the GeometryEngine.ImportFromWKT method.
    Syntax
    Members
    MemberDescription
    WktImportDefaults Assumes the geometry comes from a trusted source and is topologically simple.
    WktImportNonTrusted Does not assume that the input string represents a topologically simple geometry.
    Example
    Import and Export Geometries to well-known Text
    {
      // create a point with z, m
      MapPoint point = MapPointBuilderEx.CreateMapPoint(
               100, 200, 300, 400, SpatialReferences.WebMercator);
    
      // set the flags
      WktExportFlags wktExportFlags = WktExportFlags.WktExportDefaults;
      WktImportFlags wktImportFlags = WktImportFlags.WktImportDefaults;
    
      // export and import
      string wktString = GeometryEngine.Instance.ExportToWKT(wktExportFlags, point);
      MapPoint importPointGeom = GeometryEngine.Instance.ImportFromWKT(
            wktImportFlags, wktString, SpatialReferences.WebMercator) as MapPoint;
    
      double x = importPointGeom.X;       // x = 100
      double y = importPointGeom.Y;       // y = 200
      bool hasZ = importPointGeom.HasZ;   // hasZ = true
      double z = importPointGeom.Z;       // z = 300
      bool hasM = importPointGeom.HasM;   // hasM = true
      double m = importPointGeom.M;       // m = 400
    
      // export without z
      WktExportFlags exportFlagsNoZ = WktExportFlags.WktExportStripZs;
      wktString = GeometryEngine.Instance.ExportToWKT(exportFlagsNoZ, point);
      importPointGeom = GeometryEngine.Instance.ImportFromWKT(
        wktImportFlags, wktString, SpatialReferences.WebMercator) as MapPoint;
    
      x = importPointGeom.X;        // x = 100
      y = importPointGeom.Y;        // y = 200
      hasZ = importPointGeom.HasZ;  // hasZ = false
      z = importPointGeom.Z;        // z = 0
      hasM = importPointGeom.HasM;  // hasM = true
      m = importPointGeom.M;        // m = 400
    
      // export without m
      WktExportFlags exportFlagsNoM = WktExportFlags.WktExportStripMs;
      wktString = GeometryEngine.Instance.ExportToWKT(exportFlagsNoM, point);
      importPointGeom = GeometryEngine.Instance.ImportFromWKT(
        wktImportFlags, wktString, SpatialReferences.WebMercator) as MapPoint;
    
      x = importPointGeom.X;        // x = 100
      y = importPointGeom.Y;        // y = 200
      hasZ = importPointGeom.HasZ;  // hasZ = true
      z = importPointGeom.Z;        // z = 300
      hasM = importPointGeom.HasM;  // hasM = false
      m = importPointGeom.M;        // m = Nan
    
      // export without z, m
      wktString = GeometryEngine.Instance.ExportToWKT(
        exportFlagsNoZ | exportFlagsNoM, point);
      importPointGeom = GeometryEngine.Instance.ImportFromWKT(
        wktImportFlags, wktString, SpatialReferences.WebMercator) as MapPoint;
    
      x = importPointGeom.X;        // x = 100
      y = importPointGeom.Y;        // y = 200
      hasZ = importPointGeom.HasZ;  // hasZ = false
      z = importPointGeom.Z;        // z = 0
      hasM = importPointGeom.HasM;  // hasM = false
      m = importPointGeom.M;        // m = Nan
    }
    Import and Export Geometries to well-known Binary
    {
      // create a polyline
      List<Coordinate2D> coords = new List<Coordinate2D>
      {
        new Coordinate2D(0, 0),
        new Coordinate2D(0, 1),
        new Coordinate2D(1, 1),
        new Coordinate2D(1, 0)
      };
    
      polyline = PolylineBuilderEx.CreatePolyline(
                  coords, SpatialReferences.WGS84);
    
      WkbExportFlags wkbExportFlags = WkbExportFlags.WkbExportDefaults;
      WkbImportFlags wkbImportFlags = WkbImportFlags.WkbImportDefaults;
    
      // export and import
      byte[] buffer = GeometryEngine.Instance.ExportToWKB(wkbExportFlags, polyline);
      geometry = GeometryEngine.Instance.ImportFromWKB(
                     wkbImportFlags, buffer, SpatialReferences.WGS84);
      Polyline importPolyline = geometry as Polyline;
    
    
      // alternatively, determine the size for the buffer
      int bufferSize = GeometryEngine.Instance.GetWKBSize(wkbExportFlags, polyline);
      buffer = new byte[bufferSize];
      // export
      bufferSize = GeometryEngine.Instance.ExportToWKB(
                      wkbExportFlags, polyline, ref buffer);
      // import
      importPolyline = GeometryEngine.Instance.ImportFromWKB(
               wkbImportFlags, buffer, SpatialReferences.WGS84) as Polyline;
    }
    Inheritance Hierarchy

    System.Object
       System.ValueType
          System.Enum
             ArcGIS.Core.Geometry.WktImportFlags

    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also