com.esri.arcgis.carto
Class ImageServerIP

java.lang.Object
  extended by com.esri.arcgis.carto.ImageServerIP
All Implemented Interfaces:
IImageServer, IAGSServerObject, IAGSServerObject2, com.esri.arcgis.interop.RemoteObjRef, ISupportErrorInfo, Serializable

public class ImageServerIP
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IAGSServerObject, IAGSServerObject2, IImageServer, ISupportErrorInfo

Image Server Message Proxy.

Description

This object is new at ArcGIS 9.3.

Product Availability

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

See Also:
Serialized Form

Constructor Summary
ImageServerIP()
          Constructs a ImageServerIP using ArcGIS Engine.
ImageServerIP(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
ImageServerIP theImageServerIP = (ImageServerIP) obj;
 
Method Summary
 boolean equals(Object o)
          Compare this object with another
 IImageResult exportImage(IGeoImageDescription pImageDescription, IImageType pImageType)
          Exports into a well-known image for a given image description.
static String getClsid()
          getClsid.
 IName getFullName()
          The AGSServerConnectionName object associated with the server object.
 int getHttpTimeout()
          The maximum time in seconds to wait for a response from the server (Internet only).
 byte[] getImage(IGeoImageDescription pImageDescription)
          Gets an image for a given image description.
 IImageServiceInfo getServiceInfo()
          The properties of the image service provided.
 float getVersion()
          The Image Server version number.
 int hashCode()
          the hashcode for this object
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 void setHttpTimeout(int secs)
          The maximum time in seconds to wait for a response from the server (Internet only).
 
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

ImageServerIP

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

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

ImageServerIP

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

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

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

getFullName

public IName getFullName()
                  throws IOException,
                         AutomationException
The AGSServerConnectionName object associated with the server object.

Product Availability

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

Specified by:
getFullName in interface IAGSServerObject2
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.

setHttpTimeout

public void setHttpTimeout(int secs)
                    throws IOException,
                           AutomationException
The maximum time in seconds to wait for a response from the server (Internet only).

Product Availability

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

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

getHttpTimeout

public int getHttpTimeout()
                   throws IOException,
                          AutomationException
The maximum time in seconds to wait for a response from the server (Internet only).

Product Availability

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

Specified by:
getHttpTimeout in interface IAGSServerObject2
Returns:
The secs
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

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

Exports a well-known image for a given image description. The supported formats include JPEG (plus transparency mask), PNG, BMP, and TIFF. The JPEG (plus transparency mask) format is the same as the JPEG compressed image returned from GetImage.

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

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.