com.esri.arcgis.geometry
Interface IGeometryServer3

All Superinterfaces:
IGeometryServer, IGeometryServer2, Serializable
All Known Implementing Classes:
GeometryServerImpl

public interface IGeometryServer3
extends IGeometryServer2, Serializable

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.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Method Summary
 IGeometryArray bufferGeodesic(ISpatialReference pInSR, ISpatialReference pOutSR, IDoubleArray pDistances, double bufferDeviation, ILinearUnit pLinearDistanceUnit, boolean bUnion, IGeometryArray pInGeometries)
          Constructs true buffer regions around Points, lines and polygons using true geodesic distances and directions.
 void getAreasAndLengthsGeodesic(ISpatialReference pSR, IPolygonArray pPolygons, ILinearUnit pLengthUnit, ILinearUnit pAreaUnit, int areaUnitEnum, IDoubleArray[] ppAreas, IDoubleArray[] ppLengths)
          Returns true geodesic area and geodesic perimeter length for each input polygon.
 void getAreasAndLengthsPreserveShape(ISpatialReference pSR, IPolygonArray pPolygons, ILinearUnit pLengthUnit, ILinearUnit pAreaUnit, int areaUnitEnum, IDoubleArray[] ppAreas, IDoubleArray[] ppLengths)
          Returns true area and perimeter length for each input polygon.
 IDoubleArray getLengthsPreserveShape(ISpatialReference pSR, IPolylineArray polylines, ILinearUnit pLengthUnit)
          Returns true length of each polyline.
 
Methods inherited from interface com.esri.arcgis.geometry.IGeometryServer2
autoComplete, convexHull, cut, densifyGeodesic, difference, generalize, getAreasAndLengths2, getDistance, getDistanceGeodesic, getLengths2, getLengthsGeodesic, intersect, offset, reshape, trimExtend, union
 
Methods inherited from interface com.esri.arcgis.geometry.IGeometryServer
buffer, densify, findSRByWKID, findSRByWKT, findUnitsByWKID, findUnitsByWKT, getAreasAndLengths, getLabelPoints, getLengths, project, relation, simplify
 

Method Detail

bufferGeodesic

IGeometryArray bufferGeodesic(ISpatialReference pInSR,
                              ISpatialReference pOutSR,
                              IDoubleArray pDistances,
                              double bufferDeviation,
                              ILinearUnit pLinearDistanceUnit,
                              boolean bUnion,
                              IGeometryArray pInGeometries)
                              throws IOException,
                                     AutomationException
Constructs true buffer regions around Points, lines and polygons using true geodesic distances and directions.

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.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pInSR - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
pOutSR - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
pDistances - A reference to a com.esri.arcgis.system.IDoubleArray (in)
bufferDeviation - The bufferDeviation (in)
pLinearDistanceUnit - A reference to a com.esri.arcgis.geometry.ILinearUnit (in)
bUnion - The bUnion (in)
pInGeometries - A reference to a com.esri.arcgis.geometry.IGeometryArray (in)
Returns:
A reference to a com.esri.arcgis.geometry.IGeometryArray
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAreasAndLengthsGeodesic

void getAreasAndLengthsGeodesic(ISpatialReference pSR,
                                IPolygonArray pPolygons,
                                ILinearUnit pLengthUnit,
                                ILinearUnit pAreaUnit,
                                int areaUnitEnum,
                                IDoubleArray[] ppAreas,
                                IDoubleArray[] ppLengths)
                                throws IOException,
                                       AutomationException
Returns true geodesic area and geodesic perimeter length for each input polygon.

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.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pSR - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
pPolygons - A reference to a com.esri.arcgis.geometry.IPolygonArray (in)
pLengthUnit - A reference to a com.esri.arcgis.geometry.ILinearUnit (in)
pAreaUnit - A reference to a com.esri.arcgis.geometry.ILinearUnit (in)
areaUnitEnum - A com.esri.arcgis.system.esriAreaUnits constant (in)
ppAreas - A reference to a com.esri.arcgis.system.IDoubleArray (out: use single element array)
ppLengths - A reference to a com.esri.arcgis.system.IDoubleArray (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAreasAndLengthsPreserveShape

void getAreasAndLengthsPreserveShape(ISpatialReference pSR,
                                     IPolygonArray pPolygons,
                                     ILinearUnit pLengthUnit,
                                     ILinearUnit pAreaUnit,
                                     int areaUnitEnum,
                                     IDoubleArray[] ppAreas,
                                     IDoubleArray[] ppLengths)
                                     throws IOException,
                                            AutomationException
Returns true area and perimeter length for each input polygon.

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.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pSR - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
pPolygons - A reference to a com.esri.arcgis.geometry.IPolygonArray (in)
pLengthUnit - A reference to a com.esri.arcgis.geometry.ILinearUnit (in)
pAreaUnit - A reference to a com.esri.arcgis.geometry.ILinearUnit (in)
areaUnitEnum - A com.esri.arcgis.system.esriAreaUnits constant (in)
ppAreas - A reference to a com.esri.arcgis.system.IDoubleArray (out: use single element array)
ppLengths - A reference to a com.esri.arcgis.system.IDoubleArray (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getLengthsPreserveShape

IDoubleArray getLengthsPreserveShape(ISpatialReference pSR,
                                     IPolylineArray polylines,
                                     ILinearUnit pLengthUnit)
                                     throws IOException,
                                            AutomationException
Returns true length of each polyline.

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.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pSR - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
polylines - A reference to a com.esri.arcgis.geometry.IPolylineArray (in)
pLengthUnit - A reference to a com.esri.arcgis.geometry.ILinearUnit (in)
Returns:
A reference to a com.esri.arcgis.system.IDoubleArray
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.