|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.carto.ImageServerLP
public class ImageServerLP
Image Server LAN Proxy.
This object is new at ArcGIS 9.3.
Constructor Summary | |
---|---|
ImageServerLP()
Constructs a ImageServerLP using ArcGIS Engine. |
|
ImageServerLP(Object obj)
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts. ImageServerLP theImageServerLP = (ImageServerLP) obj; |
Method Summary | |
---|---|
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 |
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. |
IImageServiceInfo |
generateServiceInfo(IRenderingRule pRenderingRule)
Generates the image service information as if a given rendering rule is applied. |
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. |
IFields |
getFields()
The fields of the image catalog. |
String |
getFile(IImageServerDownloadResult pFile)
Get the URL to a given download result. |
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. |
String |
getMetadata()
The image service metadata. |
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. |
byte[] |
getPixelBlock(int rID,
int tx,
int ty,
int level)
Gets a pixel block at a given block location. |
IRasterInfo |
getRasterInfo(int rID)
Gets the image information of a given raster catalog item. |
String |
getRasterMetadata(int rID)
Gets the metadata of a given raster catalog item. |
IImageServiceInfo |
getServiceInfo()
The properties of the image service provided. |
IImageResult |
getThumbnail(int rID)
Gets the thumbnail image of a given raster catalog item. |
float |
getVersion()
The Image Server version number. |
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. |
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 |
---|
public ImageServerLP() throws IOException, UnknownHostException
IOException
- if there are interop problems
UnknownHostException
- if there are interop problemspublic ImageServerLP(Object obj) throws IOException
ImageServerLP theImageServerLP = (ImageServerLP) obj;
obj
to ImageServerLP
.
obj
- an object returned from ArcGIS Engine or Server
IOException
- if there are interop problemsMethod Detail |
---|
public static String getClsid()
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
public IName getFullName() throws IOException, AutomationException
getFullName
in interface IAGSServerObject2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setHttpTimeout(int secs) throws IOException, AutomationException
setHttpTimeout
in interface IAGSServerObject2
secs
- The secs (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getHttpTimeout() throws IOException, AutomationException
getHttpTimeout
in interface IAGSServerObject2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public float getVersion() throws IOException, AutomationException
Returns the version number of the Image Server
getVersion
in interface IImageServer
IOException
- 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 IImageServer
IOException
- 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]
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.
getImage
in interface IImageServer
pImageDescription
- 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.
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 9.4, 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.
exportImage
in interface IImageServer
pImageDescription
- 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 IMapImage exportMapImage(IGeoImageDescription pImageDescription, IImageType pImageType) throws IOException, AutomationException
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.
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.
exportMapImage
in interface IImageServer2
pImageDescription
- 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.public IFields getFields() throws IOException, AutomationException
The accessible fields are defined during publishing and are stored in the image service configuration file.
getFields
in interface IImageServer3
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getCatalogItemCount(IQueryFilter pFilter) throws IOException, AutomationException
getCatalogItemCount
in interface IImageServer3
pFilter
- A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IFIDSet getCatalogItemIDs(IQueryFilter pFilter) throws IOException, AutomationException
getCatalogItemIDs
in interface IImageServer3
pFilter
- A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IRecordSet getCatalogItems(IQueryFilter pFilter) throws IOException, AutomationException
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.
getCatalogItems
in interface IImageServer3
pFilter
- A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IImageServerDownloadResults download(IFIDSet pFIDs, IGeometry pGeometry, String format) throws IOException, AutomationException
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.
download
in interface IImageServer3
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getFile(IImageServerDownloadResult pFile) throws IOException, AutomationException
GetFile() prepares a downloadable file that is only known to the image service and returns a public URL (e.g. http:// or ftp://).
getFile
in interface IImageServer3
pFile
- A reference to a com.esri.arcgis.carto.IImageServerDownloadResult (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IImageServerIdentifyResult identify(IGeometry pLocation, IMosaicRule pMosaicRule, IPoint pCellsize) throws IOException, AutomationException
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.
identify
in interface IImageServer3
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getMetadata() throws IOException, AutomationException
getMetadata
in interface IImageServer3
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IRasterInfo getRasterInfo(int rID) throws IOException, AutomationException
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.
getRasterInfo
in interface IImageServer3
rID
- The rID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public byte[] getPixelBlock(int rID, int tx, int ty, int level) throws IOException, AutomationException
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.
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.
getPixelBlock
in interface IImageServer3
rID
- The rID (in)tx
- The tx (in)ty
- The ty (in)level
- The level (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getRasterMetadata(int rID) throws IOException, AutomationException
getRasterMetadata
in interface IImageServer3
rID
- The rID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IImageResult getThumbnail(int rID) throws IOException, AutomationException
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.
getThumbnail
in interface IImageServer3
rID
- The rID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IImageServiceInfo generateServiceInfo(IRenderingRule pRenderingRule) throws IOException, AutomationException
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.
generateServiceInfo
in interface IImageServer3
pRenderingRule
- A reference to a com.esri.arcgis.carto.IRenderingRule (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IRasterInfos getNativeRasterInfo(int rID) throws IOException, AutomationException
getNativeRasterInfo
in interface IImageServer3
rID
- The rID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public byte[] getNativePixelBlock(int rID, int iID, int tx, int ty, int level) throws IOException, AutomationException
getNativePixelBlock
in interface IImageServer3
rID
- The rID (in)iID
- The iID (in)tx
- The tx (in)ty
- The ty (in)level
- The level (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 ISupportErrorInfo
riid
- 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 |