Customizing Java Connector
Customizing Java Connector
The information contained in this document is the exclusive property of ESRI. This work is protected under United States copyright law
and the copyright laws of the given countries of origin and applicable international laws, treaties, and/or conventions. No part of this
work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying or recording, or
by any information storage or retrieval system, except as expressly permitted in writing by ESRI. All requests should be sent to
Attention: Contracts Manager, ESRI, 380 New York Street, Redlands, CA 92373-8100, USA.
The information contained in this document is subject to change without notice.
Getting started 9
Installing the Java Connector 10
Java Connector samples 11
Quick-start tutorial 12
v
chartSymbol 62
chartValue 65
coordSys 68
createDocument 71
createLayer 74
createService 77
createVirtualServer 81
dataset 84
datasetProperty 87
deleteDocument 89
densify 91
displayFeatures 93
documentInfo 95
envelope 97
exact 99
extractOutput 102
featureCoordSys 104
filter 107
filterCoordSys 115
getContainerAttribute 118
getElement 121
getInputAttribute 124
getLayerAttribute 127
getLayerId 129
getLayout 131
getMetadataDocument 133
getRasterInfo 135
getResultAttribute 137
getServer 139
getService 142
getServiceAttribute 145
getServices 148
getSettings 151
getUUID 153
vi
getVirtualServer 155
getVirtualServerAttribute 158
getVirtualServers 160
gradientFillSymbol 162
groupRenderer 164
hashLineSymbol 166
hideLayer 169
hole 171
httpConnection 173
imageWorkspace 175
iterateAddressMatchInputs 177
iterateAddressMatchResults 181
iterateContainersForServer 184
iterateContentType 187
iterateDataframe 190
iterateEnvelope 192
iterateGeometry 194
iterateLayers 196
iterateMetadata 198
iterateRasterInfo 201
iterateRecordset 203
iterateServices 205
iterateTableDesc 208
iterateVirtualServers 210
layer 212
legend 214
legendOutput 217
line 219
loadElements 221
map 224
mapOutput 228
mapService 230
metadataChild 232
vii
metadataSibling 234
moveLayer 236
moveLayerToBottom 238
moveLayerToTop 240
nestedSearch 242
northArrow 244
other 247
pan 249
point 251
polygon 253
publishDocument 255
putMetadataRelationship 257
putMetadataSemantic 259
range 261
rasterFillSymbol 264
rasterMarkerSymbol 266
rasterShieldSymbol 269
recordset 272
removeLayer 274
removeVirtualServer 276
request 278
scalebar 280
scaleDependentRenderer 284
sdeWorkspace 287
search 290
searchEnvelope 294
semanticPair 296
separators 298
setInput 301
shapeWorkspace 303
shieldSymbol 305
simpleLabelRenderer 307
simpleLineSymbol 312
viii
simpleMarkerSymbol 315
simplePolygonSymbol 318
simpleRenderer 322
siteSave 324
siteUser 326
subset 328
targetLayer 330
tcpConnection 332
text 334
textMarkerSymbol 336
textQuery 339
textSymbol 342
trueTypeMarkerSymbol 345
updated 349
validateConnection 351
valueMapLabelRenderer 353
valueMapRenderer 358
valueQuery 360
zoom 363
zoomFullExtent 365
Appendix 366
What happens to my AppServerLink applications in ArcIMS 4.0? 366
ix
Introducing the Java Connector
IN THIS CHAPTER
1
ESRI® ArcIMS® 4 software provides a suite of tools that allow you to create
effective Web sites for your mapping and geographic information system
• ArcIMS Application Server Con- (GIS) needs. ArcIMS provides the foundation for the graphical and functional
nectors components of these Web sites. You can build on this foundation through
• What is the Java Connector?
customization of the ArcIMS viewers.
Customizing ArcIMS is a series of programming reference books that
• Features describes customizing the HTML and JavaTM Viewers and creating viewers or
• Who should use the Java Connec-
applications supported by the Java, ActiveX®, and ColdFusion® Connectors.
tor? This book explains the ArcIMS Java Connector and provides a complete
reference to the Java Connector Object Model and Java Connector Tag
• Java Connector Object Model and Library.
Tag Library
This book assumes you have a working knowledge of JavaServer PagesTM
• Information resources (JSPTM) technology, the Java language, and HTML.
1
ArcIMS Application Server Connectors
The ArcIMS Application Server Connectors connect the Web server to the ArcIMS Application Server. The ArcIMS Servlet Connector
is the standard connector used with ArcIMS. Several alternatives to the ArcIMS Servlet Connector exist. They are
• Java Connector
• ColdFusion Connector
• ActiveX Connector
You can select a suitable Application Server Connector based on your development environment. The connectors reside on the Web
server computer. Each Web server can have many Application Server Connectors as long as they are different types.
The Java Connector communicates with the ArcIMS Application Server via a JSP client or a standalone Java application. The
ColdFusion and ActiveX Connectors work with custom clients and translate their own languages into ArcXML. For more information
about the ActiveX and ColdFusion Connectors, see the respective Customizing ArcIMS series of books.
For example, suppose you’ve created a simple data browsing application that allows a user to pan and zoom around a map. To zoom in,
the user pushes a button on your application’s user interface. Your application translates that button press as an ArcXML request that
gets sent via the Java Connector to the Application Server, which in turn passes it to the Spatial Server for processing. Based on this
request, the Spatial Server generates a new zoomed-in display of the area of interest and informs the Application Server that the request
has been processed. Your application can then display the new image back to the user.
9
Installing the Java Connector
You can install the Java Connector, associated samples, and
documents by performing a custom install from the ArcIMS CD.
For step-by-step instructions on installing the Java Connector,
see the section ‘Step 3: Install ArcIMS: ArcIMS custom
Application Server Connectors’ in the ArcIMS Installation
Guide.
The samples (both JavaBeans and Tag implementations) Sample 5.2: Demonstrates a simple Line Symbol.
demonstrate the following: Sample 5.3: Demonstrates a Gradient Fill Symbol.
Sample 5.4: Demonstrates a Hash Line Symbol.
Sample 5.5: Demonstrates a Value Map Renderer (range).
Sample 5.6: Demonstrates a Value Map Renderer (exact).
GETTING STARTED 11
Quick-start tutorial
This section introduces you to the key steps involved in creating • Create a subdirectory ‘classes’ under ‘arcims_tutorial/WEB-
a Web application using the Java Connector. During this tutorial, INF’ directory. The container will look in this directory for classes
you will learn how to: used in the Web application.
• Setup your development environment • Create a subdirectory ‘lib’ under ‘arcims_tutorial/WEB-INF’
• Create a Web application descriptor file—web.xml directory. The container will look in this directory for class
• Create a Web application by using the Object Model beans or libraries used in the Web application.
the Tag Library
Step 2: Creating the Web application descriptor
• Deploy your Web application file—web.xml
• Display your Map
In order for the Web server/servlet engine’s JSP container to
understand the tutorial application, you need to describe it. This
Step 1: Setting up your development environment
is done in a Web application descriptor file—web.xml, which
You need to setup the development environment before you start resides in the ‘WEB-INF’ directory of the application. This file
the tutorial. This tutorial will consist of an unpacked Web holds configuration information about your Web application.
application. In this section, you will create ‘web.xml’ and copy it into the
The file structure that holds the tutorial Web application should ‘WEB-INF’ directory. You will setup this file with minimum
look like this: configuration settings only. Refer to http://java.sun.com/j2ee/
dtds/web-app_2_2.dtd for more details.
1. Using a text editor, create a new file—web.xml—and save it in
‘/arcims_tutorial/WEB-INF/’directory. Enter the following
content.
The Java Connector Object Model is contained within a ‘Java 4. In map.jsp, type the following:
ARchive (JAR)’ file—arcims_jconnect.jar. There are three more <html>
dependent JAR files—jsse.jar, jnet.jar, and jcert.jar, which are <head><title>
provided by Sun Microsystems, Inc. The Java Connector uses ArcIMS Java Connector Tutorial
‘xerces 1.3.1’ for parsing XML. </title></head>
Note: For detailed information on the methods and classes in the <body>
ArcIMS Java Connector Object Model, see the Javadoc- The above lines start an HTML part of the JSP file, set its title,
generated HTML reference—ArcIMS Java Connector Object and open a body tag.
Model API Specification, located in <ArcIMS Installation
Directory>/Documentation/Java_Connector/
api_reference.htm.
GETTING STARTED 13
5. Set the connection information for the ConnectionProxy object <table border=’0’>
by including the following lines of codes in map.jsp: <tr><td>
<img src=<%=map.getMapOutput().getURL()%>
<% >
//set Connection information </td><td>
connection.setConnectionType(“tcp”); <img
connection.setHost(“localhost”); src=<%=map.getLegend().getLegendOutput().getURL()%>
connection.setPort(5300); >
</td></tr>
connection.setService(“SantaClara”);
</table>
The ConnectionProxy object is the entry point into the Object </body>
Model. The above code sets the ConnectionProxy’s type to TCP, </html>
host to localhost, port to 5300, and service to SantaClara.
The URL output generated by refreshing the map is used to
6. Set the properties of the map like width and height by adding display the map and legend.
the following lines of code in map.jsp:
8. Save and close your file.
//set map properties See ‘Step 4: Deploying your Web application’ to deploy your
map.setHeight(400); Web application.
map.setWidth(400);
map.setBackground(“220,165,63”);
Creating a Web application using the Tag Library
map.initMap(connection,750,false,false,false,false);
map.refresh(); The Java Connector Tag Library is a collection of custom JSP tag
%> elements. The Tag Library Descriptor (TLD) file is named as
The background color is set in RGB values. You can set ‘arcims_taglib.tld’.
additional properties to the Map object; only a few are set here. 1. Locate arcims_taglib.tld in <ArcIMS installation
The Map object is then initialized with the connection object and directory>/Connectors/Java_Connector directory and
with a dpi of 750. The envelope, renderers, recordset, and copy it into ‘/arcims_tutorial/WEB-INF/lib’ directory.
extensions are not initialized. The map is refreshed to create a 2. Open the file web.xml from ‘/arcims_tutorial/WEB-INF/’
URL output with the latest properties set on the Map object. directory and add the following lines above the tag </web-app>,
7. Continue to add the following lines of code in Map.jsp:
GETTING STARTED 15
Step 4: Deploying your Web application • In the left panel under Servlets, click Configure and verify that
JSP10Servlet has been loaded.
In this section, refer to your platform, Web server, and servlet
engine combination for instructions on deploying your Web • In the left panel under Servlets, click Aliases and verify that
application. For more configurations, refer to ‘Step 3: Configuring there is an entry for *.jsp that points to JSP10Servlet.
your Web server and servlet engine’ section in the document JSP 2. Open ServletExec Admin.
Samples Installation and Setup Guide, located in <ArcIMS
3. In the left panel under Web Applications, click Configure.
Installation Directory>Samples/Java/
readme_samples file. 4. Click Add Web Application.
Note: 5. Choose an Application Name such as ‘ArcIMS Tutorial’.
1. Some Web server/servlet engines require you to package the 6. Enter a name for the URL Context Path. This is the name you
application into an archive (*.war) file before deploying. will use to run the samples (For example, ‘/tutorial/’).
2. The Web application name and virtual directory name used in Note: The context path—‘/tutorial/’ in this case—is case
this document is ‘tutorial’. You can change this name. sensitive. If you want to access ‘tutorial’ with mixed/upper case
names, you might want to create more than one Web application
Apache 1.3.x and Tomcat 3.2.x (for UNIX and Windows) with context path names such as ‘Tutorial’ or ‘TUTORIAL’
pointing to the same location ‘<full path to the arcims_tutorial
1. Copy the folder ‘/arcims_tutorial’ into <Jakarta-Tomcat
directory>’.
Installation Directory>/webapps directory.
2. Open <Apache installation directory>/conf/httpd.conf in a text 7. Enter the full path to arcims_tutorial directory under Location.
editor. 8. Restart both IIS and ServletExec.
3. Search for the alias section and add a new alias pointing to
IIS and Tomcat 3.2.x
‘arcims_tutorial’ directory.
Alias /tutorial ”<Full path to 1. Copy the folder ‘/arcims_tutorial’ into <Jakarta-Tomcat
arcims_tutorial directory>” Installation Directory>/webapps directory.
4. Save and close the file. 2. In the IIS Console, add a new virtual directory called tutorial.
5. Restart both Apache and Tomcat. To add virtual directories to IIS:
• Open the IIS Internet Service Manager.
IIS and ServletExec 3.1 or 4.0
• Under your localhost name, find the Default Web Site. Click to
1. Verify that ServletExec is configured for JSP by doing the highlight it.
following:
• Click Action in the toolbar.
• Open ServletExec via http://localhost/servlet/admin.
4. Restart both IIS and Tomcat. Note 1: Make sure you specify a valid directory path for web-app.
Invalid entries will prevent your iPlanet Web Server from starting.
iPlanet 6.0 Note 2: The context path—‘/tutorial/’ in this case—is case
1. Verify that iPlanet has JSP enabled and is pointing to the sensitive. If you want to access ‘tutorial’ with mixed/upper case
correct Java 2 SDK compiler by doing the following: names you might want to create more than one Web application
with context path names such as ‘Tutorial’ or ‘TUTORIAL’
• Open iPlanet Web Server Administration Server via http:// pointing to the same location ‘<Full path to arcims_tutorial
localhost:<port number>. Alternately, if you already
directory>’.
have iPlanet’s Web Server Administration Server open, select
Web Server Administration Server from the Server Manager 4. Restart the iPlanet Web Server.
menu at the top of your browser window.
Step 5: Displaying your Map
• Click Global Settings from the top navigation bar.
To display the Map that you created in this tutorial:
• In the left panel, click Configure JRE/JDK Paths.
1. Make sure your Web server/servlet engine and ArcIMS are
• Choose JDK.
running.
• Specify the Java 2 SDK path. For example, /<JDK
2. To display the Java Connector Object Model bean tutorial,
installation directory>/jdk1.3.x.
open the URL <http://localhost/tutorial/source/map.jsp> in your
Note: The libpath and classpath can be left blank.
Web browser.
GETTING STARTED 17
3. To display the Java Connector Tag Library tutorial, open the
URL <http://localhost/tutorial/source/maptag.jsp> in your Web
browser.
Congratulations! You have created your first Web application
using the Java Connector.
19
About the API Specification document
The ArcIMS Java Connector Object Model API Specification document is a javadoc-generated HTML reference that is available as a
documentation option during a custom install of ArcIMS. The Application Programming Interface (API) Specification document
provides complete details on all packages, classes, interfaces, exceptions, and methods that are available in the Java Connector Object
Model.
Overview
The Overview page is the front page of this API document and provides a list of all packages with a summary for each.
Frames/No Frames
These links show and hide the HTML frames. All pages are
available with or without frames.
28
JSP Tag Library Conventions
The JSP Tag Library structure includes the tag name, attributes, and any nested tags.
Tag Name
Attributes
1. Attributes are case sensitive. If the attribute is required, it is bold. A definition of each attribute is found in the attribute table for the tag.
2. If an attribute has a defined list of valid values, all possible values are listed. Only one value can be used at a time. Attribute values are always placed
inside of double quotes (").
3. If the attribute has a default value, it is listed in brackets after the attribute list or type.
4. If an attribute does not have a list of known values, the value type is listed such as double, integer, and string.
1. Nested tags are case sensitivie. If a nested tag is required, it is bold. Each nested tag is linked to the corresponding page describing that tag.
2. Some nested tags can be used multiple times. If this is the case, the letter "m" in parentheses (m) is in front of the tag.
3. In some cases, special instructions are given in brackets after the element. The most common scenario is when a group of nested tags is listed but only
one tag can be used. In this example, [Or] means to select one tag from the group. More details are given in the Restrictions section to explain special
instructions.
<aims:acetateObject
<coordSys... />
<line... />
<northArrow... />
<point... />
<polygon... />
<scalebar... />
<text ... />
</aims:acetateObject >
Description:
Defines the scale thresholds and units of an object to be placed on an acetate layer.
Restrictions:
None
<aims:acetateObject...>
<aims:coordSys.../>
...
</aims:acetateObject>
• Pixel. Refers to positioning an object using x,y coordinates in pixels. The pixels along the left edge of the map frame
have an x-coordinate of zero. The pixels along the bottom edge have a y-coordinate of zero. /UL>
upper Maximum scale to display Acetate Object using a relative scale such as 1:24000. Scale can also be calculated as the number of
map units per pixel.
<aims:addRelevance
No Child Elements
</aims:addRelevance >
Description:
Sends a request to the server to increment a particular document's relevance.
Restrictions:
None
Notes:
None
<aims:tcpConnection id="myConnection" host="<%= hostName %>" port="<%= portNumber %>" debug="true" />
<aims:addressMatchInputs
</aims:addressMatchInputs >
Description:
Reads in the address match inputs from the GET_GEOCODE request and sets a value for the matching ID.
Restrictions:
• AddressMatchInputs must be nested in a layer that contains a geocoding index.
Notes:
• LoadExtensions must be set to "true" in aims:mapService to read in the inputs.
<tr><td>
<b>INPUT count is: <%=myCount%></b><br>
minScore is: <%=myMinScore%><br>
maxCandidates is: <%=myMax%><br>
style is: <%=myStyle%>
</td></tr>
<tr><td>
<br><b>RESULT count is: <%=resultsCount%></b>
</td></tr></table>
</aims:layer>
</aims:map>
<aims:adminServer
No Child Elements
</aims:adminServer >
Description:
Administers the ArcIMS Spatial Servers for a server machine.
Restrictions:
None
Notes:
None
<%=myId%>
<aims:adminService
No Child Elements
</aims:adminService >
Description:
Administers a service from a site.
Restrictions:
None
Notes:
• The service attribute can be retrieved from aims:getService, getServices, or createService. A Service or ServiceCollection object is returned.
<aims:arcMapService
<envelope... />
</aims:arcMapService >
Description:
Reads initial values from an ArcMap Image Service such as envelopes, layout information, and database field names.
Notes:
• When using aims:envelope as a nested tag, the units are in page units rather than map units. This envelope is referencing an ArcMap layout rather than a
map.
• For reading initial values from an Image Service, see aims:mapService.
</aims:iterateDataframe>
<aims:browse
No Child Elements
</aims:browse >
Description:
Returns a subset of documents.
Notes:
None
<aims:tcpConnection id="myConnection" host="<%= hostName %>" port="<%= portNumber %>" debug="true" />
<%-- Iterate through the list of children, printing out for each their name --%>
<% if (browseChildren.size() > 0) { // print selected folder's children %>
</aims:iterateMetadata>
<% } %>
<aims:buffer
<bufferLayer... />
<targetLayer... />
</aims:buffer >
Description:
Builds a buffer region around selected features.
Restrictions:
• Aims:filter used in aims:buffer cannot contain another buffer inside.
• Known limitation with the Java Connector. When using a target layer, the target layer cannot be the same layer as the buffer layer. This limitation is
with the Java Connector and not with ArcXML. Using ArcXML, the target and buffer layers can be the same.
• Known limitation with the Java Connector. A spatial filter cannot be buffered. For example, a point, line, polygon, or envelope generated on-the-fly
cannot be buffered. This limitation is with the Java Connector and not with ArcXML. Using ArcXML, a spatial filter can be buffered.
• Known limitation with the Java Connector Tag Library. When using subfields in aims:filter, the subfields are ignored when using aims:buffer. All
fields are returned.
Notes:
• Aims:buffer can be used two ways:
To buffer a region around one or more selected features, use aims:buffer inside
aims:filter. In this example, the Colorado River is buffered.
Example 2: When displaying a buffer on a map along with selected features in the target layer.
<%@page contentType="text/html"%>
<%@taglib uri="arcims_taglib.tld" prefix="aims" %>
<html>
<head><title>buffFeature.jsp</title></head>
<body>
<%--Buffer Belgium 100 miles and select all the cities within.--%>
<bufferLayer >
No Attributes
</aims:bufferLayer >
Description:
Main tag for setting up buffer layer properties.
Restrictions:
• Only one symbol can be used per request.
Notes:
None
<aims:calloutMarkerSymbol
Description:
Creates a callout box around each label.
Restrictions:
• This symbol only works with point layers.
• Outline and glowing should not be used together; use one or the other.
• Not valid with ArcMap Server.
Notes:
None
<aims:chartSymbol
</aims:chartSymbol >
Description:
Symbolizes features with bar or pie diagrams.
Although chart symbols draw on the map, no information about the chart symbols is displayed in the legend. ArcIMS 4 does not support
displaying chart values in the legend.
One of the three options must be used or no charts are drawn. Size ranks first in priority, and it takes precedence over the other attributes even if they are
included. SizeField is second in priority, and it takes precedence over the other attributes if size is not present. MinSize, maxSize, minValue, and
maxValue rank third in priority and are acknowledged only when size and sizeField are not present.
• Not valid with ArcMap Server.
Notes:
• A field listed in aims:chartSymbol sizeField must also be listed in aims:simpleLabelRenderer field or aims:valueMapLabelRenderer labelField.
• The attributes minSize and maxSize determine the minimum and maximum size of a chart, respectively. For each feature, the size of the chart is relative
to other features based on the minimum and maximum values. These values are set using minValue and maxValue.
If a feature has a value less than or equal to minValue, then the chart is drawn at minSize. If a feature has a value greater than or equal to maxValue, then
the chart is drawn at maxSize. In the following example, the values are based on population. If a feature has a population less than or equal to 10,000,
then the size of the chart is 10 pixels. If the feature has a population greater than or equal to 200,000, then the size of the chart is 50 pixels.
All other features are assigned a chart size between 10 and 50 pixels based on population. A feature with a population of 100,000 will have a chart
approximately 30 pixels in size. A feature with a population of 1,000,000 is assigned a chart size of 50 pixels since that is the maximum size allowed
using maxSize.
• If the size assigned to a chart is very large, the chart may not display. If you find that no charts are displaying, try a smaller chart size.
<aims:chartValue
No Child Elements
</aims:chartValue >
Description:
Sets which fields are used in pie and bar diagrams.
Although chart symbols draw on the map, no information about the chart symbols is displayed in the legend. ArcIMS 4 does not support
displaying chart values in the legend.
Restrictions:
• The attribute lookUpField is not required when value is used. It is required in all other cases.
• Not valid with ArcMap Server.
Notes:
• All fields listed in aims:chartValue lookUpField must also be listed in aims:simpleLabelRenderer field or aims:valueMapLabelRenderer labelField.
In the following example, values were calculated ahead of time for populations under 30 and 30 and over for California. These two values were then
assigned to two aims:chartValue tags. The aims:valueMapLabelRenderer labelField must be present even though it is not used. For the string to parse
properly, a valid field name in labelField must be included. If aims:simpleLabelRenderer were used, field would be used instead. Again, a valid field
name must be included. In aims:chartValue, no lookUpField is needed.
<aims:valueMapLabelRenderer lookUpField="STATE_NAME" labelField="POP1999" >
<aims:exact value="California">
<aims:chartSymbol size="50" >
<aims:chartValue color="255,0,0" value="14018000" />
<aims:chartValue color="0,0,255" value="15743000" />
</aims:chartSymbol>
</aims:exact>
</aims:valueMapLabelRenderer>
• The lookUpField order must be the same order as fields listed in aims:simpleLabelRenderer field or aims:valueMapLabelRenderer labelField.
• For shapefiles with no joined tables, the field can be referenced using the short format.
lookUpField="AREA"
• For shapefiles with joined tables, the name of the joined table must be included along with the field.
lookUpField="JOINEDTABLE.AREA"
• For ArcSDE layers without joined tables, the field can be referenced using the short format.
lookUpField="AREA"
The full long name can also be used.
lookUpField="ARCSDENAME.TABLE.AREA"
• For ArcSDE layers with joined tables, joined fields must be referenced using the full long format.
lookUpField="ARCSDENAME.TABLE.AREA"
Lower Used together with upper to determine the minimum value for drawing a chart segment.
upper Used together with lower to determine the maximum value for drawing a chart segment.
value Used to change the color of a chart segment depending on user-assigned integer values. All values within the aims:chartSymbol
group are a ratio of the sum of the values.
<aims:coordSys
No Child Elements
</aims:coordSys >
Description:
Defines the projection coordinate system of a layer. Aims:coordSys cannot be used to project a layer; its purpose is to provide the metadata for the layer.
aims:featureCoordSys and aims:filterCoordSys are used to project the layers to a specified projection.
Restrictions:
• Must use either id or string, but not both.
• For datum transformations either datumTransformId or datumTransformString is used, but not both.
• In ArcMap Image Services, datumtransformid or datumtransformstring are not valid.
PROJCS["World_Mollweide",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIME
M["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Mollweide"],PARAMETER["False_Easting",0],PARAMETER["False_
Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1]]
Once the quotes have been changed, the string looks like this:
PROJCS["World_Mollweide",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS
_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION[
"Mollweide"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Centra
l_Meridian",0],UNIT["Meter",1]]
• The attributes datumTransformId and datumTransformString are used when datum transformation information needs to be included. Only datum
transformations to and from WGS 1984 are supported.
o When these attributes are used with aims:coordSys and aims:filterCoordSys, the datum transformation is from a non-WGS 1984 datum to
WGS 1984. For example, Pulkovo_1942_To_WGS_1984 (datumtransformid="8157") transforms data from Pulkovo 1942 to WGS 1984.
o When these attributes are used with aims:featureCoordSys, the datum transformation is from WGS 1984 to a non-WGS 1984 datum. In the
above example, the datum transformation is from WGS 1984 to Pulkovo 1942.
• When using aims:coordSys in an acetate layer, it should be placed inside acetateObject rather than aims:createLayer.
• aims:coordSys can be used to designate the current projection of an image. Image layers can be projected along with feature and acetate layers.
• aims:coordSys is not needed if no datum transformation information is needed for the layer and:
o A *.prj file is available for a shapefile.
o A *.prj file is available for a coverage in ArcSDE for Coverages.
o A spatial references table is used in ArcSDE.
Datum transformation information is not included in *.prj files and spatial reference tables. Therefore, aims:coordSys must be included if a datum
transformation is needed.
• If a layer does not project, double-check that a *.prj file or spatial reference table exists for the layer. If not, aims:coordSys must be included.
<aims:createDocument
Description:
Publishes a metadata document from a client to the server.
Notes:
• The Document object returned by aims:createDocument can be used in aims:publishDocument and aims:deleteDocument.
clearinghouse Clearinghouses
docId String used to uniquely identify a document. The client used to publish the metadata is responsible for creating the document ID.
This ID is automatically assigned when using ArcCatalog. If another client is used, aims:getUUID can be used to request a valid
ID. The format for an ID is the following: {HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH} where H is a
hexadecimal digit (0-9,a-f,A-F). The ID is limited to 38 characters.
documentContent The content of the XML document associated with this dataset as a string.
folder Determines whether document represents a folder. Use "false" if the document does not contain other documents. Use "true" if
the document represents a folder.
id Returns the Document object.
maxx Maximum x-coordinate in map units.
<aims:createLayer
</aims:createLayer >
Description:
Adds a dynamic layer to a map.
Restrictions:
• Only one renderer and/or one workspace as a subtag of aims:createLayer may be used.
Notes:
• To add a shapefile, image, or ArcSDE layer, <MAP dynamic="true" > must be set in the map configuration file.
</aims:map>
<aims:createService
No Child Elements
</aims:createService >
Restrictions:
• GIF format is not supported as an output format with the ArcMap Server. GIF format can be used with the Image Server.
Notes:
None
<%
TheBean.doUpload(request);
String name = TheBean.getFieldValue("name");
String vserver = TheBean.getFieldValue("vserver");
if (description==null) description = "";
String outfile = TheBean.getFieldValue("outfile");
if (outfile==null) outfile = "";
String outurl = TheBean.getFieldValue("outurl");
if (outurl==null) outurl = "";
String imagetype = TheBean.getFieldValue("imagetype");
if (imagetype==null) imagetype = "jpeg";
String pixelcount = TheBean.getFieldValue("pixelcount");
if (pixelcount==null) pixelcount = "4";
int pixel = (Integer.parseInt(pixelcount) * 262144);
String pixelStr = Integer.toString(pixel);
String cleanupStr = TheBean.getFieldValue("cleanup");
if (cleanupStr==null) cleanupStr = "0";
<html>
<head>
<title>Adding Service - Administrator</title>
</head>
<aims:httpConnection
id="myhttpConnection"
url="http://mymachine"
//
if (TheBean.getUploadedFile().length()>0) {
} else { %>
Unable to upload file.
<% } %>
<aims:createVirtualServer
No Child Elements
</aims:createVirtualServer >
Description:
Creates a virtual server.
Restrictions:
None
Example 1:
<aims:httpConnection
id="myhttpConnection"
url="http://mymachine"
role="admin"
debug="true"
username="admin"
password="admin"
/>
<aims:createVirtualServer id="myNewServer" connectionId="<%=myhttpConnection%>" name="ImageServerArcMap2"
type="ImageServer" version="ArcMap" containers="mymachine_1,mymachine_2,mymachine_3"
<aims:dataset
No Child Elements
</aims:dataset >
Description:
Defines the dataset used in the layer.
Restrictions:
None
Notes:
• There are five different ways to access images and GRIDs as detailed in the table below.
Use all images in a directory. Images in the same Use aims:imageWorkspace; attribute directory Use *ImageDirectory for the name:
directory automatically tile if they use the same points to location of the group of images. name="*ImageDirectory"
coordinate projection and are drawn when they are
within the extent requested.
Use an image in ArcSDE. Use aims:sdeWorkspace. Name is the full ArcSDE name including the
field name where the image resides. In this
example, "REDLANDS" is the field where the
image resides:
RASTER.IMAGES.REDLANDS.
<aims:datasetProperty
No Child Elements
</aims:datasetProperty >
Description:
Used to get individual items from the results of searching or browsing the metadata repository.
Restrictions:
• The attribute dataset is not required when nested inside aims:iterateMetadata.
Notes:
• Column names added through RESPONSE_COLUMN in the map configuration file become "custom attributes" in aims:datasetProperty. For example,
if you include RESPONSE_COLUMN columnname="service_running", then in addition to the existing attributes in aims:datasetProperty, a new value
named SERVICE_RUNNING can be specified in the aims:datasetProperty value attribute.
<aims:deleteDocument
No Child Elements
</aims:deleteDocument >
Description:
Deletes a metadata document from the metadata repository.
Restrictions:
• This element can be used only by the owner established in aims:createDocument. Any other user will get an error message.
Notes:
None
<aims:densify
No Child Elements
</aims:densify >
Description:
The process of data densification adds virtual points to a layer before the layer is projected.
Restrictions:
None
Notes:
• Using aims:densify in a request can slow down the ArcIMS Spatial Server noticeably. Use only when features are missing from one or more layers in a
requested image, usually around the periphery. It is better to start with a large number for tolerance. A guideline is to start with a value about 20 to 30
percent of the distance between the minimum and maximum x-coordinates of the current map extent.
• The units for tolerance are the same as the units for the layer. For example, if the layer is in feet, the tolerance distance is in feet.
• Needed only if a layer is going to be projected. If the layer is in the same projection as the service, aims:densify does not need to be used.
</aims:map>
<img src="<%=(myMap)%>" />
<aims:displayFeatures
</aims:displayFeatures >
Description:
Selects and zooms to a specified feature or group of features on the map.
Restrictions:
• Only one symbol can be used at a time.
Notes:
None
</aims:map>
<aims:documentInfo
No Child Elements
</aims:documentInfo >
Description:
Specifies the name and/or owner of a document in the metadata repository allowing searches for all documents with a specific name or all documents
owned by a certain user.
Restrictions:
None
Notes:
None
</aims:search>
<aims:envelope
No Child Elements
</aims:envelope >
Description:
Defines the extent of a map.
Restrictions:
None
Notes:
• When using aims:envelope as a nested tag in aims:arcMapService, the units are in page units rather than map units. This envelope is referencing an
ArcMap layout rather than a map.
<aims:exact
</aims:exact >
Description:
Used with value maps for matching exact values within a specified field in the database.
Notes:
• If there are leading or trailing blanks in a field value, they will be trimmed before a comparison is made. For example, a field value of " Hello " is
interpreted as "Hello".
<aims:extractOutput
No Child Elements
</aims:extractOutput >
Description:
Defines a pathname and URL for extracted ZIP files.
Restrictions:
• ExtractOutput works with paired attributes. If one of the attributes is used, its pair is also required. The attribute pairs are listed in the table below.
Attribute Paired Attribute Filename Assignment
Notes:
<aims:featureCoordSys
No Child Elements
</aims:featureCoordSys >
Description:
The projection coordinate system to which layers in an ArcIMS service are projected.
Restrictions:
• Must use either id or string, but not both.
• For datum transformations either datumTransformId or datumTransformString is used, but not both.
• In ArcMap Image Services, datumtransformid or datumtransformstring are not valid.
Notes:
• For a complete list of supported IDs and definition strings, see:
o Projected Coordinate Systems Listing [Sorted by projection ID] [Sorted by name]
o Geographic Coordinate Systems Listing [Sorted by projection ID] [Sorted by name]
o Datum Transformation Listing [Sorted by projection ID] [Sorted by name]
PROJCS["World_Mollweide",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIME
M["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Mollweide"],PARAMETER["False_Easting",0],PARAMETER["False_
Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1]]
Once the quotes have been changed, the string looks like this:
PROJCS["World_Mollweide",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS
_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION[
"Mollweide"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Centra
l_Meridian",0],UNIT["Meter",1]]
• The attributes datumTransformId and datumTransformString are used when datum transformation information needs to be included. Only datum
transformations to and from WGS 1984 are supported.
o When these attributes are used with aims:coordSys and aims:filterCoordSys, the datum transformation is from a non-WGS 1984 datum to
WGS 1984. For example, Pulkovo_1942_To_WGS_1984 (datumtransformid="8157") transforms data from Pulkovo 1942 to WGS 1984.
o When these attributes are used with aims:featureCoordSys, the datum transformation is from WGS 1984 to a non-WGS 1984 datum. In the
above example, the datum transformation is from WGS 1984 to Pulkovo 1942.
• If a layer does not project, double-check that a *.prj file or ArcSDE spatial reference table exists for the layer. If not, aims:coordSys must be included
with the layer.
<aims:filter
<buffer... />
<envelope... />
<line... />
<point... />
<polygon... />
</aims:filter >
Description:
Sets a filter on a layer by querying dataset attributes or by making a spatial query.
Notes:
• Queries defined in a map configuration file always filter the data and cannot be changed through a request. Any requests made to a filtered layer in a
map configuration file can select only features within the filtered subset. For example, assume a map configuration file has a world cities layer that has
been filtered to display only cities with a population greater than 1,000,000. All requests to this layer, whether tabular or spatial, include only cities with
a population greater than 1,000,000. Other cities in the database are ignored.
• When using aims:filter, one of the options is to return the geometry of selected features by setting the geometry attribute to "true". To return geometry,
the #SHAPE# field (or #ALL#) must be included in the subFields list.
• When creating a where clause, two fields from the same attribute table can be used for comparison. For example, a query can be made to find states with
a female population greater than the male population.
In the following examp le, the where statement includes setting up two relates (in bold type) and filtering the selection to FIPS_CNTRY='CA' (in italic
type).
In this statement, cities (DB.CITY) are first joined to schools (DB.SCHOOLS) using the column CITY_FIPS as the common join item. Next, the
The list of joined tables must be listed under the jointables attribute. If more than one table is joined, table names are separated by a space. When
naming tables, the full ArcSDE table name must be used. In the above example, the two joined tables are DB.SCHOOLS and DB.SCHOOL_INFO.
• Joining DBF files. When joining DBF tables, joins can be made between the shapefile DBF table and one or more external DBF tables that reside in the
same directory as the shapefile. One restriction is that a joined DBF file cannot be another shapefile DBF file that is currently being used in a service.
To join DBF files, the joinexpression attribute is used. This attribute uses the syntax: "To=[master table column which will be used for joining],
From=[defines a join table column which will be joined], Type=[exact or scan]".
Refers to the master DBF table and defines the field that is used for joining. When referring to this table, the DBF table
To name must be used as a prefix to the field name. The entire expression is surrounded by square brackets, e.g.,
joinexpression="To=[mastertable.fieldname]".
Refers to the DBF table that is joined to the master DBF table and the field that is used for joining, e.g.,
From
joinexpression="From=[jointable.fieldname]".
Defines an exact match relation that permits only a single match between the master and join tables. Both one-to-one and
many-to-one relations are exact match relations. In a one-to-one relation, there is only one record in the master that
Type=[exact] matches a single record in the join table. In a many-to-one relation, there are one or more records in the master that
match a single join record. If there are multiple join records that match a single master record, then a composite record is
only generated for the first join record.
In a scan relation, if there are multiple join records for a master record, there is one composite record in the extended
data file for each of the matching join records. Both one-to-many and many-to-many relations are scan relations. In a
Type=[scan]
one-to-many relation, each record in the master can have multiple matching join records. A many-to-many relation is the
same as one-to-many, except that different master records can match the same join record.
• To, From, and Type parameters are case sensitive (first letter is capitalized), and they are separated by a comma, ",". Any number of joined tables can be
defined in the joinExpression attribute. Joined tables are separated by a semicolon, ";" such as the following:
All joined DBF tables must be listed under joinTables. If multiple tables are joined, table names are separated by a space. When naming tables, the name
of the DBF file without the extension is used. An example DBF query expression is:
In this example, a county DBF file (counties.dbf) is first joined to a DBF file containing county information (countyinfo.dbf). They are joined on the
field FIPS (counties.CNTY_FIPS and countyinfo.FIPS). Next, countyinfo.dbf is joined to state_roads.dbf, once again using FIPS as the join item. The
jointables are listed as countyinfo and state_roads, separated by a space. The query is filtered to only include one county, in this case Washoe.
• When joining DBF files to a shapefile, the DBF file cannot be read-only.
• Querying with dates. The syntax for querying dates is the same regardless of the locale. A date query uses the following syntax:
where
YYYY Year Required Use four digits for the year.
MM Month (01-12) Required Use two digits for the month. March is 03.
DD Day (01-31) Required Use two digits for the day. The fourth is 04.
hh Hour (00-23) Optional Use a 24-hour clock. 8 a.m. is 08, and 8 p.m. is 20.
mi Minutes (00-59) Optional Use two digits for the minutes. If minutes is used, hours must also be included.
ss Seconds (00-59) Optional Use two digits for the seconds. If seconds is used, hours and minutes must also be included.
• The year, month, and day are each separated by a dash (-). The hour, minutes, and seconds are each separated by a colon (:). The date is enclosed in
single quotes (') inside curly brackets ({}). Before the date, ts (for time stamp) must be included.
For 8:03:23 a.m. January 4, 2000, the query on a DBF file looks like:
<aims:filter whereExpression="MYDATE = {ts '2000-01-04 08:03:32'}" />
For 9:18 p.m. March 8, 2002, the query on an ArcSDE layer looks like:
<aims:filter whereExpression="ARCSDE.TABLE.MYDATE = {ts '2002-03-08 21:18:00'}" />
• When "area_intersection" is used with relation, all features that partially or fully fall within the area of the filter are selected. This results in a complex
operation that can take some time. To speed up processing, "envelope_intersection" can be used instead. This method checks to see if the bounding box
of the filter overlaps any bounding boxes of the features in the layer. A much quicker search results, but the features found could fall outside the area of
the filter. In the examples below, an oval shape is used as the filter. When "envelope_intersection" is used, features outside the filter can be selected
even though they are far outside the filter.
String must form expression: "To=[master table column which will be used for joining], From=[defines a join table column
which will be joined], Type=[exact or scan]".
joinTables List of joined table names separated by blank spaces; for ArcSDE, table name is full name including database name (e.g.,
DATA.STATE); for shapefiles, use the DBF filename without the extension (e.g., STATES).
projectBuffer Projects the buffer.
relation Describes spatial relation. See Notes section for more details.
searchOrder Used with ArcSDE layers only. Determines whether the attribute or spatial part of an ArcSDE query is processed first.
"Spatialfirst" processes the spatial part of the query before the attribute part. "Attributefirst" processes the attribute part of the
query first. If "optimize" is used, ArcSDE makes the judgment whether to pick "spatialfirst" or "attributefirst".
subFields List of fields available for querying or extracting. Multiple fields can be included in the subfields list. Fields must be separated
by a blank space.
If subfields is not used, all fields are returned. If subfields is used, only listed fields are returned. The subfields #SHAPE# or
#ALL# must be included if geometry is to be returned. In addition, the geometry attribute must be set to "true".
The subfields list can include fields from the layer table or a joined table.
• For shapefiles with no joined tables, the field can be referenced using the short format.
field="AREA"
• For shapefiles with joined tables, the name of the joined table must be included along with the field.
field="JOINEDTABLE.AREA"
• For ArcSDE layers with or without joined tables, the field must be referenced using the full long format.
field="ARCSDENAME.TABLE.AREA"
<aims:filterCoordSys
No Child Elements
</aims:filterCoordSys >
Description:
The current coordinate system of the requesting client.
Restrictions:
• Must use either id or string, but not both.
• For datum transformations either datumTransformId or datumTransformString is used, but not both.
• In ArcMap Image Services, datumtransformid or datumtransformstring are not valid.
Notes:
• For a complete list of supported IDs and definition strings, see:
o Projected Coordinate Systems Listing [Sorted by projection ID] [Sorted by name]
o Geographic Coordinate Systems Listing [Sorted by projection ID] [Sorted by name]
o Datum Transformation Listing [Sorted by projection ID] [Sorted by name]
PROJCS["World_Mollweide",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIME
M["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Mollweide"],PARAMETER["False_Easting",0],PARAMETER["False_
Northing",0],PARAMETER["Central_Meridian",0],UNIT["Meter",1]]
Once the quotes have been changed, the string looks like this:
PROJCS["World_Mollweide",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS
_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION[
"Mollweide"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Centra
l_Meridian",0],UNIT["Meter",1]]
• The attributes datumTransformId and datumTransformString are used when datum transformation information needs to be included. Only datum
transformations to and from WGS 1984 are supported.
o When these attributes are used with aims:coordSys and aims:filterCoordSys, the datum transformation is from a non-WGS 1984 datum to
WGS 1984. For example, Pulkovo_1942_To_WGS_1984 (datumtransformid="8157") transforms data from Pulkovo 1942 to WGS 1984.
o When these attributes are used with aims:featureCoordSys, the datum transformation is from WGS 1984 to a non-WGS 1984 datum. In the
above example, the datum transformation is from WGS 1984 to Pulkovo 1942.
• If a layer does not project, double-check that a *.prj file or ArcSDE spatial reference table exists for the layer. If not, aims:coordSys must be included
with the layer.
<aims:getContainerAttribute
No Child Elements
</aims:getContainerAttribute >
Description:
Retrieves the name of an ArcIMS Spatial Server and all of the Virtual Servers associated with this Spatial Server.
Restrictions:
None
Notes:
None
</aims:iterateContainersForServer>
containerCount <%=containerCount%>
<aims:getElement
No Child Elements
</aims:getElement >
Description:
Retrieves the value of a metadata element.
Restrictions:
• The element value must be loaded into memory using aims:loadElements before it can be accessed using aims:getElement.
•
Notes:
None
<idinfo>
<citation>
<citeinfo>
<title>...</title>
</citeinfo>
</citation>
</idinfo>
To define "title", the string value for this attribute would be "idinfo/citation/citeinfo/title".
<P>
<b>Title:</b> <%= theTitle %><br>
<P>
<b>Publisher:</b> <%= publish %><br>
<aims:getInputAttribute
No Child Elements
</aims:getInputAttribute >
Description:
Used to retrieve values stored in the addressMatchInputs object.
Restrictions:
None
Notes:
None
<tr><td>
<b>INPUT count is: <%=myCount%></b><br>
minScore is: <%=myMinScore%><br>
<tr><td>
<br><b>RESULT count is: <%=resultsCount%></b>
</td></tr></table>
</aims:layer>
</aims:map>
<aims:getLayerAttribute
No Child Elements
</aims:getLayerAttribute >
Description:
Returns layer information.
Restrictions:
None
Notes:
None
<aims:getLayerId
No Child Elements
</aims:getLayerId >
Description:
Returns the layer ID for a specified layer name.
Restrictions:
• If multiple layers in the service have the same name, only the id of the first layer in the list is returned.
Notes:
None
</aims:map>
<aims:getLayout
No Child Elements
</aims:getLayout >
Description:
Requests an ArcMap layout.
Restrictions:
• Valid only with ArcMap Server.
• Known limitation with the Java Connector and JSP Tag Library. When using aims:getLayout, only the default layout as specified in the map
document can be retrieved. You can zoom and pan the layout page using aims:envelope as a nested tag in aims:arcMapService. However, you cannot
change the projection or extent of individual data frames. When using the Java Connector beans, one projection and extent can be used for all
dataframes. In order to have complete control of projections and extents in individual data frames, ArcXML must be used.
Notes:
None
<aims:getMetadataDocument
No Child Elements
</aims:getMetadataDocument >
Description:
Gets a metadata document for the given document ID.
Restrictions:
None
Notes:
None
<aims:tcpConnection id="myConnection" host="<%= hostName %>" port="<%= portNumber %>" debug="true" />
<% String docId = (String)request.getAttribute("docId"); %>
<aims:getMetadataDocument id="theDataset" connectionId="<%= myConnection %>" service="<%= serviceName %>"
docId="<%= docId %>" />
<aims:datasetProperty id="theThumbnail" value="THUMBNAIL" dataset="<%= theDataset %>" />
<aims:datasetProperty id="theGND" value="GND" dataset="<%= theDataset %>" />
<aims:datasetProperty id="theServiceType" value="SERVICETYPE" dataset="<%= theDataset %>" />
<aims:datasetProperty id="hasSiblings" value="SIBLINGS" dataset="<%= theDataset %>" />
<aims:datasetProperty id="theContentType" value="CONTENT" dataset="<%= theDataset %>" />
<aims:datasetProperty id="theMapServer" value="SERVER" dataset="<%= theDataset %>" />
<aims:datasetProperty id="theMapService" value="SERVICE" dataset="<%= theDataset %>" />
<P>
<img src="<%= theThumbnail %>" width="200" height="133" vspace="5" hspace="2" border="1">
<P>
Content Type: <%= theContentType %>
<aims:getRasterInfo
<coordSys... />
</aims:getRasterInfo >
Description:
Returns the pixel value of an image at a given x,y coordinate location for the specified layer.
Restrictions:
None
Notes:
None
<aims:getResultAttribute
No Child Elements
</aims:getResultAttribute >
Description:
Returns geocoding information.
Restrictions:
None
Notes:
None
<aims:getServer
No Child Elements
</aims:getServer >
Description:
Returns a Server object that contains information on the containers and Virtual Server types associated with this server.
Restrictions:
None
Notes:
• The Server object returned can be used in aims: iterateContainersForServer.
</aims:iterateContainersForServer>
containerCount <%=containerCount%>
<aims:getService
No Child Elements
</aims:getService >
Description:
Returns the Service object of the named service.
Restrictions:
None
Notes:
None
<aims:getServiceAttribute
No Child Elements
</aims:getServiceAttribute >
Description:
Returns a value defining an attribute of a service.
Restrictions:
None
Notes:
None
<aims:getServices
No Child Elements
</aims:getServices >
Description:
Returns a ServiceCollection object that contains a list of all services.
Restrictions:
None
Notes:
• Use aims:iterateServices to retrieve individual Service objects for use in aims:adminService or to output information about all services.
<aims:getSettings
No Child Elements
</aims:getSettings >
Description:
Reads setting values from a property file.
Restrictions:
None
Notes:
None
or
<aims:getUUID
No Child Elements
</aims:getUUID >
Description:
Generates a unique ID that can be used as a document ID.
Restrictions:
None
Notes:
None
<aims:getVirtualServer
No Child Elements
</aims:getVirtualServer >
Description:
Returns the VirtualServer object of the named Virtual Server.
Restrictions:
None
Notes:
None
<aims:getVirtualServerAttribute
No Child Elements
</aims:getVirtualServerAttribute >
Description:
Returns a string defining an attribute of a Virtual Server.
Restrictions:
None
Notes:
None
<aims:getVirtualServers
No Child Elements
</aims:getVirtualServers >
Description:
Returns a VirtualServerCollection object that contains all Virtual Servers.
Restrictions:
None
Notes:
• Use aims:iterateVirtualServers to output information about all Virtual Servers.
<aims:gradientFillSymbol
No Child Elements
</aims:gradientFillSymbol >
Description:
Fills the polygon with a gradual gradient based on two colors.
Restrictions:
• In ArcMap Image Services, symbol is valid only in acetate layers.
Notes:
None
<groupRenderer >
No Attributes
</aims:groupRenderer >
Description:
Groups two or mo re renderers together. Common uses are to group feature rendering and labeling, to use multiple scale-dependent renderers on the
same layer, and to create complex symbology.
Restrictions:
• At least one nested tag is required. Any combination and number of listed nested tags can be used.
• Not valid with ArcMap Server.
Notes:
None
<aims:hashLineSymbol
No Child Elements
</aims:hashLineSymbol >
Description:
Line symbol for drawing railroad symbols.
Notes:
• The following figure shows the different components that make up aims:hashLineSymbol:
• A smoothing algorithm is used on the line to get a better hash effect. If a different line symbol is used, the smoothing algorithm is not applied, and a line
will not overlay exactly with a hashline (railroad). In order to make a line overlay the hashline, use aims:hashLineSymbol for the line and set the
attribute type to "background".
<aims:hideLayer
No Child Elements
</aims:hideLayer >
Description:
Hides a specified layer from a legend when the legend is displayed.
Restrictions:
None
Notes:
None
<aims:hole
No Child Elements
</aims:hole >
Description:
Provides the x,y coordinate locations for holes inside a polygon feature.
Restrictions:
• The polygon that makes up a hole must be closed.
Notes:
None
<aims:httpConnection
No Child Elements
</aims:httpConnection >
Description:
Creates an HTTP or HTTPS connection proxy to use with aims:map.
Restrictions:
• When role is "admin", the attribute debug can only be set to "false".
Notes:
None
<aims:imageWorkspace
No Child Elements
</aims:imageWorkspace >
Description:
Defines the workspace of an image data source.
Restrictions:
• Must refer to an existing data source.
• Not valid with ArcMap Server.
Notes:
• It is recommended not to use aims:imageWorkspace in a request. All workspaces should be included in the map configuration file.
• To add an image workspace, <MAP dynamic="true" > must be set in the map configuration file.
<aims:iterateAddressMatchInputs
</aims:iterateAddressMatchInputs >
Description:
Iterates through items in the addressMatchInput object.
Restrictions:
None
Notes:
• ArcIMS has 10 standard address styles:
GCSTYLE Address Style Description
USAddressZ U.S. streets with zone: This style considers street addresses with zone information such as postal ZIP
<aims:iterateAddressMatchResults
</aims:iterateAddressMatchResults >
Description:
Iterates through address match results after values are set in aims:addressMatchInputs.
Restrictions:
None
Notes:
• Aims:mapService must have loadExtensions="true" to populate aims:addressMatchInputs.
<aims:iterateContainersForServer
</aims:iterateContainersForServer >
Description:
Iterates through all ArcIMS Spatial Servers on a server machine to display information about each server.
Restrictions:
None
Notes:
• Use aims:getContainerAttribute to retrieve values about containers from a server.
</aims:iterateContainersForServer>
containerCount <%=containerCount%>
<aims:iterateContentType
No Child Elements
</aims:iterateContentType >
Description:
Iterates through metadata content types and their counts.
Restrictions:
None
Notes:
None
<% if (!printedTableHeader) { // print out a table header, since we are on the first result %>
<a name="top">
<% } %>
<% } %>
</aims:iterateContentType>
<aims:iterateDataframe
No Child Elements
</aims:iterateDataframe >
Description:
Iterates through data frames in a Data Frames collection.
Restrictions:
None
Notes:
None
<aims:iterateEnvelope
Description:
Iterates through envelopes in a record set.
Restrictions:
None
Notes:
None
<aims:iterateGeometry
No Child Elements
</aims:iterateGeometry >
Description:
Iterates through the geometry of a feature in a record set.
Restrictions:
None
Notes:
None
Attribute Usage
recordNumber Returns the record position of the Geometry object.
x Returns the x-coordinate of the Points object.
y Returns the y-coordinate of the Points object.
<aims:iterateLayers
</aims:iterateLayers >
Description:
Iterates through the Layers collection returned by aims:map.
Restrictions:
None
Notes:
None
<aims:iterateMetadata
</aims:iterateMetadata >
Description:
Iterates through the Metadata Document collection returned by aims:browse or aims:search.
Restrictions:
None
Notes:
None
<aims:browse
id="browseChildren"
connectionId="<%= myConnection %>"
service="<%= serviceName %>"
docId="<%= docId %>"
folderMask="2" />
</aims:iterateMetadata>
<aims:iterateRasterInfo
No Child Elements
</aims:iterateRasterInfo >
Description:
Iterates through the raster information of a layer.
Restrictions:
None
Notes:
None
<aims:iterateRecordset
No Child Elements
</aims:iterateRecordset >
Description:
Iterates through record set in the RecordSet collection.
Restrictions:
None
Notes:
None
<aims:iterateServices
</aims:iterateServices >
Description:
Iterates through a collection of services or an individual service to display information about a service.
Restrictions:
None
Notes:
None
<aims:iterateTableDesc
No Child Elements
</aims:iterateTableDesc >
Description:
Iterates through column names of a table.
Restrictions:
None
Notes:
None
<aims:iterateVirtualServers
</aims:iterateVirtualServers >
Description:
Iterates through a collection of Virtual Servers or an individual Virtual Server to display information about a Virtual Server.
Restrictions:
None
Notes:
None
<aims:layer
</aims:layer >
Restrictions:
None
Notes:
None
<aims:legend
</aims:legend >
Description:
Defines the legend attributes of the map.
Restrictions:
None
Notes:
None
font Font for title. The name is case sensitive. If font name uses "&", use "&" instead. For example, ESRI Transportation &
Civic should be written as ESRI Transportation & Civic.
<aims:legendOutput
No Child Elements
</aims:legendOutput >
Description:
Defines a pathname and URL for legend output images.
Restrictions:
• LegendOutput works with paired attributes. If one of the attributes is used, its pair is also required. The attribute pairs are listed in the table below.
Attribute Paired Attribute Filename Assignment
legendPath legendBaseURL ArcIMS assigns random filename.
<aims:line
</aims:line >
Description:
Draws a line as an acetate layer on the map or is used as a filter to select features.
Restrictions:
• Line must be continuous with no breaks.
• Symbols can be nested only in an object, not in a filter.
<aims:loadElements
No Child Elements
</aims:loadElements >
Description:
Retrieves a value from a metadata document for each xpath.
Restrictions:
None
Notes:
None
<idinfo>
<citation>
<citeinfo>
<title>...</title>
</citeinfo>
</citation>
</idinfo>
To define "title", the string value for this attribute would be "idinfo/citation/citeinfo/title".
<aims:map
</aims:map >
Description:
Creates a map image.
Restrictions:
None
</aims:map>
<aims:mapOutput
No Child Elements
</aims:mapOutput >
Description:
Defines a pathname and URL for output map images.
Restrictions:
• MapOutput works with paired attributes. If one of the attributes is used, its pair is also required. The attribute pairs are listed in the table below.
Attribute Paired Attribute Filename Assignment
path baseURL ArcIMS assigns random filename.
<aims:mapService
No Child Elements
</aims:mapService >
Description:
Reads initial values from an Image Service such as envelopes, extensions, renderers, and database field names.
Restrictions:
None
<aims:metadataChild
No Child Elements
</aims:metadataChild >
Description:
Identifies a child document that has relationship to a source or parent metadata document.
Restrictions:
None
Notes:
None
</aims:putMetadataRelationship>
<aims:metadataSibling
No Child Elements
</aims:metadataSibling >
Description:
Identifies a sibling, or related, document to a source metadata document.
Restrictions:
None
Notes:
None
</aims:putMetadataRelationship>
<aims:moveLayer
No Child Elements
</aims:moveLayer >
Description:
Moves specified layer in Layers collection to another location in the collection.
Restrictions:
None
Notes:
None
</aims:map>
<aims:moveLayerToBottom
No Child Elements
</aims:moveLayerToBottom >
Description:
Moves specified layer in Layers collection to the end of the collection.
Restrictions:
None
Notes:
None
</aims:map>
<aims:moveLayerToTop
No Child Elements
</aims:moveLayerToTop >
Description:
Moves specified layer in Layers collection to the beginning of the collection.
Restrictions:
None
Notes:
None
</aims:map>
<aims:nestedSearch
<documentInfo... />
<searchEnvelope... />
<subset... />
<textQuery... />
<updated... />
<valueQuery... />
</aims:nestedSearch >
Description:
Temporarily changes the nested search criteria for a metadata document from an "and" to an "or".
Restrictions:
• Must be nested within aims:search.
Notes:
None
<aims:nestedSearch operator="or">
</aims:nestedSearch>
</aims:search>
<aims:northArrow
No Child Elements
</aims:northArrow >
Restrictions:
None
Notes:
• The following north arrow types are available:
• Aims:northarrow does not support custom arrows. Use aims:rasterMarkerSymbol or aims:truetypeMarkerSymbol instead.
<aims:other
</aims:other >
Description:
Used with value maps as the default for rendering symbols that do not meet the criteria for any values in aims:range or aims:exact.
Notes:
None
<aims:pan
No Child Elements
</aims:pan >
Description:
Pans to a section of the map by a specified step and direction.
Restrictions:
None
Notes:
None
<aims:point
</aims:point >
Description:
Draws a point as an acetate layer on the map or is used as a filter to select features.
Restrictions:
• Symbols, as nested tags inside point, can only be used when point is part of an acetate layer. They cannot be used when point is used in a filter.
Notes:
None
<aims:polygon
</aims:polygon >
Description:
Draws a polygon as an acetate layer on the map or is used as a filter to select features.
Notes:
None
<aims:publishDocument
No Child Elements
</aims:publishDocument >
Description:
Publishes a metadata document from the metadata repository.
Restrictions:
• This element can be used only by the owner established in aims:createDocument. Any other user will get an error message.
Notes:
None
<aims:putMetadataRelationship
</aims:putMetadataRelationship >
Description:
Establishes a relationship between a source metadata document and one or more child or sibling metadata documents.
Restrictions:
• At least one occurrance of aims:metadataChild or aims:metadataSibling is required. One or both tags can be used multiple times.
Notes:
• A child document is a subdocument to the current metadata document. A sibling document is a related document. When selected as a sibling, the
document is listed with the parent document under a link called "related records".
</aims:putMetadataRelationship>
<aims:putMetadataSemantic
</aims:putMetadataSemantic >
Description:
Framework for establishing a relationship between a tag and the numeric code defining semantics from the GEO Attribute Set.
Restrictions:
None
Notes:
None
</aims:putMetadataSemantic>
<aims:range
</aims:range >
Restrictions:
• Not valid with ArcMap Server.
Notes:
• If there are leading or trailing blanks in a field value, they are trimmed before a comparison is made. For example, a field value of " Hello " is
interpreted as "Hello".
<aims:rasterFillSymbol
No Child Elements
</aims:rasterFillSymbol >
Description:
Fills polygon features with specified image.
Restrictions:
• In ArcMap Image Services, symbol is valid only in acetate layers.
Notes:
• Acceptable image formats are JPG and GIF.
<aims:rasterMarkerSymbol
No Child Elements
</aims:rasterMarkerSymbol >
Restrictions:
• In ArcMap Image Services, symbol is valid only in acetate layers.
Notes:
• Acceptable image formats are JPG and GIF.
<aims:rasterShieldSymbol
No Child Elements
</aims:rasterShieldSymbol >
Description:
A raster shield is a user-specified image and is used as a custom shield to identify roads (or other line features). The text associated with the image
comes from a specified field and is placed on top of the image.
Restrictions:
• Works only with line features.
• Not valid with ArcMap Server.
<recordset >
No Attributes
<iterateEnvelope... />
<iterateGeometry... />
<iterateRecordset... />
<iterateTableDesc... />
</aims:recordset >
Description:
Main tag that holds information about records of a layer.
Restrictions:
None
Notes:
None
<aims:removeLayer
No Child Elements
</aims:removeLayer >
Description:
Removes a layer from the Layers collection.
Restrictions:
None
Notes:
None
</aims:map>
<aims:removeVirtualServer
No Child Elements
</aims:removeVirtualServer >
Description:
Removes a Virtual Server.
Restrictions:
None
Notes:
None
<aims:request
No Child Elements
</aims:request >
Description:
Sends an ArcXML request to an established server connection.
Restrictions:
None
Notes:
None
<aims:scalebar
No Child Elements
</aims:scalebar >
Description:
Defines the look and feel of the scale bar in the acetate layer.
Restrictions:
None
Notes:
None
<aims:scaleDependentRenderer
</aims:scaleDependentRenderer >
Description:
Displays specified rendering information at certain scales. A layer can have different renderings depending on the current scale. For example, when
zoomed out, you can draw a street layer one pixel in width. As you zoom farther in, you can draw the street layer eight pixels in width and in a different
color.
Restrictions:
• Known limitation with the Java Connector. When using aims:scaleDependentRenderer, the upper and lower values must be in map units per pixel.
Relative scales are not supported in this release. The formula for calculating map units per pixel is given in the Notes section. The attributes upper and
lower should both be included in every request. This limitation is for the Java Connector only. When using ArcXML, map units per pixel and relative
scales can both be used.
• Only one nested tag can be used inside aims:scaleDependentRenderer.
• Not valid with ArcMap Server.
<aims:sdeWorkspace
No Child Elements
</aims:sdeWorkspace >
Description:
Defines an ArcSDE data source.
Restrictions:
• Must refer to an existing ArcSDE data source.
• Not valid with ArcMap Server.
Notes:
• It is recommended not to use aims:sdeWorkspace in a request. All workspaces should be included in the map configuration file.
• To add an ArcSDE workspace, <MAP dynamic="true" > must be set in the map configuration file.
<aims:search
Restrictions:
None
Notes:
• Use nested tags to build search criteria.
<aims:tcpConnection id="myConnection" host="<%= hostName %>" port="<%= portNumber %>" debug="true" />
<%
String startBatchAt = request.getParameter("startBatchAt"); // where to start in the collection of results
<%-- search for datasets containing the word water and having a content type of 002 (ISO - Downloadable
Data) --%>
<aims:search id="results" connectionId="<%= myConnection %>" service="<%= serviceName %>" sort="local_area"
sort2="contenttype" folderMask="4" totalResults="totalResults" startResult="startResult"
numResults="numResults" batchSize="<%= batchSize %>" startBatchAt="<%= startBatchAt %>">
<aims:nestedSearch operator="or">
<aims:valueQuery equalTo="002" tag="metadata/distInfo/distributor/distorTran/onLineSrc/orDesc"
operators="or" />
</aims:nestedSearch>
</aims:search>
<P>
Title: <%= theTitle %>
</aims:iterateMetadata>
<aims:searchEnvelope
No Child Elements
</aims:searchEnvelope >
Description:
Constructs an envelope with minimum and maximum x,y coordinates when including geographic criteria in searches.
Restrictions:
None
Notes:
None
<aims:nestedSearch operator="or">
</aims:nestedSearch>
</aims:search>
<aims:semanticPair
Description:
Establishes a relationship between a tag and the numeric code defining semantics from the GEO Attribute Set.
Restrictions:
None
Notes:
None
<idinfo>
<citation>
To define "title", the string value for this attribute would be "idinfo/citation/citeinfo/title".
zcode Numeric code defining semantics from the GEO Attribute Set.
</aims:putMetadataSemantic>
<aims:separators
No Child Elements
</aims:separators >
Description:
Identifies separators used between x,y coordinates and coordinate pairs and as separators for lists of strings.
Restrictions:
• Separators are limited to one UNICODE character in length.
Notes:
• Coordinate and tuple separators are used to separate x,y coordinates and coordinate pairs, respectively, with the coords attribute in aims:point, aims:line,
aims:polygon, and aims:hole.
• The tuple separator can be used to separate lists of strings in aims:exact.
<aims:setInput
No Child Elements
</aims:setInput >
Description:
Sets a geocode input value which matches an aims:addressMatchInputs id.
Restrictions:
None
Notes:
• If the input IDs are not known, first iterate through the inputs using aims:addressMatchInputs. Use aims:addressMatchInputs again to set the input ID
values.
<aims:shapeWorkspace
No Child Elements
</aims:shapeWorkspace >
Description:
Defines a shapefile data source.
Restrictions:
• Must refer to an existing data source.
• Not valid with ArcMap Server.
Notes:
• It is recommended not to use aims:shapeWorkspace in a request. All workspaces should be included in the map configuration file.
• To add a shapefile workspace, <MAP dynamic="true" > must be set in the map configuration file.
<aims:shieldSymbol
No Child Elements
</aims:shieldSymbol >
Description:
Symbol for drawing a predefined set of highway shields: U.S. Interstate, U.S. Highway, white rectangle, and white oval.
Restrictions:
• Works only with line features.
• Not valid with ArcMap Server.
Notes:
• The field for text is specified in the associated label renderer element.
• LabelMode="full" is designed for a maximum of four characters. If more than four characters are needed, aims:rasterShieldSymbol should be used.
<aims:simpleLabelRenderer
</aims:simpleLabelRenderer >
Description:
Used for labeling features. A field is specified for labeling all features of a particular layer.
Restrictions:
• One symbol must be specified. Only one is allowed.
• Not valid with ArcMap Server.
• For shapefiles with no joined tables, the field can be referenced using the short format.
field="AREA"
• For shapefiles with joined tables, the name of the joined table must be included along with the field.
field="JOINEDTABLE.AREA"
• For ArcSDE layers without joined tables, the field can be referenced using the short format.
field="AREA"
The full long name can also be used.
field="ARCSDENAME.TABLE.AREA"
• For ArcSDE layers with joined tables, joined fields must be referenced using the full long format.
field="ARCSDENAME.TABLE.AREA"
Labels can include data concatenated from two or more fields. Each field name is separated by a space:
• Using a shapefile with no joined tables. The short format can be used for field names.
field="CITY STATE_NAME"
• Using a shapefile with joined tables. The name of the joined table must be included along with the field names.
field="JOINEDTABLE.CITY JOINEDTABLE.STATE_NAME"
• Using an ArcSDE layer without joined tables. The short format can be used.
field="CITY STATE_NAME"
The full long name can also be used.
field="ARCSDENAME.TABLE.CITY ARCSDENAME.JOINEDTABLE.STATE_NAME"
• "One_label_per_part" labels all parts of a feature in the case of multipart features. For instance, the State of Hawaii
consists of several islands, but they are grouped together as one polygon feature. Each island is labeled.
• "One_label_per_name" labels once per feature name. When several features share the same name, only one label is
shown. For example, if there is more than one polygon with the name "Residential", only one "Residential" polygon is
labeled.
• "One_label_per_shape" labels once per feature even if there are multiple segments. For example, the group of islands
that make up Hawaii are only labeled once. If there are other features with the same name, they are also labeled.
labelBufferRatio Used to set a buffer around the label. When this is set, no labels overlap within the buffer range. The ratio is the fraction of the
height or the width of the label rectangle (whichever is smaller) compared to the width of the buffer. A ratio of "0.0" means no
buffer. A ratio of "1.0" means that the buffer is twice the size of the label (the label width equals the buffer width). A negative
ratio causes the buffer to be smaller than the label. This can be used to allow labels to overlap.
labelPriorities Used to determine where to place the label around the point. The attribute accepts different weights for each of eight positions
around the point. Each position corresponds to the positions as shown below:
1 2 3
8 X 4
7 6 5
In each position, the user can prioritize the importance of that position from 0 upwards. 0 signifies that the label should not be
placed in that position. 1 means that this is an acceptable position for the label, and all higher numbers represent lesser priorities
for that position. For example, "1,0,1,0,0,0,0,0" means that only the first and third label positions will be taken into account
when labeling. In another example, "1,2,3,0,1,0,0,0" means try to label at the first and fifth position; if not, then put the label at
the second position; if not, then put it at the third position; if this is not possible, then don't label it.
Another option is to place a label on top of points rather than around points. To do this, use "LE_PlaceOnTopHorizontal" for the
rotationalAngles The rotational angles are possible angles that the label can be placed at, relative to the labeled point. By default, labels are
always placed horizontally. To rotate a label, a comma-delimited list of up to eight rotational angles can be given and are
prioritized from first to last. For example, if the first priority is to place labels at 45 degrees and the second priority is at 30
LabelPriorities always take precedence over rotationalAngles. If you find that your labels are not rotating as expected, remove
the labelPriorities attribute if it is present. Alternatively, you can set all the labelPriorities to "0".
<aims:simpleLineSymbol
No Child Elements
</aims:simpleLineSymbol >
Description:
Symbol for line features.
Restrictions:
• In ArcMap Image Services, symbol is valid only in acetate layers.
overlap Determines if labels can overlap this symbol. When "true", labels can overlap. When "false", labels will not overlap the symbol.
If labels are not drawing as expected, check if overlap is set to "false" for this symbol or any other symbol in the service.
<aims:simpleMarkerSymbol
No Child Elements
</aims:simpleMarkerSymbol >
Description:
Symbolizes point features using one of the predefined symbol types: circle, triangle, square, cross, or star.
Notes:
None
<aims:simplePolygonSymbol
Description:
Symbol for polygon features.
Restrictions:
• In ArcMap Image Services, symbol is valid only in acetate layers.
Notes:
• For more complex boundary symbols, aims:simpleLineSymbol can be used on polygon layers.
• Transparency takes precedence over fillTransparency and boundaryTransparency.
boundaryTransparency Value to set percentage of transparency for the polygon boundaries. 1.0 is 0 percent transparent. 0.0 is 100 percent transparent.
boundaryType Boundary type.
boundaryWidth Boundary width.
fillColor Fill color using RGB values.
fillInterval Distance between lines for hatch fills.
fillTransparency Value to set percentage of transparency for the polygon fill. 1.0 is 0 percent transparent. 0.0 is 100 percent transparent.
fillType Symbol fill type.
overlap Determines if labels can overlap this symbol. When "true", labels can overlap. When "false", labels will not overlap the symbol.
If labels are not drawing as expected, check if overlap is set to "false" for this symbol or any other symbol in the service.
transparency Value to set percentage of transparency. 1.0 is 0 percent transparent. 0.0 is 100 percent transparent.
<simpleRenderer >
No Attributes
</aims:simpleRenderer >
Description:
Displays features using one symbol.
Restrictions:
• One symbol must be specified. Only one is allowed.
• Not valid with ArcMap Server.
Notes:
None
<aims:siteSave
No Child Elements
</aims:siteSave >
Description:
Saves the site configuration.
Restrictions:
None
Notes:
None
<%=theError%>
<aims:siteUser
No Child Elements
</aims:siteUser >
Description:
Sets the username and password for the site.
Restrictions:
None
Notes:
None
<%=theError%>
<aims:subset
No Child Elements
</aims:subset >
Description:
Specifies a subset of the documents in the metadata repository to search.
Restrictions:
None
Notes:
• By default, all documents in a metadata repository are searched. When aims:subset is included, name, owner, and userid attributes specify the "root
document" of the search, and the type attribute specifies the relation of the desired documents to the root document.
</aims:search>
<aims:targetLayer
<simplePolygonSymbol... />
</aims:targetLayer >
Description:
Defines a target layer for selecting features based on a buffer in the same or different layer in the ArcIMS service.
Restrictions:
• Must refer to an existing layer ID in the map configuration file.
• Known limitation with the Java Connector. When using a target layer, the target layer cannot be the same layer as the buffer layer. This limitation is
with the Java Connector and not with ArcXML. Using ArcXML, the target and buffer layers can be the same.
Notes:
None
<aims:tcpConnection
No Child Elements
</aims:tcpConnection >
Description:
Creates a TCP connection proxy to use with aims:map.
Restrictions:
• When role is "admin", the attribute debug can only be set to "false".
Notes:
None
<aims:text
<textMarkerSymbol... />
</aims:text >
Description:
Places text on an acetate layer.
Restrictions:
None
Notes:
• Used only in acetate layers. To label features, use aims:textSymbol.
<aims:textMarkerSymbol
Description:
Adds static text to an acetate layer.
Restrictions:
• Outline and glowing should not be used together; use one or the other.
Notes:
• Used only in acetate layers. To label features, use aims:textSymbol.
<aims:textQuery
No Child Elements
</aims:textQuery >
Description:
Searches text within a specified element in metadata documents.
Restrictions:
• Either tag or zcode must be specified, but not both.
• Attribute is valid only with tag. It is ignored when zcode is used.
Notes:
• An aims:textQuery search can be further restricted by limiting the search to an individual attribute.
• For searching numeric values, see aims:valueQuery.
<idinfo>
<citation>
<citeinfo>
<title>...</title>
</citeinfo>
</citation>
</idinfo>
To define "title", the string value for this attribute would be "idinfo/citation/citeinfo/title".
word List of one or more keywords.
wordDelimiter Delimiter between words listed in the search. The default is a comma (,).
zcode Numeric code defining semantics from the GEO Attribute Set.
<aims:textSymbol
No Child Elements
</aims:textSymbol >
Description:
Symbol used to label point, line, and polygon layers.
Restrictions:
• Not valid with ArcMap Server.
• Outline and glowing should not be used together; use one or the other.
Notes:
• Aims:textSymbol is used to label features in layers. To add text to an acetate layer, use aims:text.
<aims:trueTypeMarkerSymbol
Description:
Symbolizes point features using TrueType symbols.
Restrictions:
• Outline and glowing should not be used together; use one or the other.
• In ArcMap Image Services, symbol is valid only in acetate layers.
Notes:
• The angle for a symbol can be user-defined with angle. Angles can also be read from a field in a database table using angleField.
• If the attributes angle and angleField are both present, angle takes precedence, and angleField is ignored.
• If the symbols are rotating in an unexpected direction, double-check the value for rotateMethod.
• If you are using custom TrueType symbols on a UNIX machine, the font must be installed in the following directory:
o For Solaris:
/usr/openwin/lib/X11/fonts/TrueType
o For AIX:
/usr/lpp/X11/lib/X11/fonts/TrueType
o For Linux:
/usr/lib/X11/fonts/TrueType
o For HP-UX:
/usr/lib/X11/fonts/ms.st/typefaces
<aims:updated
No Child Elements
</aims:updated >
Description:
Allows metadata searches based on a date.
Restrictions:
• At least one attribute must be specified. Both can be used.
Notes:
• The format for dates is YYYY-MM-DD hh:mm:ss. The year, month, and date are required. Hours, minutes, and seconds are optional.
</aims:search>
<aims:validateConnection
No Child Elements
</aims:validateConnection >
Description:
Validate communication with a defined service connection.
Restrictions:
None
Notes:
• The service information needs to be set in either aims:mapService or in the service attribute of aims:validateConnection. If needed for proper validation,
the username and password may have to be set if authentication is required.
<%=myError%>
<aims:valueMapLabelRenderer
</aims:valueMapLabelRenderer >
Description:
Used for labeling features. A field is specified for labeling features based on criteria in aims:range or aims:exact.
Restrictions:
• Aims:exact or aims:range is required. Aims:other is optional.
• Not valid with ArcMap Server.
1 2 3
8 X 4
7 6 5
In each position, the user can prioritize the importance of that position from 0 upwards. 0 signifies that the label should not be
placed in that position. 1 means that this is an acceptable position for the label, and all higher numbers represent lesser priorities
for that position. For example, "1,0,1,0,0,0,0,0" means that only the first and third label positions will be taken into account
when labeling. In another example, "1,2,3,0,1,0,0,0" means try to label at the first and fifth position; if not, then put the label at
the second position; if not, then put it at the third position; if this is not possible, then don't label it.
Another option is to place a label on top of points rather than around points. To do this, use "LE_PlaceOnTopHorizontal" for the
label priority.
lookUpField Name of field used to specify ranges for aims:range or exact values for aims:exact.
rotationalAngles The rotational angles are possible angles that the label can be placed at, relative to the labeled point. By default, labels are
always placed horizontally. To rotate a label, a comma-delimited list of up to eight rotational angles can be given and are
prioritized from first to last. For example, if the first priority is to place labels at 45 degrees and the second priority is at 30
degrees, the rotational angles attribute would look like this:
LabelPriorities always take precedence over rotationalAngles. If you find that your labels are not rotating as expected, remove
the labelPriorities attribute if it is present. Alternatively, you can set all the labelPriorities to "0".
<aims:valueMapRenderer
</aims:valueMapRenderer >
Description:
Renders features according to the value in a specified field. Based on this field, a value map can be created to classify data. This is useful when different
types of data are stored in the same layer.
Restrictions:
• Not valid with ArcMap Server.
Notes:
None
<aims:valueQuery
No Child Elements
</aims:valueQuery >
Description:
Searches numeric values within a specified element in a metadata document.
Restrictions:
• Either tag or zcode must be specified, but not both.
• Attribute is valid only with tag. It is ignored when zcode is used.
• One or two of the operator attributes from the following list must be specified: lessThan, greaterThan, lessThanOrEqualTo, greaterThanOrEqualTo, or
equalTo. If two attributes are specified, they are automatically concatenated together with an "and" operator.
Notes:
• For searching text values, see aims:textQuery.
<idinfo>
<citation>
<citeinfo>
<title>...</title>
</citeinfo>
</citation>
</idinfo>
To define "title", the string value for this attribute would be "idinfo/citation/citeinfo/title".
zcode Numeric code defining semantics from the GEO Attribute Set.
<aims:tcpConnection id="myConnection" host="<%= hostName %>" port="<%= portNumber %>" debug="true" />
<%
String startBatchAt = request.getParameter("startBatchAt"); // where to start in the collection of results
<%-- search for datasets containing the word water and having a content type of 002 (ISO - Downloadable
Data) --%>
<aims:search id="results" connectionId="<%= myConnection %>" service="<%= serviceName %>" sort="local_area"
sort2="contenttype" folderMask="4" totalResults="totalResults" startResult="startResult"
numResults="numResults" batchSize="<%= batchSize %>" startBatchAt="<%= startBatchAt %>">
<aims:nestedSearch operator="or">
<aims:valueQuery equalTo="002" tag="metadata/distInfo/distributor/distorTran/onLineSrc/orDesc"
operators="or" />
</aims:nestedSearch>
</aims:search>
<P>
Title: <%= theTitle %>
</aims:iterateMetadata>
<aims:zoom
No Child Elements
</aims:zoom >
Description:
Zooms to a map by a specified factor or by centering at a specified x,y coordinate.
Restrictions:
None
Notes:
None
<zoomFullExtent >
No Attributes
No Child Elements
</aims:zoomFullExtent >
Description:
Zooms to the full extent of the map.
Restrictions:
None
Notes:
None
ArcIMS 3.1 supported AppServerLink, a JavaBean component that exposed a set of methods and properties to allow communication with the ArcIMS
Application Server. AppServerLink is deprecated in ArcIMS 4.0 and replaced by the Java Connector. The arcims_appserverlink.jar will not be
installed with ArcIMS 4.0, but applications developed using the AppServerLink will continue to work in ArcIMS 4.0 provided you have
arcims_appserverlink.jar in your classpath.
The AppServerLink and the Java Connector can co-exist in ArcIMS 4.0 that is, you can continue to run your AppServerLink applications and use the
Java Connector for new development. Even though this is possible we strongly recommend that you migrate your AppServerLink applications to the Java
Connector. The table below shows the AppServerLink bean methods and the corresponding Java Connector methods.
For detailed information on ConnectionProxy methods and other available packages, please refer to the ArcIMS Java Connector Object Model API
Specification, located at <ArcIMS Installation Directory>/Documentation/Java_Connector/api_reference.htm.