com.esri.arcgis.carto
Class ImageServer

java.lang.Object
  extended by com.esri.arcgis.carto.ImageServer
All Implemented Interfaces:
IImageServer, IImageServer2, IImageServer3, IImageServer4, IImageServerInit, IImageServerInit2, IImageServerObjects, com.esri.arcgis.interop.RemoteObjRef, IServerObject, IServerObjectExtensionManager, ILogSupport, IObjectActivate, IObjectConstruct, IRequestHandler, IRequestHandler2, IRESTRequestHandler, ISupportErrorInfo, Serializable

public class ImageServer
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IImageServer, IImageServer2, IImageServer3, IImageServer4, IImageServerInit, IImageServerInit2, IServerObject, IObjectConstruct, IRequestHandler, IRequestHandler2, ILogSupport, IObjectActivate, IServerObjectExtensionManager, ISupportErrorInfo, IImageServerObjects, IRESTRequestHandler

The ArcGIS Server Image Server class.

Remarks

The ImageServer server object provides the implementation of the image service, and supports IImageServer, IImageServer2, IImageServer3 interfaces. These interfaces are used to query the service information, and fetch pixels. The pixels are returned in a byte array and arranged in a band interleaved by pixel format plus a NoData mask. The byte array can be optionally compressed using JPEG (plus transparency), and LZ77 compression. These interfaces also support exporting an image into a well-known format and returning it as MIME data, or a URL. The supported well-known image format includes JPEG (plus transparency mask), PNG, BMP, and TIFF. IImageServer2 and IImageServer3 provides an additional method to scale the image into squared pixel size and export to a well-known format. IImageServer3 provides additional methods to access the catalog of an image service published from a mosaic definition, such as select catalog items based on a query, get the catalog items, metadata, and download the selected items.

Product Availability

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

See Also:
Serialized Form

Field Summary
 
Fields inherited from interface com.esri.arcgis.system.IRequestHandler
IID, IID46a0e2ea_3b64_4a46_bd78_88a1660f35bb, xxDummy
 
Fields inherited from interface com.esri.arcgis.system.IObjectActivate
IID, IIDe3b78022_143e_4e61_9099_ed319ec061e7, xxDummy
 
Fields inherited from interface com.esri.arcgis.system.IRESTRequestHandler
IID, IID9d66a418_d54a_48ed_88bd_043a25fa9c83, xxDummy
 
Constructor Summary
ImageServer()
          Constructs a ImageServer using ArcGIS Engine.
