/// <summary>Creates a geodesic buffer around the input geometries</summary>
 /// <param name="inputGeometries">The geometries to buffer.</param>
 /// <param name="sr">The Spatial_reference of the Geometries.</param>
 /// <param name="curveType">
 /// The geodetic curve type of the segments. If the curve_type is Geodetic_curve::shape_preserving, then the segments are densified in the projection where they are defined before
 /// buffering.
 /// </param>
 /// <param name="distancesMeters">
 /// The buffer distances in meters for the Geometries. If the size of the distances array is less than the number of geometries in the input_geometries, the last distance value
 /// is used for the rest of geometries.
 /// </param>
 /// <param name="maxDeviationMeters">
 /// The deviation offset to use for convergence. The geodesic arcs of the resulting buffer will be closer than the max deviation of the true buffer. Pass in NaN to use the
 /// default deviation.
 /// </param>
 /// <param name="bReserved">Must be false. Reserved for future development. Will throw an exception if not false.</param>
 /// <param name="bUnion">If True, the buffered geometries will be unioned, otherwise they wont be unioned.</param>
 /// <param name="progressTracker">Can be null. Allows to cancel lengthy operation.</param>
 /// <returns>Geometry cursor over result buffers.</returns>
 public abstract com.epl.geometry.GeometryCursor Execute(com.epl.geometry.GeometryCursor inputGeometries, com.epl.geometry.SpatialReference sr, int curveType, double[] distancesMeters, double maxDeviationMeters, bool bReserved, bool bUnion, com.epl.geometry.ProgressTracker progressTracker
                                                         );
 /// <summary>Performs the Topological intersection operation on the geometry set.</summary>
 /// <param name="input_geometries">is the set of Geometry instances to be intersected by the intersector.</param>
 /// <param name="intersector">is the intersector Geometry. Only single intersector is used, therefore, the intersector.next() is called only once.</param>
 /// <param name="sr">
 /// The spatial reference is used to get tolerance value. Can be null, then the tolerance is not used and the operation is performed with
 /// a small tolerance value just enough to make the operation robust.
 /// </param>
 /// <param name="progress_tracker">Allows to cancel the operation. Can be null.</param>
 /// <param name="dimensionMask">
 /// The dimension of the intersection. The value is either -1, or a bitmask mask of values (1 &lt;&lt; dim).
 /// The value of -1 means the lower dimension in the intersecting pair.
 /// This is a fastest option when intersecting polygons with polygons or polylines.
 /// The bitmask of values (1 &lt;&lt; dim), where dim is the desired dimension value, is used to indicate
 /// what dimensions of geometry one wants to be returned. For example, to return
 /// multipoints and lines only, pass (1 &lt;&lt; 0) | (1 &lt;&lt; 1), which is equivalen to 1 | 2, or 3.
 /// </param>
 /// <returns>
 /// Returns the cursor of the intersection result. The cursors' getGeometryID method returns the current ID of the input geometry
 /// being processed. When dimensionMask is a bitmask, there will be n result geometries per one input geometry returned, where n is the number
 /// of bits set in the bitmask. For example, if the dimensionMask is 5, there will be two geometries per one input geometry.
 /// The operator intersects every geometry in the input_geometries with the first geometry of the intersector and returns the result.
 /// Note, when the dimensionMask is -1, then for each intersected pair of geometries,
 /// the result has the lower of dimentions of the two geometries. That is, the dimension of the Polyline/Polyline intersection
 /// is always 1 (that is, for polylines it never returns crossing points, but the overlaps only).
 /// If dimensionMask is 7, the operation will return any possible intersections.
 /// </returns>
 public abstract com.epl.geometry.GeometryCursor Execute(com.epl.geometry.GeometryCursor input_geometries, com.epl.geometry.GeometryCursor intersector, com.epl.geometry.SpatialReference sr, com.epl.geometry.ProgressTracker progress_tracker, int dimensionMask);
 public override com.epl.geometry.JsonCursor Execute(com.epl.geometry.SpatialReference spatialReference, com.epl.geometry.GeometryCursor geometryCursor)
 {
     return(new com.epl.geometry.OperatorExportToGeoJsonCursor(com.epl.geometry.GeoJsonExportFlags.geoJsonExportDefaults, spatialReference, geometryCursor));
 }
 public override com.epl.geometry.GeometryCursor Execute(com.epl.geometry.GeometryCursor input_geometries, com.epl.geometry.GeometryCursor intersector, com.epl.geometry.SpatialReference sr, com.epl.geometry.ProgressTracker progress_tracker, int dimensionMask)
 {
     return(new com.epl.geometry.OperatorIntersectionCursor(input_geometries, intersector, sr, progress_tracker, dimensionMask));
 }
 /// <summary>Performs the Topological Intersection operation on the geometry set.</summary>
 /// <param name="inputGeometries">is the set of Geometry instances to be intersected by the intersector.</param>
 /// <param name="intersector">
 /// is the intersector Geometry.
 /// The operator intersects every geometry in the inputGeometries with the first geometry of the intersector and returns the result.
 /// </param>
 public abstract com.epl.geometry.GeometryCursor Execute(com.epl.geometry.GeometryCursor inputGeometries, com.epl.geometry.GeometryCursor intersector, com.epl.geometry.SpatialReference sr, com.epl.geometry.ProgressTracker progressTracker);
