|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.controls.ARLayer
public class ARLayer
ARLayer object.
ARLayer objects display geographic information in ARMap objects and represent all types of data including feature layers and raster layers. An ARLayer doesn’t store the actual geographic data; it references the data contained in coverages, shapefiles, geodatabases, images, grids, and so on, then defines how to display this geographic data. The IARLayer interface provides and properties and methods for getting layer properties, and searching and querying for features within the layer.
ARLayer objects do not currently represent graphics layers. This is a known limit at the ArcGIS 9.2 software release.
Constructor Summary | |
---|---|
ARLayer(Object obj)
Construct a ARLayer using a reference to such an object returned from ArcGIS Engine or Server. |
Method Summary | |
---|---|
boolean |
equals(Object o)
Compare this object with another |
int |
getARLayerCount()
The number of child layers in a group layer. |
IARLayer |
getChildARLayer(int index)
The child layer at the specifid index of a group layer. |
Object |
getCustomProperty()
A property to associate data with an object. |
String |
getDescription()
The description of the layer. |
void |
getExtent(double[] xMin,
double[] yMin,
double[] xMax,
double[] yMax)
The extent of the data within the layer. |
Object |
getInternalObject()
The internal ArcObjects ILayer object. |
double |
getMaximumScale()
Maximum scale (representative fraction) at which the layer will display. |
double |
getMinimumScale()
Minimum scale (representative fraction) at which the layer will display. |
String |
getName()
The name of the layer. |
String |
getType()
The description of the type of layer. |
int |
hashCode()
the hashcode for this object |
boolean |
isCached()
Indicates if the layer has its own display cache. |
boolean |
isGroupLayer()
Indicates if the layer is a group of layers behaving like a single layer. |
boolean |
isHyperlinks()
Indicates if the layer contains hyperlinks. |
boolean |
isSearchable()
Indicates if the layer is searchable (only feature layers are searchable). |
boolean |
isVisible()
Indicates if the layer is currently visible. |
IARFeatureSet |
queryARFeatures(IARSearchDef pSearchDef)
Searches the layer using a search definition and returns an ARFeatureSet. |
IARFeatureCursor |
searchARFeatures(IARSearchDef pSearchDef)
Searches the layer using a search definition and returns an ARFeatureCursor. |
void |
setCustomProperty(Object pVal)
A property to associate data with an object. |
void |
setVisible(boolean visible)
Indicates if the layer is currently visible. |
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 ARLayer(Object obj) throws IOException
obj
to ARLayer
. *
ARLayer o = (ARLayer)obj; // will not work
ARLayer o = new ARLayer(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server
IOException
- if there are interop problems
ARLayer theARLayer = (ARLayer) obj;
Method Detail |
---|
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
public String getName() throws IOException, AutomationException
The Name of the layer. This is the name that appears in the Table of Contents (TOC) on the left hand side of the ArcReaderControl.
getName
in interface IARLayer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isHyperlinks() throws IOException, AutomationException
The Hyperlinks property indicates whether any of the layer's field's contains hyperlinks.
Hyperlinks will only be accessible if the currently loaded document was published with permission to view hyperlinks. Use the IARControl::HasDocumentPermission method to determine this.
isHyperlinks
in interface IARLayer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setVisible(boolean visible) throws IOException, AutomationException
setVisible
in interface IARLayer
visible
- The visible (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isVisible() throws IOException, AutomationException
The Visible property specifies whether the layer is visible in the IARControl::CurrentView.
Setting the Visible property will return an error if the currently loaded document was not published with permission to ChangeLayerVisibility. Use the IARControl::HasDocumentPermission method to determine this.
isVisible
in interface IARLayer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getMaximumScale() throws IOException, AutomationException
When working with the ArcReaderControl, the MaximumScale property specifies the maximum MapScale at which the layer will be displayed. When working with the ArcReaderGlobeControl, the MaximumScale property specifies the maximum Elevation at which the layer will be displayed. If the layer is not drawn on the screen, the layers check box in the Table of Contents (TOC) will be greyed out.
getMaximumScale
in interface IARLayer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getMinimumScale() throws IOException, AutomationException
When working with the ArcReaderControl, the MinimumScale property specifies the minimum MapScale at which the layer will be displayed. When working with the ArcReaderGlobeControl, the MinimumScale property specifies the minimum Elevation at which the layer will be displayed. If the layer is not drawn on the screen, the layers check box in the Table of Contents (TOC) will be greyed out.
getMinimumScale
in interface IARLayer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isCached() throws IOException, AutomationException
The Cached property specifies whether the layer has its own cache for display purposes.
A cache is an off screen bitmap representing an application's window. Instead of drawing directly onto the screen, graphics are drawn into caches which are then drawn onto the screen. When an application's window becomes obscured and requires redrawing, it done so from a cache rather than a database. This improves drawing performance as bitmap rendering is faster than reading and displaying data from a database.
In general an ARMap creates a single cache for all of its layers. Setting the Cached property to true creates a private cache for the layer. In this case, the ARMap will create separate caches for any layers above and below the layer.
isCached
in interface IARLayer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isGroupLayer() throws IOException, AutomationException
The IsGroupLayer property indicates whether the layer is made up of a collection of layers that behave like a single layer.
At the time of publishing a document, several layers may have been gathered together into a group layer, which behaves like a single layer. Suppose you have two layers on a map, with one representing rivers and the other lakes. You might choose to group these layers together and name the resulting layer “water systems”. Using the Visible property to turn off the group layer would turn off all component child layers. As such, the properties of the group layer override any conflicting properties of its child layers. To work with an individual child layer within the group use the ChildARLayer in conjunction with the ARLayerCount property.
isGroupLayer
in interface IARLayer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.com.esri.arcgis.publishercontrols.IARLayer#getARLayerCount()
,
com.esri.arcgis.publishercontrols.IARLayer#getChildARLayer(int)
public int getARLayerCount() throws IOException, AutomationException
The ARLayerCount property indicates the number of layers making up a group layer. Use the IsGroupLayer property to determine if a layer is a group layer.
The ARLayerCount does not include graphics layers (this may include layers authored in 3rd party software, for example, SketchUp layers).
getARLayerCount
in interface IARLayer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.com.esri.arcgis.publishercontrols.IARLayer#getChildARLayer(int)
,
com.esri.arcgis.publishercontrols.IARLayer
public IARLayer getChildARLayer(int index) throws IOException, AutomationException
getChildARLayer
in interface IARLayer
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IARFeatureCursor searchARFeatures(IARSearchDef pSearchDef) throws IOException, AutomationException
Searches the ARLayer based upon an attribute or spatial query as defined by the ArcReaderSearchDef. The ARLayer must be Searchable.
Use the ARFeatureCursor to retrieve each ARFeature one at a time. If there are no ARFeature objects matching the query the first IARFeatureCursor::NextARFeature will return nothing.
The SearchARFeatures method will return an error if the currently loaded document was not published with permission to QueryFeatures. Use the IARControl::HasDocumentPermission method to determine this.
If there is an error with the query, such as ill-formed SQL, the error returned will contain an error description from the underlying database.
searchARFeatures
in interface IARLayer
pSearchDef
- A reference to a com.esri.arcgis.controls.IARSearchDef (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getDescription() throws IOException, AutomationException
A description of the layer set by the publisher of the Published Map File. For example, an ARLayer with the Name 'water' may have the Description 'Upland river system, surveyed in 1990'.
getDescription
in interface IARLayer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isSearchable() throws IOException, AutomationException
The Searchable property indicates whether the layer can be searched and queried, using the SearchARFeatures and QueryARFeatures methods. Only feature layers can be searched.
isSearchable
in interface IARLayer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public Object getInternalObject() throws IOException, AutomationException
Use the InternalObject property to access the underlying ILayer object. This property is always inaccessible.
Getting the InternalObject property will return an error if no license is available and if the currently loaded document was not published with permission to access InternalObjects. Use the IARControl::HasDocumentPermission method to determine this.
getInternalObject
in interface IARLayer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getExtent(double[] xMin, double[] yMin, double[] xMax, double[] yMax) throws IOException, AutomationException
Returns the xmin, ymin, xmax and ymax coordinates of the full extent of data in the ARLayer in MapUnits.
To zoom to the extent of an ARLayer pass the IARMap::SetExtent method the coordinates returned from the GetExtent method.
getExtent
in interface IARLayer
xMin
- The xMin (in/out: use single element array)yMin
- The yMin (in/out: use single element array)xMax
- The xMax (in/out: use single element array)yMax
- The yMax (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public Object getCustomProperty() throws IOException, AutomationException
Use the CustomProperty to associate any useful data with the ARLayer. This is similar to a 'Tag' property, and can be use to store strings, numbers and objects.
getCustomProperty
in interface IARLayer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setCustomProperty(Object pVal) throws IOException, AutomationException
setCustomProperty
in interface IARLayer
pVal
- A Variant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getType() throws IOException, AutomationException
Returns the type of ARLayer. For example, 'FeatureLayer' or 'RasterLayer'.
getType
in interface IARLayer
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IARFeatureSet queryARFeatures(IARSearchDef pSearchDef) throws IOException, AutomationException
Queries the ARLayer based upon an attribute or spatial query as defined by the ArcReaderSearchDef. The ARLayer must be Searchable.
All ARFeature objects matching the query are instantiated in the ARFeatureSet. If the number of features could be very large, this may not be desirable as it may result in a long delay and consume a large amount of memory. Instead use the SearchARFeatures method. If there are no features matching the query the IARFeatureSet::ARFeatureCount property will return 0.
The QueryARFeatures method will return an error if the currently loaded document was not published with permission to QueryFeatures. Use the IARControl::HasDocumentPermission method to determine this.
If there is an error with the query, such as ill-formed SQL, the error returned will contain an error description from the underlying database.
queryARFeatures
in interface IARLayer
pSearchDef
- A reference to a com.esri.arcgis.controls.IARSearchDef (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 |