ImageServer(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
ImageServer theImageServer = (ImageServer) obj;
 
Method Summary
 void activate()
          Activates the object.
 IImageServerEditResults add(IRasterItemDescriptions pItemDescriptions)
          Adds a list of raster items for sharing with other users (roles).
 IRasterHistograms computeHistograms(IGeometry pGeometry, IMosaicRule pMosaicRule, IPoint pCellsize, IRenderingRule pRenderingRule)
          Computes histograms within an area of interest.
 void construct(IPropertySet props)
          Two phase object construction.
 IImageServerEditResult createView(IImageView pView)
          Creates a new view.
 void deactivate()
          Deactivates the object.
 IImageServerEditResults delete(IFIDSet pRIDs)
          Deletes a given list of raster items (images).
 IImageServerEditResult deleteView(String vID)
          Deletes the view of a given view ID.
 IImageServerDownloadResults download(IFIDSet pFIDs, IGeometry pGeometry, String format)
          Clips images to a given geometry, and returns a list of downloadable files for a given set of catalog item IDs.
 boolean equals(Object o)
          Compare this object with another
 Object execute(String name, Object argument)
          Executes a named image server processing command.
 IImageResult exportImage(IGeoImageDescription pImageDescription, IImageType pImageType)
          Exports into a well-known image for a given image description.
 IMapImage exportMapImage(IGeoImageDescription pImageDescription, IImageType pImageType)
          Exports into a well-known image with a correct aspect ratio for a given image description.
 IServerObjectExtension findExtensionByCLSID(String cLSID)
          Returns a server object extension found using a string representation of its class ID.
 IServerObjectExtension findExtensionByTypeName(String name)
          Returns a server object extension found using its type name.
 IImageServiceInfo generateServiceInfo(IRenderingRule pRenderingRule)
          Generates the image service information as if a given rendering rule is applied.
 String getAllowedCompressions()
          The list of allowed compressions, None, LZ77, and JPEG.
 String getAllowedFields()
          The list of allowed field names.
 String getAllowedItemMetadata()
          The allowed metadata, None, Basic, and Full.
 String getAllowedMosaicMethods()
          The list of allowed mosaic methods.
 int getCatalogItemCount(IQueryFilter pFilter)
          Gets the catalog item count for a given query filter.
 IFIDSet getCatalogItemIDs(IQueryFilter pFilter)
          Gets the catalog item IDs for a given query filter.
 IRecordSet getCatalogItems(IQueryFilter pFilter)
          Gets the catalog items for a given query filter.
static String getClsid()
          getClsid.
 String getConfigurationName()
          Name of the server object configuration that defines the server object.
 String getDownloadDirectory()
          The physical directory for downloadable files.
 String getDynamicImageWorkspace()
          The workspace used for adding rasters.
 String getExcludedFields()
          The list of excluded field names.
 IFields getFields()
          The fields of the image catalog.
 String getFile(IImageServerDownloadResult pFile)
          Get the URL to a given download result.
 byte[] getImage(IGeoImageDescription pImageDescription)
          Gets an image for a given image description.
 IName getImageDataSourceName()
          The image server data source name.
 IPropertySet getKeyProperties()
          The image service key properties.
 int getMaxImageHeight()
          The maximum height in pixels of an image request.
 int getMaxImageWidth()
          The maximum width in pixels of an image request.
 int getMaxRecordCount()
          The maximum number of records returned for query results (GetCatalog).
 String getMetadata()
          The image service metadata.
 IMosaicDataset getMosaicDataset()
          The mosaic dataset.
 byte[] getNativePixelBlock(int rID, int iID, int tx, int ty, int level)
          Gets a pixel block at a given block location for a specified raw source raster.
 IRasterInfos getNativeRasterInfo(int rID)
          Gets raster information of all raw source rasters for a given raster catalog item.
 String getOutputDirectory()
          The physical directory for output files.
 byte[] getPixelBlock(int rID, int tx, int ty, int level)
          Gets a pixel block at a given block location.
 IRaster getRaster()
          The raster.
 IRecordSet getRasterAttributeTable()
          The raster attribute table.
 IRasterDataset getRasterDataset()
          The raster dataset.
 IRasterInfo getRasterInfo(int rID)
          Gets the image information of a given raster catalog item.
 IPropertySet getRasterKeyProperties(int rID)
          The key properties for a given raster catalog item.
 String getRasterMetadata(int rID)
          Gets the metadata of a given raster catalog item.
 String getSchema()
          This method returns the resource hierarchy of a REST based SOE.
 IImageServiceInfo getServiceInfo()
          The properties of the image service provided.
 IImageResult getThumbnail(int rID)
          Gets the thumbnail image of a given raster catalog item.
 ITimeTableDefinition getTimeDefinition()
          The time definition.
 String getTypeName()
          Type of the server object (MapServer or GeocodeServer).
 float getVersion()
          The Image Server version number.
 IImageView getView(String vID)
          Gets the view of a given view ID.
 String getVirtualDownloadDirectory()
          The virtual directory for downloading files.
 String getVirtualOutputDirectory()
          The virtual directory for output files.
 byte[] handleBinaryRequest(byte[] request)
          Handles a binary request.
 byte[] handleBinaryRequest2(String capabilities, byte[] request)
          Handles a binary request with explicit capabilities.
 byte[] handleRESTRequest(String capabilities, String resourceName, String operationName, String operationInput, String outputFormat, String requestProperties, String[] responseProperties)
          Handles REST requests for SOE.
 String handleStringRequest(String capabilities, String request)
          Handles a SOAP string request.
 int hashCode()
          the hashcode for this object
 IImageServerIdentifyResult identify(IGeometry pLocation, IMosaicRule pMosaicRule, IPoint pCellsize)
          Identifies the pixel value and catalog items at the given location.
 IImageServerIdentifyResults identifyAll(IGeometry pLocations, IMosaicRule pMosaicRule, IPoint pCellsize, IRenderingRule pRenderingRule, String options)
          Identifies the pixel values and all catalog items at the given one or more locations.
 void initialize(String fullName)
          Initializes this image server from a fullname to a dataset.
 void initializeFromDataset(IRasterDataset pDataset)
          Initializes this image server from a Raster Dataset.
 void initializeFromServiceURL(String serviceURL)
          Initializes this image server from an AIS service URL (ImageService://:/).
 void initLogging(ILog log)
          Initializes an object with a log.
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 IImageServerMeasureResult measure(IGeometry pFrom, IGeometry pTo, IMosaicRule pMosaicRule, IPoint pCellsize, int operation)
          Measures distance, angle, area, perimeter, and height.
 void setAllowedCompressions(String pAllowedCompressions)
          The list of allowed compressions, None, LZ77, and JPEG.
 void setAllowedFields(String pAllowedFields)
          The list of allowed field names.
 void setAllowedItemMetadata(String pAllowedItemMetadata)
          The allowed metadata, None, Basic, and Full.
 void setAllowedMosaicMethods(String pAllowedMosaicMethods)
          The list of allowed mosaic methods.
 void setDownloadDirectory(String pPath)
          The physical directory for downloadable files.
 void setDynamicImageWorkspace(String pPath)
          The workspace used for adding rasters.
 void setExcludedFields(String pExcludedFields)
          The list of excluded field names.
 void setImageDataSourceNameByRef(IName ppName)
          The image server data source name.
 void setMaxImageHeight(int height)
          The maximum height in pixels of an image request.
 void setMaxImageWidth(int width)
          The maximum width in pixels of an image request.
 void setMaxRecordCount(int count)
          The maximum number of records returned for query results (GetCatalog).
 void setOutputDirectory(String pPath)
          The physical directory for output files.
 void setVirtualDownloadDirectory(String pPath)
          The virtual directory for downloading files.
 void setVirtualOutputDirectory(String pPath)
          The virtual directory for output files.
 IImageServerEditResults update(IFIDSet pRIDs, IRasterItemDescriptions pItemDescriptions)
          Updates a given list of raster items (images).
 IImageServerEditResults updateView(String vID, IFIDSet pAddIDs, IFIDSet pDeleteIDs)
          Inserts and Removes raster items to a given view.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

ImageServer

public ImageServer()
            throws IOException,
                   UnknownHostException
Constructs a ImageServer using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

ImageServer

public ImageServer(Object obj)
            throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
ImageServer theImageServer = (ImageServer) obj;

Construct a ImageServer using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to ImageServer.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

getVersion

public float getVersion()
                 throws IOException,
                        AutomationException
The Image Server version number.

Description

Returns the version number of the Image Server

Product Availability

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

Specified by:
getVersion in interface IImageServer
Returns:
The pVersion
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getServiceInfo

public IImageServiceInfo getServiceInfo()
                                 throws IOException,
                                        AutomationException
The properties of the image service provided.

Description

Returns information of the image service. The information includes description, spatial reference, extent, pixel size about the image data.

Product Availability

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

Specified by:
getServiceInfo in interface IImageServer
Returns:
A reference to a com.esri.arcgis.carto.IImageServiceInfo
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getImage

public byte[] getImage(IGeoImageDescription pImageDescription)
                throws IOException,
                       AutomationException
Gets an image for a given image description.

Description

Gets the image data in byte array from the image service using the given GeoImageDescription.

Remarks

Gets the image data for a given image description. The returned image data contains first pixel values and then followed by NoData (transparency) bit mask, i.e. <pixels><mask>. The pixel values are organized in a band interleaved by pixel format, as the following:

v[0,0,0], v[1,0,0], v[2,0,0],…, v[nBands-1,0,0],

v[0,0,1], v[1,0,1], v[2,0,1],…, v[nBands-1, 0,1], …,

v[0,nRows-1,nCols-1], …, v[nBands-1,nRows-1,nCols-1]

where nCols, nRows, and nBands are the number of columns, number of rows, and number of bands of the returned image, and v[b,I,j] is a pixel value at band number b, row number I, and column number j. The size in terms of number of bytes of a pixel value depends on pixel type. The following table shows the pixel type to pixel size mapping:

PT_U1 1

PT_U2 1

PT_U4 1

PT_UCHAR 1

PT_CHAR 1

PT_USHORT 2

PT_SHORT 2

PT_ULONG 4

PT_LONG 4

PT_FLOAT 4

PT_DOUBLE 8

The location of the pixel at band b, row I, and column j can be calculated using the following formula:

location = ((i*nCols+j)*nBands+b)*pixelsize (in bytes)

The pixel data are always in Intel (Little Endian) byte order. For pixel types of more than 1 byte, byte swapping may be needed.

The NoData mask is a bit mask, one bit per pixels of all bands, with no padding to the byte boundary for a row. Value 1 indicates the pixel is valid, and 0 indicates NoData. The mask value for a pixel at row I and column j can be calculated as the following:

Bit[] = {0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01}

l = i*nCols+j

m[l/8] & Bit[l%8]

The NoData immediately follows pixel data. The size of NoData mask in bytes is (nCols*nRows+7)/8.

The NoData mask is optional. If the total size of the returned image data greater than the pixel data size i.e. nRows*nCols*nBands*pixelsize, then the NoData mask is present.

If LZ77 compressed, the returned image data must be uncompressed (zlib). The uncompressed image data follow the same format as above.

If JPEG compressed, the returned image data are organized as JPEG data stream followed NoData mask, and followed by the size of the JPEG stream, i.e. <JPEG><mask><size>. The NoData mask is the same format as above, but is LZ77 compressed. The JPEG data stream size <size> is a 4-byte integer in Intel byte order.

Product Availability

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

Specified by:
getImage in interface IImageServer
Parameters:
pImageDescription - A reference to a com.esri.arcgis.carto.IGeoImageDescription (in)
Returns:
An unsigned byte
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IGeoImageDescription

exportImage

public IImageResult exportImage(IGeoImageDescription pImageDescription,
                                IImageType pImageType)
                         throws IOException,
                                AutomationException
Exports into a well-known image for a given image description.

Description

Exports image data from the image server using the GeoImageDescription and ImagType.

Remarks

The supported formats, defined using the ImageType parameter, include JPEG, PNG, BMP, and TIFF. The JPEG format is the same as the JPEG compressed image returned from the GetImage method. Image content can be returned as a URL or as a MIME data stream.

If the size of the image in terms of number of columns and rows exceeds the limit defined in the image service configuration, this method will return an error.

If the pixel type defined in ImageDescription is different from the pixel type of the image service, the pixel values will be converted according to the specified pixel type if possible. Otherwise, an error will be returned at 9.3.

New at 10.0, if the image service pixel type cannot be converted to the requested pixel type, a default raster renderer will be applied. A proper default renderer is created using the same rule as when a raster dataset of the same properties, e.g. number of band, pixel type, and etc is added to map.

Product Availability

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

Specified by:
exportImage in interface IImageServer
Parameters:
pImageDescription - A reference to a com.esri.arcgis.carto.IGeoImageDescription (in)
pImageType - A reference to a com.esri.arcgis.carto.IImageType (in)
Returns:
A reference to a com.esri.arcgis.carto.IImageResult
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IGeoImageDescription

exportMapImage

public IMapImage exportMapImage(IGeoImageDescription pImageDescription,
                                IImageType pImageType)
                         throws IOException,
                                AutomationException
Exports into a well-known image with a correct aspect ratio for a given image description.

Description

Exports an image to a supported format including JPEG, PNG, BMP, and TIFF, scales the image into a square pixel size, and returns both the image data and the adjusted image extent for a given image description. Comparing to ExportImage, ExportMapImage exports a MapImage which contains information defined in ImageResult plus image extent and map scale.

Remarks

If the size of the image exceeds the limit defined in the image service
configuration, this method will return an error.

If the pixel type defined in ImageDescription is different from the pixel type of
the image service, the pixel values will be converted according to the specified
pixel type if possible. Otherwise, an error will be returned at 9.3.

New at 10, if the image service pixel type cannot be converted to the requested pixel type, a default raster renderer will be applied. A proper default renderer is created using the same rule as when a raster dataset of the same properties, e.g. number of band, pixel type, and etc is added to map.

Product Availability

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

Specified by:
exportMapImage in interface IImageServer2
Parameters:
pImageDescription - A reference to a com.esri.arcgis.carto.IGeoImageDescription (in)
pImageType - A reference to a com.esri.arcgis.carto.IImageType (in)
Returns:
A reference to a com.esri.arcgis.carto.IMapImage
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFields

public IFields getFields()
                  throws IOException,
                         AutomationException
The fields of the image catalog.

Remarks

The accessible fields are defined during publishing and are stored in the image service configuration file.

Product Availability

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

Specified by:
getFields in interface IImageServer3
Returns:
A reference to a com.esri.arcgis.geodatabase.IFields
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCatalogItemCount

public int getCatalogItemCount(IQueryFilter pFilter)
                        throws IOException,
                               AutomationException
Gets the catalog item count for a given query filter.

Product Availability

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

Specified by:
getCatalogItemCount in interface IImageServer3
Parameters:
pFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
Returns:
The pNumItems
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCatalogItemIDs

public IFIDSet getCatalogItemIDs(IQueryFilter pFilter)
                          throws IOException,
                                 AutomationException
Gets the catalog item IDs for a given query filter.

Product Availability

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

Specified by:
getCatalogItemIDs in interface IImageServer3
Parameters:
pFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IFIDSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCatalogItems

public IRecordSet getCatalogItems(IQueryFilter pFilter)
                           throws IOException,
                                  AutomationException
Gets the catalog items for a given query filter.

Remarks

If an ImageQueryFilter with a pixel size is specified, the query will include the selection based on the image service level of details. An image service uses a minimum and maximum pixel size range to define when an individual image will be selected as a part of a mosaic. If a pixel size is given, only these images whose pixel size range contains the given pixel size are selected.

Product Availability

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

Specified by:
getCatalogItems in interface IImageServer3
Parameters:
pFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IRecordSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

download

public IImageServerDownloadResults download(IFIDSet pFIDs,
                                            IGeometry pGeometry,
                                            String format)
                                     throws IOException,
                                            AutomationException
Clips images to a given geometry, and returns a list of downloadable files for a given set of catalog item IDs.

Remarks

The Download method return an ImageServerDownloadResults which contains multiple ImageServerDownloadResult objects, and each one of them contain a downloadable file and its size in bytes.

The number of items that can be downloaded is defined in the image service
configuration. One item might be corresponding to multiple files. For example a raster of a pan-sharpened image service consists of a single band raster dataset and a multiple band raster dataset, where each dataset might consist of multiple files such as an image file, a world file, and a pyramid file.The returned downloadable files can be URLs (e.g. http:// or ftp://) that are directly downloadable from a remote server. They can also be files that are known only to the image service. In this case, GetFile() should be used to prepare the file for download and get a public URL.

Downloading formats of folder structure, for example ESRI GRID, is not supported. It will be converted to tiff upon downloading.

New at 10.1, user can convert source rasters to other supported formats by “:Conversion” to the format string (for example: “JP2:Conversion”).

Product Availability

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

Specified by:
download in interface IImageServer3
Parameters:
pFIDs - A reference to a com.esri.arcgis.geodatabase.IFIDSet (in)
pGeometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
format - The format (in)
Returns:
A reference to a com.esri.arcgis.carto.IImageServerDownloadResults
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getFile

public String getFile(IImageServerDownloadResult pFile)
               throws IOException,
                      AutomationException
Get the URL to a given download result.

Remarks

GetFile() prepares a downloadable file that is only known to the image service and returns a public URL (e.g. http:// or ftp://).

Product Availability

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

Specified by:
getFile in interface IImageServer3
Parameters:
pFile - A reference to a com.esri.arcgis.carto.IImageServerDownloadResult (in)
Returns:
The pURL
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

identify

public IImageServerIdentifyResult identify(IGeometry pLocation,
                                           IMosaicRule pMosaicRule,
                                           IPoint pCellsize)
                                    throws IOException,
                                           AutomationException
Identifies the pixel value and catalog items at the given location.

Remarks

Identify return an ImageServerIdentifyResult which contains a single pixel value of the current visible raster at the centroid of the specified location. If there are multiple rasters overlapping the location, the visibility of a raster is determined by the order of the rasters defined in the mosaic rule. It also contains a set of catalog items in a RecordSet that overlap the given geometry. The catalog items are ordered based in the mosaic rule. A list of catalog item visibilities give the percentage contribution of the item to overall mosaic.

Product Availability

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

Specified by:
identify in interface IImageServer3
Parameters:
pLocation - A reference to a com.esri.arcgis.geometry.IGeometry (in)
pMosaicRule - A reference to a com.esri.arcgis.carto.IMosaicRule (in)
pCellsize - A reference to a com.esri.arcgis.geometry.IPoint (in)
Returns:
A reference to a com.esri.arcgis.carto.IImageServerIdentifyResult
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMetadata

public String getMetadata()
                   throws IOException,
                          AutomationException
The image service metadata.

Product Availability

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

Specified by:
getMetadata in interface IImageServer3
Returns:
The pXml
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRasterInfo

public IRasterInfo getRasterInfo(int rID)
                          throws IOException,
                                 AutomationException
Gets the image information of a given raster catalog item.

Remarks

The RasterInfo object completely describes an image. It contains information on (1) image tiling scheme, including tile origin, pixel size, and tile size; (2) image properties including number of columns and rows, number of bands, pixel type, NoData value, and etc; (3) georeferencing and orientation information including native extent and native spatial reference, extent, and Geodata transformation.

Product Availability

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

Specified by:
getRasterInfo in interface IImageServer3
Parameters:
rID - The rID (in)
Returns:
A reference to a com.esri.arcgis.datasourcesraster.IRasterInfo
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPixelBlock

public byte[] getPixelBlock(int rID,
                            int tx,
                            int ty,
                            int level)
                     throws IOException,
                            AutomationException
Gets a pixel block at a given block location.

Description

Gets a pixel block from an image at a given raster ID and at block/tile location (tx, ty). A raster ID (RID) is the object ID of the catalog item containing the image.

Remarks

The returned binary pixel block data is of the same format as that returned from GetImage().

The pixel block is positioned using block/tile column and row numbers based on a tiling scheme, i.e. the tile origin, the pixel size, and tile size. The tiling information on an image can be obtained using GetRasterInfo method.

Product Availability

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

Specified by:
getPixelBlock in interface IImageServer3
Parameters:
rID - The rID (in)
tx - The tx (in)
ty - The ty (in)
level - The level (in)
Returns:
An unsigned byte
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRasterMetadata

public String getRasterMetadata(int rID)
                         throws IOException,
                                AutomationException
Gets the metadata of a given raster catalog item.

Product Availability

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

Specified by:
getRasterMetadata in interface IImageServer3
Parameters:
rID - The rID (in)
Returns:
The pXml
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getThumbnail

public IImageResult getThumbnail(int rID)
                          throws IOException,
                                 AutomationException
Gets the thumbnail image of a given raster catalog item.

Remarks

If the catalog of the image service has a Thumbnail field containing precomputed thumbnail images, a precomputed thumbnail will be returned. Otherwise, a thumbnail image will be generated from the full size image.

Product Availability

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

Specified by:
getThumbnail in interface IImageServer3
Parameters:
rID - The rID (in)
Returns:
A reference to a com.esri.arcgis.carto.IImageResult
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

generateServiceInfo

public IImageServiceInfo generateServiceInfo(IRenderingRule pRenderingRule)
                                      throws IOException,
                                             AutomationException
Generates the image service information as if a given rendering rule is applied.

Remarks

This method is used together with GetImage to unpack the returned binary image data. When requesting an image with a rendering rule, the original service information, obtained using GetServiceInfo, may change once the raster function and renderer are applied to target service, e.g. pixel type, number of bands, and etc, depending the type of functions and renderers applied. The returned binary image from GetImage is formatted according to the new image service info.

Product Availability

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

Specified by:
generateServiceInfo in interface IImageServer3
Parameters:
pRenderingRule - A reference to a com.esri.arcgis.carto.IRenderingRule (in)
Returns:
A reference to a com.esri.arcgis.carto.IImageServiceInfo
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNativeRasterInfo

public IRasterInfos getNativeRasterInfo(int rID)
                                 throws IOException,
                                        AutomationException
Gets raster information of all raw source rasters for a given raster catalog item.

Product Availability

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

Specified by:
getNativeRasterInfo in interface IImageServer3
Parameters:
rID - The rID (in)
Returns:
A reference to a com.esri.arcgis.datasourcesraster.IRasterInfos
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNativePixelBlock

public byte[] getNativePixelBlock(int rID,
                                  int iID,
                                  int tx,
                                  int ty,
                                  int level)
                           throws IOException,
                                  AutomationException
Gets a pixel block at a given block location for a specified raw source raster.

Product Availability

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

Specified by:
getNativePixelBlock in interface IImageServer3
Parameters:
rID - The rID (in)
iID - The iID (in)
tx - The tx (in)
ty - The ty (in)
level - The level (in)
Returns:
An unsigned byte
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

add

public IImageServerEditResults add(IRasterItemDescriptions pItemDescriptions)
                            throws IOException,
                                   AutomationException
Adds a list of raster items for sharing with other users (roles).

Description

Add rasters to an image service (created from a SDE mosaic dataset) using the given RasterItemDescriptions

Remarks

Use Add method to add raster datasets, or other supported raster types (defined by the image service) to image service. Supported raster types are available through IImageServiceInfo3.

RasterItemDescription describes all required information, including name and location of the raster files (through shared path or http), visibility range, attribute values, raster type etc. If the source rasters are not georeferenced, georeferncing information (geodataTransformations) can be specified in RasterItemDescription.

Product Availability

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

Specified by:
add in interface IImageServer4
Parameters:
pItemDescriptions - A reference to a com.esri.arcgis.carto.IRasterItemDescriptions (in)
Returns:
A reference to a com.esri.arcgis.carto.IImageServerEditResults
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

update

public IImageServerEditResults update(IFIDSet pRIDs,
                                      IRasterItemDescriptions pItemDescriptions)
                               throws IOException,
                                      AutomationException
Updates a given list of raster items (images).

Description

Update rasters in an image service (created from a SDE mosaic dataset) based on given FIDSet and RasterItemDescriptions

Remarks

Use Update method to update a raster catalog item in an image service served through mosaic dataset. New attributes, footrpint geometry, or transofmrations can be specified in RasterItemDescription. A new raster can be uploaded to replace existing raster.

Product Availability

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

Specified by:
update in interface IImageServer4
Parameters:
pRIDs - A reference to a com.esri.arcgis.geodatabase.IFIDSet (in)
pItemDescriptions - A reference to a com.esri.arcgis.carto.IRasterItemDescriptions (in)
Returns:
A reference to a com.esri.arcgis.carto.IImageServerEditResults
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

delete

public IImageServerEditResults delete(IFIDSet pRIDs)
                               throws IOException,
                                      AutomationException
Deletes a given list of raster items (images).

Description

Delete rasters from an image service (created from a SDE mosaic dataset) based on given FIDSet

Product Availability

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

Specified by:
delete in interface IImageServer4
Parameters:
pRIDs - A reference to a com.esri.arcgis.geodatabase.IFIDSet (in)
Returns:
A reference to a com.esri.arcgis.carto.IImageServerEditResults
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

measure

public IImageServerMeasureResult measure(IGeometry pFrom,
                                         IGeometry pTo,
                                         IMosaicRule pMosaicRule,
                                         IPoint pCellsize,
                                         int operation)
                                  throws IOException,
                                         AutomationException
Measures distance, angle, area, perimeter, and height.

Description

Perform mensuration on an image service.

Product Availability

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

Specified by:
measure in interface IImageServer4
Parameters:
pFrom - A reference to a com.esri.arcgis.geometry.IGeometry (in)
pTo - A reference to a com.esri.arcgis.geometry.IGeometry (in)
pMosaicRule - A reference to a com.esri.arcgis.carto.IMosaicRule (in)
pCellsize - A reference to a com.esri.arcgis.geometry.IPoint (in)
operation - A com.esri.arcgis.carto.esriMensurationOperation constant (in)
Returns:
A reference to a com.esri.arcgis.carto.IImageServerMeasureResult
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

computeHistograms

public IRasterHistograms computeHistograms(IGeometry pGeometry,
                                           IMosaicRule pMosaicRule,
                                           IPoint pCellsize,
                                           IRenderingRule pRenderingRule)
                                    throws IOException,
                                           AutomationException
Computes histograms within an area of interest.

Product Availability

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

Specified by:
computeHistograms in interface IImageServer4
Parameters:
pGeometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
pMosaicRule - A reference to a com.esri.arcgis.carto.IMosaicRule (in)
pCellsize - A reference to a com.esri.arcgis.geometry.IPoint (in)
pRenderingRule - A reference to a com.esri.arcgis.carto.IRenderingRule (in)
Returns:
A reference to a com.esri.arcgis.datasourcesraster.IRasterHistograms
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRasterAttributeTable

public IRecordSet getRasterAttributeTable()
                                   throws IOException,
                                          AutomationException
The raster attribute table.

Description

Get the raster attribute table of the image service which represents categorical information.

Product Availability

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

Specified by:
getRasterAttributeTable in interface IImageServer4
Returns:
A reference to a com.esri.arcgis.geodatabase.IRecordSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getKeyProperties

public IPropertySet getKeyProperties()
                              throws IOException,
                                     AutomationException
The image service key properties.

Remarks

Key properties contain some well known property, such as AcquisitionDate, CloudCover, SensorName, ProductName, SunAzimuth, SunElevation, SensorAzimuth, SensorElevation etc.

Product Availability

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

Specified by:
getKeyProperties in interface IImageServer4
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRasterKeyProperties

public IPropertySet getRasterKeyProperties(int rID)
                                    throws IOException,
                                           AutomationException
The key properties for a given raster catalog item.

Product Availability

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

Specified by:
getRasterKeyProperties in interface IImageServer4
Parameters:
rID - The rID (in)
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

identifyAll

public IImageServerIdentifyResults identifyAll(IGeometry pLocations,
                                               IMosaicRule pMosaicRule,
                                               IPoint pCellsize,
                                               IRenderingRule pRenderingRule,
                                               String options)
                                        throws IOException,
                                               AutomationException
Identifies the pixel values and all catalog items at the given one or more locations.

Remarks

Each element in the returned ImageServerIdentifyResult array corresponds to the identify result of a location in the given locations. Footprint geometry and catalog items may be skipped to speed up the operation by specifying options:
ITEMS=NO - only pixel value is returned
GEOMETRY=NO - pixel value, and item information are returned, but no geometry, and visibilities

Product Availability

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

Specified by:
identifyAll in interface IImageServer4
Parameters:
pLocations - A reference to a com.esri.arcgis.geometry.IGeometry (in)
pMosaicRule - A reference to a com.esri.arcgis.carto.IMosaicRule (in)
pCellsize - A reference to a com.esri.arcgis.geometry.IPoint (in)
pRenderingRule - A reference to a com.esri.arcgis.carto.IRenderingRule (in)
options - The options (in)
Returns:
A reference to a com.esri.arcgis.carto.IImageServerIdentifyResults
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getView

public IImageView getView(String vID)
                   throws IOException,
                          AutomationException
Gets the view of a given view ID.

Product Availability

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

Specified by:
getView in interface IImageServer4
Parameters:
vID - The vID (in)
Returns:
A reference to a com.esri.arcgis.carto.IImageView
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createView

public IImageServerEditResult createView(IImageView pView)
                                  throws IOException,
                                         AutomationException
Creates a new view.

Product Availability

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

Specified by:
createView in interface IImageServer4
Parameters:
pView - A reference to a com.esri.arcgis.carto.IImageView (in)
Returns:
A reference to a com.esri.arcgis.carto.IImageServerEditResult
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

updateView

public IImageServerEditResults updateView(String vID,
                                          IFIDSet pAddIDs,
                                          IFIDSet pDeleteIDs)
                                   throws IOException,
                                          AutomationException
Inserts and Removes raster items to a given view.

Product Availability

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

Specified by:
updateView in interface IImageServer4
Parameters:
vID - The vID (in)
pAddIDs - A reference to a com.esri.arcgis.geodatabase.IFIDSet (in)
pDeleteIDs - A reference to a com.esri.arcgis.geodatabase.IFIDSet (in)
Returns:
A reference to a com.esri.arcgis.carto.IImageServerEditResults
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteView

public IImageServerEditResult deleteView(String vID)
                                  throws IOException,
                                         AutomationException
Deletes the view of a given view ID.

Product Availability

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

Specified by:
deleteView in interface IImageServer4
Parameters:
vID - The vID (in)
Returns:
A reference to a com.esri.arcgis.carto.IImageServerEditResult
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

execute

public Object execute(String name,
                      Object argument)
               throws IOException,
                      AutomationException
Executes a named image server processing command.

Product Availability

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

Specified by:
execute in interface IImageServer4
Parameters:
name - The name (in)
argument - A Variant (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

initialize

public void initialize(String fullName)
                throws IOException,
                       AutomationException
Initializes this image server from a fullname to a dataset.

Description

Initializes an ImageServer from a full path name to the data.

Product Availability

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

Specified by:
initialize in interface IImageServerInit
Parameters:
fullName - The fullName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

initializeFromDataset

public void initializeFromDataset(IRasterDataset pDataset)
                           throws IOException,
                                  AutomationException
Initializes this image server from a Raster Dataset.

Description

Initializes an ImageServer from a raster dataset.

Product Availability

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

Specified by:
initializeFromDataset in interface IImageServerInit
Parameters:
pDataset - A reference to a com.esri.arcgis.geodatabase.IRasterDataset (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

initializeFromServiceURL

public void initializeFromServiceURL(String serviceURL)
                              throws IOException,
                                     AutomationException
Initializes this image server from an AIS service URL (ImageService://:/).

Remarks

Initializes an ImageServer from an AIS service URL.

Product Availability

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

Specified by:
initializeFromServiceURL in interface IImageServerInit
Parameters:
serviceURL - The serviceURL (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setImageDataSourceNameByRef

public void setImageDataSourceNameByRef(IName ppName)
                                 throws IOException,
                                        AutomationException
The image server data source name.

Product Availability

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

Specified by:
setImageDataSourceNameByRef in interface IImageServerInit
Parameters:
ppName - A reference to a com.esri.arcgis.system.IName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getImageDataSourceName

public IName getImageDataSourceName()
                             throws IOException,
                                    AutomationException
The image server data source name.

Product Availability

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

Specified by:
getImageDataSourceName in interface IImageServerInit
Returns:
A reference to a com.esri.arcgis.system.IName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setOutputDirectory

public void setOutputDirectory(String pPath)
                        throws IOException,
                               AutomationException
The physical directory for output files.

Product Availability

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

Specified by:
setOutputDirectory in interface IImageServerInit2
Parameters:
pPath - The pPath (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOutputDirectory

public String getOutputDirectory()
                          throws IOException,
                                 AutomationException
The physical directory for output files.

Product Availability

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

Specified by:
getOutputDirectory in interface IImageServerInit2
Returns:
The pPath
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setVirtualOutputDirectory

public void setVirtualOutputDirectory(String pPath)
                               throws IOException,
                                      AutomationException
The virtual directory for output files.

Product Availability

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

Specified by:
setVirtualOutputDirectory in interface IImageServerInit2
Parameters:
pPath - The pPath (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getVirtualOutputDirectory

public String getVirtualOutputDirectory()
                                 throws IOException,
                                        AutomationException
The virtual directory for output files.

Product Availability

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

Specified by:
getVirtualOutputDirectory in interface IImageServerInit2
Returns:
The pPath
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDownloadDirectory

public void setDownloadDirectory(String pPath)
                          throws IOException,
                                 AutomationException
The physical directory for downloadable files.

Product Availability

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

Specified by:
setDownloadDirectory in interface IImageServerInit2
Parameters:
pPath - The pPath (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDownloadDirectory

public String getDownloadDirectory()
                            throws IOException,
                                   AutomationException
The physical directory for downloadable files.

Product Availability

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

Specified by:
getDownloadDirectory in interface IImageServerInit2
Returns:
The pPath
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setVirtualDownloadDirectory

public void setVirtualDownloadDirectory(String pPath)
                                 throws IOException,
                                        AutomationException
The virtual directory for downloading files.

Product Availability

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

Specified by:
setVirtualDownloadDirectory in interface IImageServerInit2
Parameters:
pPath - The pPath (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getVirtualDownloadDirectory

public String getVirtualDownloadDirectory()
                                   throws IOException,
                                          AutomationException
The virtual directory for downloading files.

Product Availability

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

Specified by:
getVirtualDownloadDirectory in interface IImageServerInit2
Returns:
The pPath
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setDynamicImageWorkspace

public void setDynamicImageWorkspace(String pPath)
                              throws IOException,
                                     AutomationException
The workspace used for adding rasters.

Product Availability

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

Specified by:
setDynamicImageWorkspace in interface IImageServerInit2
Parameters:
pPath - The pPath (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDynamicImageWorkspace

public String getDynamicImageWorkspace()
                                throws IOException,
                                       AutomationException
The workspace used for adding rasters.

Product Availability

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

Specified by:
getDynamicImageWorkspace in interface IImageServerInit2
Returns:
The pPath
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setExcludedFields

public void setExcludedFields(String pExcludedFields)
                       throws IOException,
                              AutomationException
The list of excluded field names.

Product Availability

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

Specified by:
setExcludedFields in interface IImageServerInit2
Parameters:
pExcludedFields - The pExcludedFields (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExcludedFields

public String getExcludedFields()
                         throws IOException,
                                AutomationException
The list of excluded field names.

Product Availability

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

Specified by:
getExcludedFields in interface IImageServerInit2
Returns:
The pExcludedFields
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMaxRecordCount

public int getMaxRecordCount()
                      throws IOException,
                             AutomationException
The maximum number of records returned for query results (GetCatalog).

Product Availability

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

Specified by:
getMaxRecordCount in interface IImageServerInit2
Returns:
The count
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMaxRecordCount

public void setMaxRecordCount(int count)
                       throws IOException,
                              AutomationException
The maximum number of records returned for query results (GetCatalog).

Product Availability

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

Specified by:
setMaxRecordCount in interface IImageServerInit2
Parameters:
count - The count (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMaxImageWidth

public int getMaxImageWidth()
                     throws IOException,
                            AutomationException
The maximum width in pixels of an image request.

Product Availability

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

Specified by:
getMaxImageWidth in interface IImageServerInit2
Returns:
The width
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMaxImageWidth

public void setMaxImageWidth(int width)
                      throws IOException,
                             AutomationException
The maximum width in pixels of an image request.

Product Availability

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

Specified by:
setMaxImageWidth in interface IImageServerInit2
Parameters:
width - The width (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMaxImageHeight

public int getMaxImageHeight()
                      throws IOException,
                             AutomationException
The maximum height in pixels of an image request.

Product Availability

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

Specified by:
getMaxImageHeight in interface IImageServerInit2
Returns:
The height
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMaxImageHeight

public void setMaxImageHeight(int height)
                       throws IOException,
                              AutomationException
The maximum height in pixels of an image request.

Product Availability

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

Specified by:
setMaxImageHeight in interface IImageServerInit2
Parameters:
height - The height (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAllowedFields

public void setAllowedFields(String pAllowedFields)
                      throws IOException,
                             AutomationException
The list of allowed field names.

Remarks

Use a comma delimited string for multiple allowed fields.

Product Availability

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

Specified by:
setAllowedFields in interface IImageServerInit2
Parameters:
pAllowedFields - The pAllowedFields (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAllowedFields

public String getAllowedFields()
                        throws IOException,
                               AutomationException
The list of allowed field names.

Product Availability

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

Specified by:
getAllowedFields in interface IImageServerInit2
Returns:
The pAllowedFields
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAllowedCompressions

public void setAllowedCompressions(String pAllowedCompressions)
                            throws IOException,
                                   AutomationException
The list of allowed compressions, None, LZ77, and JPEG.

Remarks

Available compressions include: "None", "JPEG", "LZ77". The AllowedCompressions property takes a comma delimited string for multiple compressions, e.g. "None,JPEG,LZ77". The first one in the list is default compression.

Product Availability

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

Specified by:
setAllowedCompressions in interface IImageServerInit2
Parameters:
pAllowedCompressions - The pAllowedCompressions (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAllowedCompressions

public String getAllowedCompressions()
                              throws IOException,
                                     AutomationException
The list of allowed compressions, None, LZ77, and JPEG.

Product Availability

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

Specified by:
getAllowedCompressions in interface IImageServerInit2
Returns:
The pAllowedCompressions
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAllowedMosaicMethods

public void setAllowedMosaicMethods(String pAllowedMosaicMethods)
                             throws IOException,
                                    AutomationException
The list of allowed mosaic methods.

Remarks

Available mosaic methods include: "Center","Nadir","NorthWest","Viewpoint","Seamline","ByAttribute","LockRaster". The AllowedMosaicMethods property takes a comma delimited string for multiple methods, e.g. "Center,LockRaster". The first one in the list is default mosaic method.

Product Availability

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

Specified by:
setAllowedMosaicMethods in interface IImageServerInit2
Parameters:
pAllowedMosaicMethods - The pAllowedMosaicMethods (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAllowedMosaicMethods

public String getAllowedMosaicMethods()
                               throws IOException,
                                      AutomationException
The list of allowed mosaic methods.

Product Availability

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

Specified by:
getAllowedMosaicMethods in interface IImageServerInit2
Returns:
The pAllowedMosaicMethods
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAllowedItemMetadata

public void setAllowedItemMetadata(String pAllowedItemMetadata)
                            throws IOException,
                                   AutomationException
The allowed metadata, None, Basic, and Full.

Remarks

The AllowedItemMetadata property takes one from the following: "None", "Basic", "Full".

Product Availability

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

Specified by:
setAllowedItemMetadata in interface IImageServerInit2
Parameters:
pAllowedItemMetadata - The pAllowedItemMetadata (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAllowedItemMetadata

public String getAllowedItemMetadata()
                              throws IOException,
                                     AutomationException
The allowed metadata, None, Basic, and Full.

Product Availability

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

Specified by:
getAllowedItemMetadata in interface IImageServerInit2
Returns:
The pAllowedItemMetadata
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getConfigurationName

public String getConfigurationName()
                            throws IOException,
                                   AutomationException
Name of the server object configuration that defines the server object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getConfigurationName in interface IServerObject
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTypeName

public String getTypeName()
                   throws IOException,
                          AutomationException
Type of the server object (MapServer or GeocodeServer).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
getTypeName in interface IServerObject
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

construct

public void construct(IPropertySet props)
               throws IOException,
                      AutomationException
Two phase object construction.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
construct in interface IObjectConstruct
Parameters:
props - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

handleBinaryRequest

public byte[] handleBinaryRequest(byte[] request)
                           throws IOException,
                                  AutomationException
Handles a binary request.

Specified by:
handleBinaryRequest in interface IRequestHandler
Parameters:
request - An unsigned byte (in)
Returns:
An unsigned byte
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

handleStringRequest

public String handleStringRequest(String capabilities,
                                  String request)
                           throws IOException,
                                  AutomationException
Handles a SOAP string request.

Specified by:
handleStringRequest in interface IRequestHandler
Parameters:
capabilities - The capabilities (in)
request - The request (in)
Returns:
The response
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

handleBinaryRequest2

public byte[] handleBinaryRequest2(String capabilities,
                                   byte[] request)
                            throws IOException,
                                   AutomationException
Handles a binary request with explicit capabilities.

Product Availability

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

Specified by:
handleBinaryRequest2 in interface IRequestHandler2
Parameters:
capabilities - The capabilities (in)
request - An unsigned byte (in)
Returns:
An unsigned byte
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

initLogging

public void initLogging(ILog log)
                 throws IOException,
                        AutomationException
Initializes an object with a log.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
initLogging in interface ILogSupport
Parameters:
log - A reference to a com.esri.arcgis.system.ILog (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

activate

public void activate()
              throws IOException,
                     AutomationException
Activates the object.

Specified by:
activate in interface IObjectActivate
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deactivate

public void deactivate()
                throws IOException,
                       AutomationException
Deactivates the object.

Specified by:
deactivate in interface IObjectActivate
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findExtensionByCLSID

public IServerObjectExtension findExtensionByCLSID(String cLSID)
                                            throws IOException,
                                                   AutomationException
Returns a server object extension found using a string representation of its class ID.

Product Availability

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

Specified by:
findExtensionByCLSID in interface IServerObjectExtensionManager
Parameters:
cLSID - The cLSID (in)
Returns:
A reference to a com.esri.arcgis.server.IServerObjectExtension
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findExtensionByTypeName

public IServerObjectExtension findExtensionByTypeName(String name)
                                               throws IOException,
                                                      AutomationException
Returns a server object extension found using its type name.

Product Availability

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

Specified by:
findExtensionByTypeName in interface IServerObjectExtensionManager
Parameters:
name - The name (in)
Returns:
A reference to a com.esri.arcgis.server.IServerObjectExtension
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
interfaceSupportsErrorInfo in interface ISupportErrorInfo
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMosaicDataset

public IMosaicDataset getMosaicDataset()
                                throws IOException,
                                       AutomationException
The mosaic dataset.

Product Availability

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

Specified by:
getMosaicDataset in interface IImageServerObjects
Returns:
A reference to a com.esri.arcgis.datasourcesraster.IMosaicDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRasterDataset

public IRasterDataset getRasterDataset()
                                throws IOException,
                                       AutomationException
The raster dataset.

Product Availability

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

Specified by:
getRasterDataset in interface IImageServerObjects
Returns:
A reference to a com.esri.arcgis.geodatabase.IRasterDataset
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRaster

public IRaster getRaster()
                  throws IOException,
                         AutomationException
The raster.

Product Availability

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

Specified by:
getRaster in interface IImageServerObjects
Returns:
A reference to a com.esri.arcgis.geodatabase.IRaster
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTimeDefinition

public ITimeTableDefinition getTimeDefinition()
                                       throws IOException,
                                              AutomationException
The time definition.

Product Availability

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

Specified by:
getTimeDefinition in interface IImageServerObjects
Returns:
A reference to a com.esri.arcgis.carto.ITimeTableDefinition
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

handleRESTRequest

public byte[] handleRESTRequest(String capabilities,
                                String resourceName,
                                String operationName,
                                String operationInput,
                                String outputFormat,
                                String requestProperties,
                                String[] responseProperties)
                         throws IOException,
                                AutomationException
Handles REST requests for SOE.

This method is invoked by ArcGIS Server's REST handler, which intercepts client's request (in URL form), parses it and passes it on to this method in form of parameter values.

The REST SOE developer must add logic to use these parameter values to determine which resource/operation is being requested and accordingly handle these requests and generate responses in the output format indicated by the "outputFormat" parameter. For more information on developing REST SOEs, please consult the Java ArcObjects Developer Guide.

Developer doc: Developing extensions > Server Object Extensions > SOE Web Services > REST Web Services > Developing SOE REST Web Services
Samples: Samples > Server Object Extensions section

Specified by:
handleRESTRequest in interface IRESTRequestHandler
Parameters:
capabilities - The capabilities supported by the SOE. An admin can choose which capabilities are enabled on a particular SOE (in ArcGIS Manager or ArcCatalog), based on certain criteria such as security roles. This list of allowed capabilities is then sent to this method, at runtime, as a comma separated list. (in)
resourceName - Name of the resource being addressed. If empty, its assumed that root resource is being addressed. (in)
operationName - Name of the operation being invoked. If empty, description of resource is returned. (in)
operationInput - Input parameters, in form of comma separated list, to the operation specified by operationName parameter. (in)
outputFormat - OutputFormat of operation. Possible formats are JSON, HTML, AMF, etc. (in)
requestProperties - The requestProperties (in)
responseProperties - The responseProperties (out)
Returns:
Output generated by the SOE
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSchema

public String getSchema()
                 throws IOException,
                        AutomationException
This method returns the resource hierarchy of a REST based SOE. This hierarchy is in JSON format as shown in the example below:

For an SOE that has a root resource (called "root") with one operation ("operation0"), and 2 sub-resources with one operation each ("operation1" and "operation2" respectively), the schema would look like:


 {
   "name": "MyRESTSOE",
   "description": "My REST SOE with 3 resources and 1 operation each.",
   "isCollection": false,
   "operations": [
   {
      "name": "operation0",
      "parameters": ["param01"],
      "supportedOutputFormats": ["json"]
    }
 ],
 "resources": [
  {
      "name": "subresource1",
      "description": "Sub Resource 1",
      "isCollection": true,
      "operations": [
       {
          "name": "operation1",
          "parameters": ["param10", "param11"],
          "supportedOutputFormats": ["json"]
       }
    ]
  },
  {
      "name": "subresource2",
      "description": "Sub Resource 2",
      "isCollection": true,
      "operations": [
       {
          "name": "operation2",
          "parameters": ["param20", "param21"],
          "supportedOutputFormats": ["json"]
       }
    ]
  }
 ]
}

Specified by:
getSchema in interface IRESTRequestHandler
Returns:
resource hierarchy of REST SOE, as String
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.