IGeometryServer3 Interface

Provides access to more standard operations on geometric 'value' objects. The input geometries are never modified by these operations. Designed for use in building web services or other kinds of distributed applications.

Members

Name Description
Method AutoComplete Discovers polygons bounded by existing polygons and input linework.
Method Buffer Buffers an array of geometries by each distance specified in an array of distances. The distance units can optionally be specified. Geometries buffered at a given distance can optionally be unioned together.
Method BufferGeodesic Constructs true buffer regions around Points, lines and polygons using true geodesic distances and directions.
Method ConvexHull Computes the convex hull of the input geometries
Method Cut Cuts the target polyline or polygon Cutter.
Method Densify Applies the ArcObjects 'Densify' operation to each element of the geometry array.
Method DensifyGeodesic Densifies geometries by plotting points along the geodesics between existing vertices (uses IPolycurve4::GeodesicDensify).
Method Difference Returns an array of geometries where each result geometry R[i] is (array1[i] difference G2).
Method FindSRByWKID Defines an SR based upon its well known identifier (WKID) and optionally a WKID for a vertical datum. The resolution and xy tolerances are either computed from the sr horizon or set to defaults. 'authority' is typically either 'EPSG' or 'Esri'.
Method FindSRByWKT Defines a spatial reference object based upon its well known text string (WKT) and optionally a WKT for a vertical datum. The resolution and xy tolerances are either computed from the sr horizon or set to defaults. The output sr is always high precision.
Method FindUnitsByWKID Defines a unit object based upon its well known identified (WKID). 'authority' is typically either 'EPSG' or 'Esri'.
Method FindUnitsByWKT Defines a unit object based upon its well known text string.
Method Generalize Returns generalized (Douglas-Peucker) versions of the input polylines and polygons (uses IPolycurve::Generalize).
Method GetAreasAndLengths Calculates areas and perimeter lengths for each polygon in the specified array.
Method GetAreasAndLengths2 Calculates areas and perimeter lengths for each polygon in the specified array. Optionally does unit conversion.
Method GetAreasAndLengthsGeodesic Returns true geodesic area and geodesic perimeter length for each input polygon.
Method GetAreasAndLengthsPreserveShape Returns true area and perimeter length for each input polygon.
Method GetDistance Reports shortest distance between G1 and G2.
Method GetDistanceGeodesic Reports the shortest geodesic distance between G1 and G2.
Method GetLabelPoints Calculates an interior point for each polygon.
Method GetLengths Calculates the length of eacch polyline in the specified array.
Method GetLengths2 Calculates the length of eacch polyline in the specified array. Optionally does unit conversion.
Method GetLengthsGeodesic Returns geodesic length of each Polyline.
Method GetLengthsPreserveShape Returns true length of each polyline.
Method Intersect Returns an array of geometries where each result geometry R[i] is (array1[i] intersect G2. If G2 is an Envelope, then this is clipping.
Method Offset Returns an array of polylines and polygons that are offset versions of the input polylines and polygons (uses ITopologicalOperator::ConstructOffset).
Method Project Projects an array of geometries from their current spatial reference (pInSR) to a destination spatial reference (pOutSR). The projection process can optionally include a datum transformation if the source and destination SRs have different GCSs.
Method Relation Determines the pairs of geometries from the input geometry arrays that participate in the specified spatial relation.
Method Reshape Reshapes the target polyline or polygon. The reshaping polyline can have only one part. If the target was not reshaped, an empty geometry of the saem type is returned.
Method Simplify Applies the ArcObjects 'Simplify' operation to each element of the geometry array.
Method TrimExtend Trims or extends each polyline in the input array using TrimExtendTo (uses IConstructCurve::ConstructExtended for extension operation).
Method Union Returns the topological union of the input geometries (uses ITopologicalOperator::ConstructUnion). The input geometries must have the same dimension (0d, 1d, 2d).

IGeometryServer3.BufferGeodesic Method

Constructs true buffer regions around Points, lines and polygons using true geodesic distances and directions.

Public Function BufferGeodesic ( _
    ByVal pInSR As ISpatialReference, _
    ByVal pOutSR As ISpatialReference, _
    ByVal pDistances As IDoubleArray, _
    ByVal bufferDeviation As Double, _
    ByVal pLinearDistanceUnit As ILinearUnit, _
    ByVal bUnion As Boolean, _
    ByVal pInGeometries As IGeometryArray _
) As IGeometryArray
public IGeometryArray BufferGeodesic (
    ISpatialReference pInSR,
    ISpatialReference pOutSR,
    IDoubleArray pDistances,
    double bufferDeviation,
    ILinearUnit pLinearDistanceUnit,
    bool bUnion,
    IGeometryArray pInGeometries
);

Remarks

If geometries are in geographic coordinate system, then geodesic needs to be set to true in order to generate a buffer polygon using a geodesic distance. The bufferSR input parameter will be ignored when geodesic is set to true.

IGeometryServer3.GetAreasAndLengthsGeodesic Method

Returns true geodesic area and geodesic perimeter length for each input polygon.

Public Sub GetAreasAndLengthsGeodesic ( _
    ByVal pSR As ISpatialReference, _
    ByVal pPolygons As IPolygonArray, _
    ByVal pLengthUnit As ILinearUnit, _
    ByVal pAreaUnit As ILinearUnit, _
    ByVal areaUnitEnum As esriAreaUnits, _
    ByRef ppAreas As IDoubleArray, _
    ByRef ppLengths As IDoubleArray _
)
public void GetAreasAndLengthsGeodesic (
    ISpatialReference pSR,
    IPolygonArray pPolygons,
    ILinearUnit pLengthUnit,
    ILinearUnit pAreaUnit,
    esriAreaUnits areaUnitEnum,
    ref IDoubleArray ppAreas,
    ref IDoubleArray ppLengths
);

Remarks

Use this method if you want to calculate an area or length using only the vertices of the polygon and define the lines between the points as geodesic segments independent of the actual shape of the polygon. A geodesic segment is the shortest path between two points on an ellipsoid.

The returned areas and lengths are expressed in the specified area units and linear units, if present, or in the units of the spatial reference. If AreaUnit and LengthUnit are not specified and the input spatial reference is a geographic coordinate system, then the lengths and areas are expressed in meters. This method calculates the ellipsoidal shortest path distance between each pair of the vertices in the polylines.

The spatial reference can be a projected or a geographic coordinate system. If the former, then the geometries are first inverse projected into its associated geographic coordinate system and then the distance calculations are performed.

IGeometryServer3.GetAreasAndLengthsPreserveShape Method

Returns true area and perimeter length for each input polygon.

Public Sub GetAreasAndLengthsPreserveShape ( _
    ByVal pSR As ISpatialReference, _
    ByVal pPolygons As IPolygonArray, _
    ByVal pLengthUnit As ILinearUnit, _
    ByVal pAreaUnit As ILinearUnit, _
    ByVal areaUnitEnum As esriAreaUnits, _
    ByRef ppAreas As IDoubleArray, _
    ByRef ppLengths As IDoubleArray _
)
public void GetAreasAndLengthsPreserveShape (
    ISpatialReference pSR,
    IPolygonArray pPolygons,
    ILinearUnit pLengthUnit,
    ILinearUnit pAreaUnit,
    esriAreaUnits areaUnitEnum,
    ref IDoubleArray ppAreas,
    ref IDoubleArray ppLengths
);

Remarks

The method calculates the area or length of the geometry on the surface of the Earth ellipsoid, for geometry defined in projected or geographic coordinate system. This method preserves the shape of the geometry in its coordinate system. This means the true area or length will be calculated for the geometry you see in the map. (What you see is what you get.)

The returned lengths and areas are expressed in the specified linear units and area units, if present, or in the units of the spatial reference. If AreaUnit and LengthUnit are not specified and the input spatial reference is a geographic coordinate system, then the lengths and areas are expressed in meters.

IGeometryServer3.GetLengthsPreserveShape Method

Returns true length of each polyline.

Public Function GetLengthsPreserveShape ( _
    ByVal pSR As ISpatialReference, _
    ByVal polylines As IPolylineArray, _
    ByVal pLengthUnit As ILinearUnit _
) As IDoubleArray
public IDoubleArray GetLengthsPreserveShape (
    ISpatialReference pSR,
    IPolylineArray polylines,
    ILinearUnit pLengthUnit
);

Remarks

The method calculates the length of the geometry on the surface of the Earth ellipsoid, for geometry defined in projected or geographic coordinate system. This method preserves the shape of the geometry in its coordinate system. This means the true length will be calculated for the geometry you see in the map. (What you see is what you get.)

The returned lengths are expressed in the specified linear units, if present, or in the units of the spatial reference. If LengthUnit is not specified and the input spatial reference is a geographic coordinate system, then the lengths are expressed in meters.

Inherited Interfaces

Interfaces Description
IGeometryServer2 Provides access to more standard operations on geometric 'value' objects. The input geometries are never modified by these operations. Designed for use in building web services or other kinds of distributed applications.
IGeometryServer Provides access to standard operations on geometric 'value' objects. The input geometries are never modified by these operations. Designed for use in building web services and web applications.

Classes that implement IGeometryServer3

Classes Description
GeometryServerImpl Provides access to standard operations on geometric 'value' objects. The input geometries are never modified by these operations. Designed for use in building web services or other kinds of distributed applications.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.