|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.esri.arcgis.carto.ImageServer
public class ImageServer
The ArcGIS Server Image Server class.
This object is new at ArcGIS 9.3.
The ImageServer server object provides the implementation of the image service, and supports IImageServer interface. The IImageServer interface is 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.
This interface also supports 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.
| Field Summary |
|---|
| Fields inherited from interface com.esri.arcgis.system.IObjectActivate |
|---|
IID, IIDe3b78022_143e_4e61_9099_ed319ec061e7, 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. |
void |
attach(String cache)
Attaches to a given tile cache. |
void |
construct(IPropertySet props)
Two phase object construction. |
void |
deactivate()
Deactivates the object. |
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. |
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. |
void |
generateTiles(IEnvelope pExtent,
int minLOD,
int maxLOD,
ITrackCancel pCancelTracker)
Generates tiles into the attached tile cache. |
static String |
getClsid()
getClsid. |
String |
getConfigurationName()
Name of the server object configuration that defines the server object. |
byte[] |
getImage(IGeoImageDescription pImageDescription)
Gets an image for a given image description. |
IName |
getImageDataSourceName()
The image server data source name. |
IImageServiceInfo |
getServiceInfo()
The properties of the image service provided. |
byte[] |
getTile(int partition,
int level,
int row,
int column)
Gets a tile from the attached tile cache. |
String |
getTypeName()
Type of the server object (MapServer or GeocodeServer). |
float |
getVersion()
The Image Server version number. |
byte[] |
handleBinaryRequest(byte[] request)
Handles a binary request. |
byte[] |
handleBinaryRequest2(String capabilities,
byte[] request)
Handles a binary request with explicit capabilities. |
String |
handleStringRequest(String capabilities,
String request)
Handles a SOAP string request. |
int |
hashCode()
the hashcode for this object |
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 |
void |
setImageDataSourceNameByRef(IName ppName)
The image server data source name. |
| 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 |
|---|
public ImageServer()
throws IOException,
UnknownHostException
IOException - if there are interop problems
UnknownHostException - if there are interop problems
public ImageServer(Object obj)
throws IOException
ImageServer theImageServer = (ImageServer) obj;
obj to ImageServer.
obj - an object returned from ArcGIS Engine or Server
IOException - if there are interop problems| Method Detail |
|---|
public static String getClsid()
public boolean equals(Object o)
equals in class Objectpublic int hashCode()
hashCode in class Object
public float getVersion()
throws IOException,
AutomationException
Returns the version number of the Image Server
getVersion in interface IImageServerIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IImageServiceInfo getServiceInfo()
throws IOException,
AutomationException
Returns information of the image service. The information includes description, spatial reference, extent, pixel size about the image data.
getServiceInfo in interface IImageServerIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public byte[] getImage(IGeoImageDescription pImageDescription)
throws IOException,
AutomationException
Gets the image data in byte array from the image service using the given GeoImageDescription.
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]
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.
getImage in interface IImageServerpImageDescription - A reference to a com.esri.arcgis.carto.IGeoImageDescription (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.IGeoImageDescription
public IImageResult exportImage(IGeoImageDescription pImageDescription,
IImageType pImageType)
throws IOException,
AutomationException
Exports image data from the image server using the GeoImageDescription and ImagType.
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.
exportImage in interface IImageServerpImageDescription - A reference to a com.esri.arcgis.carto.IGeoImageDescription (in)pImageType - A reference to a com.esri.arcgis.carto.IImageType (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.IGeoImageDescription
public void initialize(String fullName)
throws IOException,
AutomationException
Initializes an ImageServer from a full path name to the data.
initialize in interface IImageServerInitfullName - The fullName (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void initializeFromDataset(IRasterDataset pDataset)
throws IOException,
AutomationException
Initializes an ImageServer from a raster dataset.
initializeFromDataset in interface IImageServerInitpDataset - A reference to a com.esri.arcgis.geodatabase.IRasterDataset (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void initializeFromServiceURL(String serviceURL)
throws IOException,
AutomationException
Initializes an ImageServer from an AIS service URL.
initializeFromServiceURL in interface IImageServerInitserviceURL - The serviceURL (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setImageDataSourceNameByRef(IName ppName)
throws IOException,
AutomationException
setImageDataSourceNameByRef in interface IImageServerInitppName - A reference to a com.esri.arcgis.system.IName (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IName getImageDataSourceName()
throws IOException,
AutomationException
getImageDataSourceName in interface IImageServerInitIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void attach(String cache)
throws IOException,
AutomationException
attach in interface IImageTileServercache - The cache (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public byte[] getTile(int partition,
int level,
int row,
int column)
throws IOException,
AutomationException
getTile in interface IImageTileServerpartition - The partition (in)level - The level (in)row - The row (in)column - The column (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void generateTiles(IEnvelope pExtent,
int minLOD,
int maxLOD,
ITrackCancel pCancelTracker)
throws IOException,
AutomationException
generateTiles in interface IImageTileServerpExtent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)minLOD - The minLOD (in)maxLOD - The maxLOD (in)pCancelTracker - A reference to a com.esri.arcgis.system.ITrackCancel (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public String getConfigurationName()
throws IOException,
AutomationException
getConfigurationName in interface IServerObjectIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public String getTypeName()
throws IOException,
AutomationException
getTypeName in interface IServerObjectIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void construct(IPropertySet props)
throws IOException,
AutomationException
construct in interface IObjectConstructprops - A reference to a com.esri.arcgis.system.IPropertySet (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public byte[] handleBinaryRequest(byte[] request)
throws IOException,
AutomationException
handleBinaryRequest in interface IRequestHandlerrequest - An unsigned byte (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public String handleStringRequest(String capabilities,
String request)
throws IOException,
AutomationException
handleStringRequest in interface IRequestHandlercapabilities - The capabilities (in)request - The request (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public byte[] handleBinaryRequest2(String capabilities,
byte[] request)
throws IOException,
AutomationException
handleBinaryRequest2 in interface IRequestHandler2capabilities - The capabilities (in)request - An unsigned byte (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void initLogging(ILog log)
throws IOException,
AutomationException
initLogging in interface ILogSupportlog - A reference to a com.esri.arcgis.system.ILog (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void activate()
throws IOException,
AutomationException
activate in interface IObjectActivateIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void deactivate()
throws IOException,
AutomationException
deactivate in interface IObjectActivateIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IServerObjectExtension findExtensionByCLSID(String cLSID)
throws IOException,
AutomationException
findExtensionByCLSID in interface IServerObjectExtensionManagercLSID - The cLSID (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IServerObjectExtension findExtensionByTypeName(String name)
throws IOException,
AutomationException
findExtensionByTypeName in interface IServerObjectExtensionManagername - The name (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void interfaceSupportsErrorInfo(GUID riid)
throws IOException,
AutomationException
Indicates whether the interface supports IErrorInfo.
interfaceSupportsErrorInfo in interface ISupportErrorInforiid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||