示例#6
0
 public override com.epl.geometry.GeometryCursor Execute(com.epl.geometry.GeometryCursor inputGeometries, com.epl.geometry.GeometryCursor rightGeometry, com.epl.geometry.SpatialReference sr, com.epl.geometry.ProgressTracker progressTracker)
 {
     return(new com.epl.geometry.OperatorSymmetricDifferenceCursor(inputGeometries, rightGeometry, sr, progressTracker));
 }
 /// <summary>Processes geometry cursor to ensure its geometries are simple for OGC specification.</summary>
 /// <param name="geoms">Geometries to be simplified.</param>
 /// <param name="sr">
 /// Spatial reference to obtain the tolerance from. When null, the tolerance
 /// will be derived individually for each geometry from its bounds.
 /// </param>
 /// <param name="bForceSimplify">When True, the Geometry will be simplified regardless of the internal IsKnownSimple flag.</param>
 /// <param name="progressTracker">Allows cancellation of a long operation. Can be null.</param>
 /// <returns>
 /// Returns a GeometryCursor of simplified geometries.
 /// The isSimpleOGC returns true after this call.
 /// </returns>
 public abstract com.epl.geometry.GeometryCursor Execute(com.epl.geometry.GeometryCursor geoms, com.epl.geometry.SpatialReference sr, bool bForceSimplify, com.epl.geometry.ProgressTracker progressTracker);
 /// <summary>Creates a buffer around the input geometries</summary>
 /// <param name="input_geometries">The geometries to buffer.</param>
 /// <param name="sr">The Spatial_reference of the Geometries. It is used to obtain the tolerance. Can be null.</param>
 /// <param name="distances">The buffer distances for the Geometries. If the size of the distances array is less than the number of geometries in the input_geometries, the last distance value is used for the rest of geometries.</param>
 /// <param name="max_deviation">
 /// The max deviation of the result buffer from the true buffer in the units of the sr.
 /// When max_deviation is NaN or 0, it is replaced with 1e-5 * abs(distance).
 /// When max_deviation is larger than MIN = 0.5 * abs(distance), it is replaced with MIN. See below for more information.
 /// </param>
 /// <param name="max_vertices_in_full_circle">
 /// The maximum number of vertices in polygon produced from a buffered point. A value of 96 is used in methods that do not accept max_vertices_in_full_circle.
 /// If the value is less than MIN=12, it is set to MIN. See below for more information.
 /// </param>
 /// <param name="b_union">If True, the buffered geometries will be unioned, otherwise they wont be unioned.</param>
 /// <param name="progress_tracker">
 /// The progress tracker that allows to cancel the operation. Pass null if not needed.
 /// The max_deviation and max_vertices_in_full_circle control the quality of round joins in the buffer. That is, the precision of the buffer is max_deviation unless
 /// the number of required vertices is too large.
 /// The max_vertices_in_full_circle controls how many vertices can be in each round join in the buffer. It is approximately equal to the number of vertices in the polygon around a
 /// buffered point. It has a priority over max_deviation. The max deviation is the distance from the result polygon to a true buffer.
 /// The real deviation is calculated as the max(max_deviation, abs(distance) * (1 - cos(PI / max_vertex_in_complete_circle))).
 /// Note that max_deviation can be exceeded because geometry is generalized with 0.25 * real_deviation, also input segments closer than 0.25 * real_deviation are
 /// snapped to a point.
 /// </param>
 internal abstract com.epl.geometry.GeometryCursor Execute(com.epl.geometry.GeometryCursor input_geometries, com.epl.geometry.SpatialReference sr, double[] distances, double max_deviation, int max_vertices_in_full_circle, bool b_union, com.epl.geometry.ProgressTracker progress_tracker
                                                           );
 /// <summary>Performs the Generalize operation on a geometry set.</summary>
 /// <remarks>
 /// Performs the Generalize operation on a geometry set. Point and
 /// multipoint geometries are left unchanged. An envelope is converted to a
 /// polygon.
 /// </remarks>
 public abstract com.epl.geometry.GeometryCursor Execute(com.epl.geometry.GeometryCursor geoms, double maxDeviation, bool bRemoveDegenerateParts, com.epl.geometry.ProgressTracker progressTracker);
 /// <summary>Creates a buffer around the input geometries</summary>
 /// <param name="inputGeometries">The geometries to buffer.</param>
 /// <param name="sr">The SpatialReference of the Geometries.</param>
 /// <param name="distances">The buffer distances for the Geometries. If the size of the distances array is less than the number of geometries in the inputGeometries, the last distance value is used for the rest of geometries.</param>
 /// <param name="bUnion">If True, the buffered geometries will be unioned, otherwise they wont be unioned.</param>
 public abstract com.epl.geometry.GeometryCursor Execute(com.epl.geometry.GeometryCursor inputGeometries, com.epl.geometry.SpatialReference sr, double[] distances, bool bUnion, com.epl.geometry.ProgressTracker progressTracker);
