|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.carto.ImageServer
public class ImageServer
The ArcGIS Server Image Server class.
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.
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 |
---|
public ImageServer() throws IOException, UnknownHostException
IOException
- if there are interop problems
UnknownHostException
- if there are interop problemspublic 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 problemsMethod Detail |
---|
public static String getClsid()
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
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 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.
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. 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”).
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 IImageServerEditResults add(IRasterItemDescriptions pItemDescriptions) throws IOException, AutomationException
Add rasters to an image service (created from a SDE mosaic dataset) using the given RasterItemDescriptions
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.
add
in interface IImageServer4
pItemDescriptions
- A reference to a com.esri.arcgis.carto.IRasterItemDescriptions (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IImageServerEditResults update(IFIDSet pRIDs, IRasterItemDescriptions pItemDescriptions) throws IOException, AutomationException
Update rasters in an image service (created from a SDE mosaic dataset) based on given FIDSet and RasterItemDescriptions
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.
update
in interface IImageServer4
pRIDs
- A reference to a com.esri.arcgis.geodatabase.IFIDSet (in)pItemDescriptions
- A reference to a com.esri.arcgis.carto.IRasterItemDescriptions (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IImageServerEditResults delete(IFIDSet pRIDs) throws IOException, AutomationException
Delete rasters from an image service (created from a SDE mosaic dataset) based on given FIDSet
delete
in interface IImageServer4
pRIDs
- A reference to a com.esri.arcgis.geodatabase.IFIDSet (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IImageServerMeasureResult measure(IGeometry pFrom, IGeometry pTo, IMosaicRule pMosaicRule, IPoint pCellsize, int operation) throws IOException, AutomationException
Perform mensuration on an image service.
measure
in interface IImageServer4
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IRasterHistograms computeHistograms(IGeometry pGeometry, IMosaicRule pMosaicRule, IPoint pCellsize, IRenderingRule pRenderingRule) throws IOException, AutomationException
computeHistograms
in interface IImageServer4
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IRecordSet getRasterAttributeTable() throws IOException, AutomationException
Get the raster attribute table of the image service which represents categorical information.
getRasterAttributeTable
in interface IImageServer4
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IPropertySet getKeyProperties() throws IOException, AutomationException
Key properties contain some well known property, such as AcquisitionDate, CloudCover, SensorName, ProductName, SunAzimuth, SunElevation, SensorAzimuth, SensorElevation etc.
getKeyProperties
in interface IImageServer4
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IPropertySet getRasterKeyProperties(int rID) throws IOException, AutomationException
getRasterKeyProperties
in interface IImageServer4
rID
- The rID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IImageServerIdentifyResults identifyAll(IGeometry pLocations, IMosaicRule pMosaicRule, IPoint pCellsize, IRenderingRule pRenderingRule, String options) throws IOException, AutomationException
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
identifyAll
in interface IImageServer4
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IImageView getView(String vID) throws IOException, AutomationException
getView
in interface IImageServer4
vID
- The vID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IImageServerEditResult createView(IImageView pView) throws IOException, AutomationException
createView
in interface IImageServer4
pView
- A reference to a com.esri.arcgis.carto.IImageView (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IImageServerEditResults updateView(String vID, IFIDSet pAddIDs, IFIDSet pDeleteIDs) throws IOException, AutomationException
updateView
in interface IImageServer4
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IImageServerEditResult deleteView(String vID) throws IOException, AutomationException
deleteView
in interface IImageServer4
vID
- The vID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public Object execute(String name, Object argument) throws IOException, AutomationException
execute
in interface IImageServer4
name
- The name (in)argument
- A Variant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void initialize(String fullName) throws IOException, AutomationException
Initializes an ImageServer from a full path name to the data.
initialize
in interface IImageServerInit
fullName
- 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 IImageServerInit
pDataset
- 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 IImageServerInit
serviceURL
- 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 IImageServerInit
ppName
- 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 IImageServerInit
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setOutputDirectory(String pPath) throws IOException, AutomationException
setOutputDirectory
in interface IImageServerInit2
pPath
- The pPath (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getOutputDirectory() throws IOException, AutomationException
getOutputDirectory
in interface IImageServerInit2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setVirtualOutputDirectory(String pPath) throws IOException, AutomationException
setVirtualOutputDirectory
in interface IImageServerInit2
pPath
- The pPath (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getVirtualOutputDirectory() throws IOException, AutomationException
getVirtualOutputDirectory
in interface IImageServerInit2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setDownloadDirectory(String pPath) throws IOException, AutomationException
setDownloadDirectory
in interface IImageServerInit2
pPath
- The pPath (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getDownloadDirectory() throws IOException, AutomationException
getDownloadDirectory
in interface IImageServerInit2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setVirtualDownloadDirectory(String pPath) throws IOException, AutomationException
setVirtualDownloadDirectory
in interface IImageServerInit2
pPath
- The pPath (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getVirtualDownloadDirectory() throws IOException, AutomationException
getVirtualDownloadDirectory
in interface IImageServerInit2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setDynamicImageWorkspace(String pPath) throws IOException, AutomationException
setDynamicImageWorkspace
in interface IImageServerInit2
pPath
- The pPath (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getDynamicImageWorkspace() throws IOException, AutomationException
getDynamicImageWorkspace
in interface IImageServerInit2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setExcludedFields(String pExcludedFields) throws IOException, AutomationException
setExcludedFields
in interface IImageServerInit2
pExcludedFields
- The pExcludedFields (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getExcludedFields() throws IOException, AutomationException
getExcludedFields
in interface IImageServerInit2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getMaxRecordCount() throws IOException, AutomationException
getMaxRecordCount
in interface IImageServerInit2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setMaxRecordCount(int count) throws IOException, AutomationException
setMaxRecordCount
in interface IImageServerInit2
count
- The count (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getMaxImageWidth() throws IOException, AutomationException
getMaxImageWidth
in interface IImageServerInit2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setMaxImageWidth(int width) throws IOException, AutomationException
setMaxImageWidth
in interface IImageServerInit2
width
- The width (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getMaxImageHeight() throws IOException, AutomationException
getMaxImageHeight
in interface IImageServerInit2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setMaxImageHeight(int height) throws IOException, AutomationException
setMaxImageHeight
in interface IImageServerInit2
height
- The height (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setAllowedFields(String pAllowedFields) throws IOException, AutomationException
Use a comma delimited string for multiple allowed fields.
setAllowedFields
in interface IImageServerInit2
pAllowedFields
- The pAllowedFields (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getAllowedFields() throws IOException, AutomationException
getAllowedFields
in interface IImageServerInit2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setAllowedCompressions(String pAllowedCompressions) throws IOException, AutomationException
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.
setAllowedCompressions
in interface IImageServerInit2
pAllowedCompressions
- The pAllowedCompressions (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getAllowedCompressions() throws IOException, AutomationException
getAllowedCompressions
in interface IImageServerInit2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setAllowedMosaicMethods(String pAllowedMosaicMethods) throws IOException, AutomationException
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.
setAllowedMosaicMethods
in interface IImageServerInit2
pAllowedMosaicMethods
- The pAllowedMosaicMethods (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getAllowedMosaicMethods() throws IOException, AutomationException
getAllowedMosaicMethods
in interface IImageServerInit2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setAllowedItemMetadata(String pAllowedItemMetadata) throws IOException, AutomationException
The AllowedItemMetadata property takes one from the following: "None", "Basic", "Full".
setAllowedItemMetadata
in interface IImageServerInit2
pAllowedItemMetadata
- The pAllowedItemMetadata (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getAllowedItemMetadata() throws IOException, AutomationException
getAllowedItemMetadata
in interface IImageServerInit2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getConfigurationName() throws IOException, AutomationException
getConfigurationName
in interface IServerObject
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getTypeName() throws IOException, AutomationException
getTypeName
in interface IServerObject
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void construct(IPropertySet props) throws IOException, AutomationException
construct
in interface IObjectConstruct
props
- 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 IRequestHandler
request
- 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 IRequestHandler
capabilities
- 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 IRequestHandler2
capabilities
- 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 ILogSupport
log
- 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 IObjectActivate
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void deactivate() throws IOException, AutomationException
deactivate
in interface IObjectActivate
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IServerObjectExtension findExtensionByCLSID(String cLSID) throws IOException, AutomationException
findExtensionByCLSID
in interface IServerObjectExtensionManager
cLSID
- 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 IServerObjectExtensionManager
name
- 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 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.public IMosaicDataset getMosaicDataset() throws IOException, AutomationException
getMosaicDataset
in interface IImageServerObjects
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IRasterDataset getRasterDataset() throws IOException, AutomationException
getRasterDataset
in interface IImageServerObjects
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IRaster getRaster() throws IOException, AutomationException
getRaster
in interface IImageServerObjects
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITimeTableDefinition getTimeDefinition() throws IOException, AutomationException
getTimeDefinition
in interface IImageServerObjects
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public byte[] handleRESTRequest(String capabilities, String resourceName, String operationName, String operationInput, String outputFormat, String requestProperties, String[] responseProperties) throws IOException, AutomationException
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
handleRESTRequest
in interface IRESTRequestHandler
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getSchema() throws IOException, AutomationException
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"]
}
]
}
]
}
getSchema
in interface IRESTRequestHandler
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 |