示例#11
0
 public override com.epl.geometry.Geometry Execute(com.epl.geometry.Geometry geom, com.epl.geometry.Envelope2D envelope, com.epl.geometry.SpatialReference spatialRef, com.epl.geometry.ProgressTracker progressTracker)
 {
     com.epl.geometry.SimpleGeometryCursor inputCursor  = new com.epl.geometry.SimpleGeometryCursor(geom);
     com.epl.geometry.GeometryCursor       outputCursor = Execute(inputCursor, envelope, spatialRef, progressTracker);
     return(outputCursor.Next());
 }
示例#12
0
 public override com.epl.geometry.GeometryCursor Execute(com.epl.geometry.GeometryCursor geoms, com.epl.geometry.Envelope2D envelope, com.epl.geometry.SpatialReference spatialRef, com.epl.geometry.ProgressTracker progressTracker)
 {
     return(new com.epl.geometry.OperatorClipCursor(geoms, envelope, spatialRef, progressTracker));
 }
 /// <summary>Performs the ExportToESRIShape operation</summary>
 /// <returns>Returns a ByteBufferCursor.</returns>
 internal abstract com.epl.geometry.ByteBufferCursor Execute(int exportFlags, com.epl.geometry.GeometryCursor geometryCursor);
 //This is a stub
 public override com.epl.geometry.GeometryCursor Execute(com.epl.geometry.GeometryCursor inputGeometries, com.epl.geometry.SpatialReference sr, int curveType, double[] distancesMeters, double maxDeviationMeters, bool bReserved, bool bUnion, com.epl.geometry.ProgressTracker progressTracker
                                                         )
 {
     throw new com.epl.geometry.GeometryException("not implemented");
 }