Authoring and publishing_optimized_map_services_slides
-
Upload
bangalore-techie -
Category
Technology
-
view
227 -
download
0
Transcript of Authoring and publishing_optimized_map_services_slides
Authoring and Publishing Optimized Map Services
Transcript
Copyright © 2007 ESRI
All rights reserved.
The information contained in this document is the exclusive property of ESRI. This work is protected under United States copyright
law and other international copyright treaties and conventions. No part of this work may be reproduced or transmitted in any form or
by any means, electronic or mechanical, including photocopying and 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 and Legal Services Manager,
ESRI, 380 New York Street, Redlands, CA 92373-8100, USA.
The information contained in this document is subject to change without notice.
@esri.com, 3D Analyst, ADF, AML, ARC/INFO, ArcAtlas, ArcCAD, ArcCatalog, ArcCOGO, ArcData, ArcDoc, ArcEdit, ArcEditor,
ArcEurope, ArcExplorer, ArcExpress, ArcFM, ArcGIS, ArcGlobe, ArcGrid, ArcIMS, ArcInfo Librarian, ArcInfo, ArcInfo-
Professional GIS, ArcInfo-The World's GIS, ArcLocation, ArcLogistics, ArcMap, ArcNetwork, ArcNews, ArcObjects, ArcOpen,
ArcPad, ArcPlot, ArcPress, ArcQuest, ArcReader, ArcScan, ArcScene, ArcSchool, ArcSDE, ArcSdl, ArcStorm, ArcSurvey, ArcTIN,
ArcToolbox, ArcTools, ArcUSA, ArcUser, ArcView, ArcVoyager, ArcWatch, ArcWeb, ArcWorld, Atlas GIS, AtlasWare, Avenue,
BusinessMAP, Database Integrator, DBI Kit, ESRI, ESRI-Team GIS, ESRI-The GIS Company, ESRI-The GIS People, FormEdit,
Geographic Design System, Geography Matters, Geography Network, GIS by ESRI, GIS Day, GIS for Everyone, GISData Server,
InsiteMAP, JTX, MapBeans, MapCafé, MapObjects, ModelBuilder, MOLE, NetEngine, PC ARC/INFO, PC ARCPLOT, PC
ARCSHELL, PC DATA CONVERSION, PC STARTER KIT, PC TABLES, PC ARCEDIT, PC NETWORK, PC OVERLAY, PLTS,
Rent-a-Tech, RouteMAP, SDE, SML, Spatial Database Engine, StreetEditor, StreetMap, TABLES, the ARC/INFO logo, the ArcCAD
logo, the ArcCAD WorkBench logo, the ArcCOGO logo, the ArcData logo, the ArcData Online logo, the ArcEdit logo, the
ArcExplorer logo, the ArcExpress logo, the ArcFM logo, the ArcFM Viewer logo, the ArcGIS logo, the ArcGrid logo, the ArcIMS
logo, the ArcInfo logo, the ArcLogistics Route logo, the ArcNetwork logo, the ArcPad logo, the ArcPlot logo, the ArcPress for
ArcView logo, the ArcPress logo, the ArcScan logo, the ArcScene logo, the ArcSDE CAD Client logo, the ArcSDE logo, the
ArcStorm logo, the ArcTIN logo, the ArcTools logo, the ArcView 3D Analyst logo, the ArcView Business Analyst logo, the ArcView
Data Publisher logo, the ArcView GIS logo, the ArcView Image Analysis logo, the ArcView Internet Map Server logo, the ArcView
logo, the ArcView Network Analyst logo, the ArcView Spatial Analyst logo, the ArcView StreetMap 2000 logo, the ArcView
StreetMap logo, the ArcView Tracking Analyst logo, the Atlas GIS logo, the Avenue logo, the BusinessMAP logo, the Data
Automation Kit logo, the ESRI ArcAtlas Data logo, the ESRI ArcEurope Data logo, the ESRI ArcScene Data logo, the ESRI ArcUSA
Data logo, the ESRI ArcWorld Data logo, the ESRI Digital Chart of the World Data logo, the ESRI globe logo, the ESRI Press logo,
the Geography Network logo, the MapCafé logo, the MapObjects Internet Map Server logo, the MapObjects logo, the MOLE logo,
the NetEngine logo, the PC ARC/INFO logo, the Production Line Tool Set logo, the RouteMAP IMS logo, the RouteMAP logo, the
SDE logo, The World's Leading Desktop GIS, Water Writes, www.esri.com, www.geographynetwork.com, www.gisday.com, and
Your Personal Geographic Information System are trademarks, registered trademarks, or service marks of ESRI in the United States,
the European Community, or certain other jurisdictions.
Other companies and products mentioned herein are trademarks or registered trademarks of their respective trademark owners.
Copyright © 2007 ESRI. All rights reserved. 1
Presenters:
Danielle Hopkins
Tom Bole
Authoring and Publishing
Optimized
Map Services
Hello there and welcome. My name is Danielle Hopkins, and I am an instructor with the
Educational Services Department here in Redlands, California. Joining me today is Tom Bole
who is a product engineer with the ArcMap Development Team, also here in Redlands. We want
to welcome you all to today's live training seminar.
Copyright © 2007 ESRI. All rights reserved. 2
Seminar overview
Topics
Introduction
Authoring for non-cached (dynamic) map services
Publishing a map service
Authoring for cached map services
Format
Each topic is followed by a software demonstration, review, and
Q & A session.
Copyright © 2004 ESRI. All rights reserved.
Today, we will be discussing the process of authoring and publishing map services. We will be
looking at designing map documents for use in both dynamic and cached map services, as well as
a look at the communication involved in making map services possible.
Each topic will be followed by a software demonstration using ArcGIS Desktop and ArcGIS
Server, along with a short review and several opportunities for questions and answers.
Copyright © 2007 ESRI. All rights reserved. 3
Copyright © 2004 ESRI. All rights reserved.
Introduction
To begin, let's take a look at what a map service is and how it works in ArcGIS Server.
Copyright © 2007 ESRI. All rights reserved. 4
Map services
Give access to the contents of a map document
Copyright © 2004 ESRI. All rights reserved.
Put simply, map services give access to the contents of a map document.
Copyright © 2007 ESRI. All rights reserved. 5
Map services
Give access to the contents of a map document
Allow us to provide
Visualization of vector
and raster data layers
Interoperability
Support for:
• Geoprocessing
• Data access
• Web editing
Copyright © 2004 ESRI. All rights reserved.
They allow us to provide for visualization of vector and raster data layers, interoperability with
other applications, as well as providing support for geoprocessing, data access, and Web editing.
Copyright © 2007 ESRI. All rights reserved. 6
Choosing a map service
Two types
Non-cached (dynamic)
• Map rendered on the fly
Cached
• Pre-rendered map
Copyright © 2004 ESRI. All rights reserved.
There are two types of map services: non-cached – sometimes referred to as dynamic, and
cached. In the case of a dynamic service, the required maps are generated on-demand. For a
cached service, the map has actually been pre-rendered and is retrieved.
Copyright © 2007 ESRI. All rights reserved. 7
Copyright © 2004 ESRI. All rights reserved.
Choosing a map service
Two types
Non-cached (dynamic)
• Map rendered on the fly
Cached
• Pre-rendered map
Choice based on:
Performance requirements
The choice of service type is based primarily on performance. Cached map services will provide
the best performance.
Copyright © 2007 ESRI. All rights reserved. 8
Copyright © 2004 ESRI. All rights reserved.
Choosing a map service
Two types
Non-cached (dynamic)
• Map rendered on the fly
Cached
• Pre-rendered map
Choice based on:
Performance requirements
Data
• Changing frequently or generally staying the same
Other factors in this decision include the nature of the data – will it be changing frequently or
generally staying the same?
Copyright © 2007 ESRI. All rights reserved. 9
Copyright © 2004 ESRI. All rights reserved.
Choosing a map service
Two types
Non-cached (dynamic)
• Map rendered on the fly
Cached
• Pre-rendered map
Choice based on:
Performance requirements
Data
• Changing frequently or generally staying the same
Audience
• Viewers, editors, analysts, etc.
In addition, who is the intended audience? Will there simply be a group of map viewers, or will
people be editing or performing analysis?
Copyright © 2007 ESRI. All rights reserved. 10
Creating and using map services
1. Author GIS content
ArcMap
Copyright © 2004 ESRI. All rights reserved.
Let's take a look at the process of creating and using a map service of either type. The first step is
to author the contents of the service. What is the data you wish to display, and what do you want
it to look like? We can specify the answers to these questions through an ArcMap map
document.
Copyright © 2007 ESRI. All rights reserved. 11
Creating and using map services
1. Author GIS content
ArcMap
2. Serve GIS services
ArcCatalog
ArcGIS Server Manager
Copyright © 2004 ESRI. All rights reserved.
Next, we want to serve this information out as a map service. This can be accomplished through
either ArcCatalog or ArcGIS Server Manager.
Copyright © 2007 ESRI. All rights reserved. 12
Creating and using map services
1. Author GIS content
ArcMap
2. Serve GIS services
ArcCatalog
ArcGIS Server Manager
3. Use GIS services
Web-mapping applications
ArcGIS Explorer
ArcGIS Desktop
ArcReader
Others…
Copyright © 2004 ESRI. All rights reserved.
Finally, we want to use or view that newly created map service. We can do this through many
different client applications, including a Web application, ArcGIS Explorer, ArcGIS Desktop,
ArcReader, and many, many more.
Copyright © 2007 ESRI. All rights reserved. 13
Copyright © 2004 ESRI. All rights reserved.
Software
demonstration
Let's take a look at each of the three steps in a demonstration. What I've done is I have prepared a
basic map document. This involves some data for Corvallis, Oregon. I'm actually going to be
focusing on an application for people to be able to view bicycle lanes and the locations of bicycle
shops, so I've got some special data that I've added in for that. Now, you'll notice in this map
document, as I zoom in, I get more and more information being displayed.
What I did was I took this map document that I created and then I created a service from it. If we
look down here on the left, in my connection here to my ArcGIS Server and in my MapServices
folder, I have a CorvallisBasicService running. I can actually preview it in ArcCatalog and again
interact with it. So this time, I'm looking at a map service that contains that information from my
map document. Again, you see the same behavior as we did in the map document.
Then what I did was I used the out-of-the-box tools to create a Web application. This is just the
simple template working through the wizards that are included with the ArcGIS Server Manager.
As I look at this, I have a navigation panel and I also have a Zoom In, Zoom Out, and Panning
option. I zoom into my data and, again, you see the same behavior occurring here as did with my
service in ArcCatalog and in ArcMap. I can navigate, so I can pan around this map, and then I
can return to the full extent of that data.
Copyright © 2007 ESRI. All rights reserved. 14
Flow of communication
Copyright © 2004 ESRI. All rights reserved.
WebServer
DataGIS
ServerNetwork
So, exactly what was happening as I was interacting with the Bicycle Transportation Web
application?
Copyright © 2007 ESRI. All rights reserved. 15
Flow of communication
1. Client makes request
Copyright © 2004 ESRI. All rights reserved.
WebServer
DataGIS
ServerNetwork
request
Each time I zoomed in, out, or panned the display to a different area, I was asking the server for a
new map.
Copyright © 2007 ESRI. All rights reserved. 16
Flow of communication
1. Client makes request
2. Sent to server
Uses ArcGIS Server local or Internet connection
Copyright © 2004 ESRI. All rights reserved.
WebServer
DataGIS
ServerNetwork
requestrequest
That request for a new map was sent to the server where the components of the server are hosted.
An ArcGIS Server local or Internet connection is made to access the server components. This is
where the request will initially meet the Web server, which hosts the Web applications and
services that are based on resources running on the GIS server.
Copyright © 2007 ESRI. All rights reserved. 17
Flow of communication
1. Client makes request
2. Sent to server
Uses ArcGIS Server local or Internet connection
3. Server puts together the information
Copyright © 2004 ESRI. All rights reserved.
WebServer
DataGIS
ServerNetwork
requestrequest
Next, the GIS server will use those GIS resources, such as the map document, and put together
the information requested.
Copyright © 2007 ESRI. All rights reserved. 18
Flow of communication
1. Client makes request
2. Sent to server
Uses ArcGIS Server local or Internet connection
3. Server puts together the information
4. Response sent to client
Copyright © 2004 ESRI. All rights reserved.
Network
response
request
WebServer
DataGIS
Server
response
request
At this point, that information is called a response, and it is sent back to the client. Imagine this
cycle continuing to occur each time the users are interacting with the service.
Copyright © 2007 ESRI. All rights reserved. 19
SOM - Server Object Manager
SOC - Server Object Container
Copyright © 2004 ESRI. All rights reserved.
A closer look
Network GISServer
SOM
SOC
WebServer
Data
To break this down a little further, I would like to tell you a bit more about the GIS server. Now,
bear with me, as an understanding of this process is ultimately going to help us think about what
we can do in our map document to help in this communication flow.
The GIS server is made up of the SOM and the SOC. The SOM, or Server Object Manager, is in
charge of managing all of the requests that are coming in from the client applications. The SOCs,
or Server Object Containers, are responsible for processing the requests and getting the responses
ready.
Copyright © 2007 ESRI. All rights reserved. 20
SOM - Server Object Manager
SOC - Server Object Container
Copyright © 2004 ESRI. All rights reserved.
A closer look
MapServer
SOM
SOC
Map Document
Network GISServer
WebServer
Data
In the case of a map service, this happens using a special object called the MapServer. The
MapServer could also be thought of as your map service, if you like.
Copyright © 2007 ESRI. All rights reserved. 21
SOM - Server Object Manager
SOC - Server Object Container
Copyright © 2004 ESRI. All rights reserved.
A closer look
MapServer
SOM
SOC
Render
Label
Arc
Ob
jec
ts
Project
…
Map Document
Network GISServer
WebServer
Data
This MapServer uses some finer-grained ArcObjects to assemble the information requested by the
user, through rendering, labeling, projecting, etc., the data that's referred to by the map document.
This is the standard communication flow for the requests being made for new maps by the users.
Copyright © 2007 ESRI. All rights reserved. 22
SOM - Server Object Manager
SOC - Server Object Container
Copyright © 2004 ESRI. All rights reserved.
A closer look
Render
Label
Arc
Ob
jec
ts
Project
…
Map Document
MapServer
SOM
SOC
Network GISServer
WebServer
Data
There are opportunities for optimization at several points in this flow; however, we will be
focusing on the authoring stages of the map document. This will allow us to optimize the map
service we are creating by controlling the amount of processing the MapServer will need to do
and when.
Copyright © 2007 ESRI. All rights reserved. 23
Review and Q & A
Map services
Two types
Non-cached (dynamic) and cached
Communication flow
In this section, we have learned that map services allow for data visualization, interoperability,
and support GIS functionality. There are two types of map services: cached and non-cached.
There is an important communication flow involving the components of the ArcGIS Server.
I'd like to take a moment now and pass things over to Tom who will answer some of your
questions.
Thanks, Danielle. Let's start our first question off: Daniel from Cleveland asks, "Can I use
custom layers or custom fonts in the maps I serve?" The answer is, yes, Daniel, you can use
custom layers, custom fonts, providing that the information needed to render those custom layers
or custom fonts is accessible by the SOC machine. So, if you have a distributed environment and
have your ArcSOC on five different machines and you have a custom font, you'll have to make
sure that custom font is on all five SOC machines.
Andrew from Boston wonders if map rotations are supported. Andrew, map rotation is
supported, but remember, once you serve the map, the users of that map service are likely to be
placing that map service in their own map, and it's that secondary map that they're using. If it's
ArcMap, it will start off with its own map rotation, so the map service itself will be then rotated
to zero. You're able to put in your own map rotation and the server will adjust accordingly. The
Copyright © 2007 ESRI. All rights reserved. 24
one caveat with map rotation is in creating a cache. You will not be able to create the map cache
from a map that is rotated.
Let's go next to Emily from Honolulu who asks, "Can I access data from a map service?" The
answer to that question really depends on what you mean by "access." If you want to query
features and get to see their attributes like you would from using an Identify tool or a Find tool,
these things are very much supported, but you have to remember that the service administrator
has the ability to block these capabilities – to put restrictions; but if they're not putting any
restrictions, these are supported right out of the box, and clients should have no problem utilizing
this functionality.
If you want to get something a little more sophisticated and actually get to the data, you can do
that, but if you're using ArcMap as a client, you won't be able to do this without a corresponding
geoprocessing service. What I'm saying is: if you really want to get to the geometry – to the
features themselves that are underlying the map service, you're going to need to do that with extra
work. You just can't do it out of the box with a map service.
Theresa from Miami wants to know if she can use cartographic representations in her map and
whether these are going to slow down the performance. I've got good news for you, Theresa.
You can use cartographic representations in your map, and they will not affect performance. So,
don't worry about that. They'll perform very similar to other types of rendering in your map.
I believe we have time for one more question. Let's see…trying to find a good one… Abigail
from San Francisco asks, "Can I serve layouts?" Yes, with a caveat, Abigail. Layouts – that
functionality is only accessible through a LAN connection through DCOM. You cannot access
an ArcMap service layout through the MapServer WSDL. If you want to access it through the
Internet, like a Web application, you're going to have to have the Web application reside on the
Web tier. Again, utilizing ArcMap as a client, you're really starting with a new layout, so adding
a map service to ArcMap, you cannot access the layout of the map service. You're really adding
a new layer and creating your new layout.
That's all the time we have for this section. I'd like to pass it back to Danielle.
Copyright © 2007 ESRI. All rights reserved. 25
Copyright © 2004 ESRI. All rights reserved.
Authoring for
non-cached
map services
Thank you. Well, this section that we're moving into now is going to be about authoring map
documents through a non-cached or dynamic service.
Copyright © 2007 ESRI. All rights reserved. 26
Copyright © 2004 ESRI. All rights reserved.
Performance in a non-cached service
Non-cached (dynamic) service communication flow
Network GISServer
WebServer
Data
MapServer
Let's remember that communication flow we learned about in the previous section. The client
initiates a request, that request is passed to the Web server, and then on to the GIS Server to be
processed. In this process, the MapServer will be accessing the data and putting it all together as
specified in the resource map document.
Copyright © 2007 ESRI. All rights reserved. 27
Copyright © 2004 ESRI. All rights reserved.
Performance in a non-cached service
Non-cached (dynamic) service communication flow
Improving performance
Decrease MapServer tasks
Network GISServer
WebServer
Data
MapServer
One approach to map service optimization is to decrease on the number of tasks that the
MapServer needs to do. How can I do this?
Copyright © 2007 ESRI. All rights reserved. 28
Copyright © 2004 ESRI. All rights reserved.
Performance in a non-cached service
Non-cached (dynamic) service communication flow
Improving performance
Decrease MapServer tasks Simplify the map document
Map (scale dependency, data)
Symbology (marker, line, polygon)
Text
Network GISServer
WebServer
Data
MapServer
Well, by simplifying the map document. We will consider this in terms of the map, the
symbology, and the text.
Copyright © 2007 ESRI. All rights reserved. 29
Copyright © 2004 ESRI. All rights reserved.
Simplify the map
Avoid
On-the-fly projection
Unused layers
Complex data for full extent
First of all, simplifying the map. Things to avoid include: on-the-fly projection of the data –
store your data with the same spatial reference; remove unused layers and information from your
map document; highly detailed features take longer to draw – at full extent, is that curvy coastline
detail really necessary or could a generalized coastline do the job just as well?
Copyright © 2007 ESRI. All rights reserved. 30
Copyright © 2004 ESRI. All rights reserved.
Simplify the map
Avoid
On-the-fly projection
Unused layers
Complex data for full extent
Use
Data appropriate for display scale
Definition queries
• Field and spatial indexes
Scale dependency
• Layers and labels
So, be sure to use data that is appropriate for the scale being displayed. You might find definition
queries helpful to accomplish this. The use of field and spatial indexes will help in the data
retrieval for any queries being performed on the data. The application of scale dependencies to
turn layers on and off, or to control their rendering, is a great technique for features and labels
alike.
Copyright © 2007 ESRI. All rights reserved. 31
Copyright © 2004 ESRI. All rights reserved.
Simplify the symbology
General principles for all symbols
Points, lines, polygons, and text
Slower speed
Cartographic symbols
Multilayer symbols
Labels
Bitmap (BMP) symbols
There are some general principles for map design that apply to all symbol types. Minimizing the
use of cartographic or multilayer symbols, labeling, and bitmaps for picture-based symbols will
help your map performance.
Copyright © 2007 ESRI. All rights reserved. 32
Copyright © 2004 ESRI. All rights reserved.
Simplify the symbology
General principles for all symbols
Points, lines, polygons, and text
Slower speed
Cartographic symbols
Multilayer symbols
Labels
Bitmap (BMP) symbols
Faster speed
Simple symbols
Optimized style
Annotation
Windows Enhanced Metafile (EMF)
symbols
Solutions to these issues would be the implementation of simple symbols, symbols from the
optimized style (included with ArcMap), annotation rather than labels, and perhaps the use of a
Windows Enhanced Metafile, or EMF, for fill symbols. Let's examine each of these subjects in
terms of their geometry type.
Copyright © 2007 ESRI. All rights reserved. 33
Copyright © 2004 ESRI. All rights reserved.
Marker symbology
Copyright © 2004 ESRI. All rights reserved.
Slower speed
Complex shapes or multiple layers
Faster speed
Simple geometry
First, marker symbols: complex shapes or multiple layers in a marker symbol will impact the
time it takes to render.
Copyright © 2007 ESRI. All rights reserved. 34
Copyright © 2004 ESRI. All rights reserved.
Marker symbology
Copyright © 2004 ESRI. All rights reserved.
Slower speed
Complex shapes or multiple layers
Special effects
Halos
Transparency
Masking
Offsets
Very large symbols
Faster speed
Simple geometry
Create an EMF using effects
Use picture marker symbol
No offset
Use symbols < 60 pts
Copyright © 2004 ESRI. All rights reserved.
In the case of marker symbols, the use of special effects, such as halos, transparency, masking,
and the application of offsets and large symbol sizes, can really add up. If you feel that these
effects are necessary, one suggestion is to create an EMF file for the symbol and then create a
picture symbol with the EMF file instead.
Copyright © 2007 ESRI. All rights reserved. 35
Copyright © 2004 ESRI. All rights reserved.
Line symbology
Copyright © 2004 ESRI. All rights reserved.
Slower speed
Cartographic lines (e.g., dash)
Multilayer symbol
Faster speed
Simple symbol
ESRI_Optimized style
Similar principles apply to the line symbology, too. It takes more time for the MapServer to
render a cartographic line symbol, particularly if it has many layers to it, than it does a simple
symbol. Choosing line symbols from the ESRI_Optimized style can help you make good choices
for your map service performance. This style was developed using the same principles we are
talking about here in this seminar.
Copyright © 2007 ESRI. All rights reserved. 36
Copyright © 2004 ESRI. All rights reserved.
Line symbology
Copyright © 2004 ESRI. All rights reserved.
Slower speed
Cartographic lines (e.g., dash)
Multilayer symbol
Offsets, wide width
Faster speed
Simple symbol
ESRI_Optimized style
No offset, width < 1.0 pt
Seconds to display
Cartographic lines
You can see in this graph that the use of offsets and wide line widths, when working with
cartographic lines, can be significant. So, as you see down here, the dash dot dash with an offset
and then a wide width will take quite a bit longer to return than if you had simply applied an
offset or used some sort of a variation in your symbol. So, these tradeoffs here are what you're
going to need to decide about as you work on designing your map document as to what you really
want or need.
Copyright © 2007 ESRI. All rights reserved. 37
Copyright © 2004 ESRI. All rights reserved.
Fill symbology
Copyright © 2004 ESRI. All rights reserved.
Slower speed
Cartographic outlines
Multilayer fill symbol
Faster speed
Solid or no outline
Simple fills, ESRI_Optimized style
As with line features, the use of cartographic outlines and multilayer fill symbols for polygons
can impact your performance. The use of solid fills without outlines is one idea, or for something
more interesting, you could again look to the ESRI_Optimized style.
Copyright © 2007 ESRI. All rights reserved. 38
Copyright © 2004 ESRI. All rights reserved.
Fill symbology
Copyright © 2004 ESRI. All rights reserved.
Slower speed
Cartographic outlines
Multilayer fill symbol
BMP fills
Faster speed
Solid or no outline
Simple fills, ESRI_Optimized style
Use EMF
Swamp.emfSeconds to display
Picture fills
Another good choice when it comes to fill symbols is the use of EMF files versus using a bitmap
for picture fill symbols. This is especially true when the bitmap image being used is a single-
color bitmap or a 1-bit image.
Copyright © 2007 ESRI. All rights reserved. 39
Copyright © 2004 ESRI. All rights reserved.
Text: Special effects
Copyright © 2004 ESRI. All rights reserved.
Slower speed
Special effects
(e.g., italics, halos, fill patterns)
Text backgrounds, serif fonts
(e.g., callout boxes)
Very large text size
(> 60 pts)
When looking at text symbolization, the use of special effects will again impact the speed of your
map service. Having to render serif fonts, additional backgrounds, and fills will take the
MapServer additional time.
Copyright © 2007 ESRI. All rights reserved. 40
Copyright © 2004 ESRI. All rights reserved.
Text: Special effects
Copyright © 2004 ESRI. All rights reserved.
Slower speed
Special effects
(e.g., italics, halos, fill patterns)
Text backgrounds, serif fonts
(e.g., callout boxes)
Very large text size
(> 60 pts)
Faster speed
Lighter background color or
shadow effect
Use wider line and
character spacing
Use appropriate font size
(10 pts best)
SFM
SFM
SFM
SFMSFM
SFMSFM
You can help in this by trying out lighter background colors, wider line spacing, and smaller font
sizes to clearly add text without affecting your performance. The use of a drop-shadow on a label
can really enhance text appearance with almost zero performance change.
Copyright © 2007 ESRI. All rights reserved. 41
Copyright © 2004 ESRI. All rights reserved.
Text: Labels vs. annotation
Copyright © 2004 ESRI. All rights reserved.
Slower speed
Map annotation
Complex labeling, Maplex
Labels with complex SQL
or VB scripts
Faster speed
Geodatabase annotation
ESRI Standard Label Engine
Create field with value for labels
Use label properties sparingly
An even better solution to text is the use of geodatabase annotation rather than labels. At the very
least, reducing the use of labeling, particularly that involving Maplex and complex SQL or VB
scripts, will have a significant affect on the map service. You will find a number of hints on
improving the drawing performance of your map documents and, therefore, your map service in
the ArcGIS Desktop Help topics for each type of symbology.
Copyright © 2007 ESRI. All rights reserved. 42
Copyright © 2004 ESRI. All rights reserved.
Software
demonstration
Let's take a moment to review a map document that I have prepared and consider what types of
things we could change to improve its performance once it has been published.
So, if I move down here, I have another map document that I've prepared for non-cached here.
Again, we're working with the Corvallis data, and you might notice that I've got quite a few
features that are being displayed at my full extent.
Even as I zoom in, you'll notice that I've got these little brown building layers appearing here, and
these are actually part of my Historic Places group layer that I wanted to be able to show. So,
over in my table of contents, if I go into the Historic Places, what I'd like to do is apply a scale
dependency to this particular layer. Actually, not even just to the layer itself – so the buildings in
the district, but I'm going to apply that dependency to the whole group layer.
If I go into the group layer properties, and on my General tab, I can say not to show this group
layer when I'm zoomed out beyond 1:20,000. If I apply that change now, you do not see the
buildings being displayed because we're out beyond that scale.
If I zoom in now to 1:20,000, they are now being added in. Now, since we're focusing in on our
Bicycle Transportation, I wanted to show you here a little bit of information about my bicycle
Copyright © 2007 ESRI. All rights reserved. 43
lanes. If I click on the symbol for bicycle lanes, then here what you'll see is that I'm actually
using a Cartographic Line Symbol.
I can get the same look and feel if I work with a Simple Line Symbol. I can get the same color,
and I can adjust the line width to be what I had with the cartographic. This will help a little bit
with our performance in the use of the simple symbol rather than the cartographic.
If I zoom in a little bit further to my map display, you'll start to see that I have some labeling that
appears. And I have quite a few special effects on this labeling, and I'm using not a fancy font,
but one that does include some of the serifs and decorations, such as this Times New Roman.
Now, on my General tab, actually I'm going to go in and show you some data frame properties
that are relevant right here. If I right-click on my data frame [and choose] properties, and I look
at the General tab, I have a reference scale that's being set of 1:35,000. This is the point from
which all my symbols and text are going to be scaled from. What you'll also notice here is that I
have a label engine specified, and I'm working with the Maplex Label Engine. I'm going to
change this over to the Standard Label Engine since I'm really working with something a little
simpler. I'm going to apply that change and say OK.
Now, you may notice that some of the placement of this text has changed a little bit. We're going
to go in and look at the properties for this labeling a little further.
I'm going to go look at the properties for my bicycle lanes on the Labels tab. The first thing that
we want to look at is the fact that I'm actually using an expression to label these bicycle paths,
and that expression is made up of three different fields of information. If you're able to, it might
be a good idea to create one field that contains all of this information. I created a field called
"FULLNAME" ahead of time that contains all of this. I'm going to label using FULLNAME.
Now what I want to do is change what my symbol is going to be. As I move into here, you might
have noticed that white outline. That's actually a halo effect on my text. I'm going to remove
that, and now I'm going to change my font to something a little simpler, such as an Arial font, and
I'm going to make it a little smaller for this map scale. Finally, since I moved into the ESRI
Standard Label Engine and not my Maplex anymore, I want to confirm that I've actually got my
label placement above the line, and in this case, I don't need to apply any kind of an offset to it.
Copyright © 2007 ESRI. All rights reserved. 44
The last thing I want to draw your attention to is the fact that I can not only set scale
dependencies or scale ranges on my layers and my group layers, as we saw with the historic
information, but I can also do this for my labels. I've actually got a setting here – 1:15,000 – so
that my labels are not displayed at all of the different scales.
Alright, I've applied those changes, and you can see them reflected here in the display area. What
you could also do is convert those labels into annotation, if you wish, using a right-click. That
will have to be something that you can explore as well. But the simpler labeling is going to help
in your performance.
One more thing I want to show you is the use of the ESRI_Optimized style. Over here, I've got
some parks that are being symbolized with one of the ESRI Standard symbols. If I right-click and
go into my properties, I'm actually going to look at my Symbology tab here, and I'm working
with, like I said, that ESRI Standard symbol set. I'm going to go in here and up above the screen,
I'm actually turning off the ESRI Standard symbol set, and I'm going to turn on the
ESRI_Optimized.
What you'll see in here is that I have got a series of symbols that are very familiar, but they've
been, like I say, optimized for Web performance, and I've actually got the very same symbol, but
available in that style. I'm going to switch over to that symbol, and I also have the option there of
removing the outline if I want to as well.
I'll apply that change, and then I'm also going to go over onto the General tab and set up a scale
dependency for this layer as well. Here, I don't want it to display out beyond 1:35,000. I'll apply
these changes and now when I zoom to the full extent of my data, you no longer see those historic
buildings or the park areas.
I want to save this map document out, so I'm going to say File > Save As, and I'm actually going
to save it right here in my directory and keep it with the name CorvallisNonCached. I'm going to
want to come back to this in a few minutes and take a look at the process of publishing this out
for use.
Copyright © 2007 ESRI. All rights reserved. 45
Review and Q & A
Best non-cached (dynamic) map service performance:
Simple map document
Simple symbology, text, and features
ESRI_Optimized style
Copyright © 2004 ESRI. All rights reserved.
So, for best dynamic map service performance, keep the map document simple. Remove
extraneous information. Use simple symbology, text, and features. Use the ESRI_Optimized
style. In general, you can think about this principle: if it draws slowly in ArcMap, the map
service will perform slowly, too.
Now, you do not have to compromise your advanced cartography for a map service. You can
create a cached service, as we will see shortly.
Let's take this opportunity once more to answer some of the great questions that we see coming
in. Tom…
Thanks, Danielle. I'd like to start off with a question Andy has. Andy is from Shreveport, and
Andy asks, "Does ArcMap use the optimized style by default?" No, Andy, ArcMap does not use
that style by default. You'll have to manually go in and make those changes.
Christopher from Portland has a question concerning the optimized style, and he's asking, "Why
are there no marker symbols in this style?" The marker symbols that we have are currently the
most proficient that we can make right now, given the software that we have. So, go ahead and
feel free to use the ESRI style marker symbols and simple symbol set.
Copyright © 2007 ESRI. All rights reserved. 46
Nancy from Boston asks, "Do group layers help improve performance at all?" Nancy, group
layers do not affect performance at all. We view group layers as an excellent management tool.
If you're working in a large organization and you're passing layer files around, you may want to
consider grouping everything together and creating one layer file from the group. That helps out
quite a bit in distributing your work.
Lance from Ann Arbor asks a question, "Are my ArcGIS Server maps going to be faster than my
ArcIMS maps?" Lance, there are a couple things to this question. It really depends on whether
your ArcGIS Server map is a cached or a non-cached map service. If it's a non-cached map
service, or a dynamic map service, in general it will be slower than your ArcIMS map service.
However, if your ArcGIS Server map service is cached, it will be faster than the ArcIMS map
service.
A user is asking, "Can we dynamically add layers to the map from ArcSDE?" Yes, you can do
that, but you're going to need to do that at the server tier, the Web tier. You're going to have to
have access to the fine-grained ArcObjects in order to change the state of the map that's being
used in the map service. You're probably going to want to do this with a non-pooled object. For
those that aren't familiar with pooled and non-pooled objects, a pooled object is shared. All the
instances within that pool are shared amongst different users. A non-pooled is not shared, so if
you're doing stateful changes to the map service, you'll definitely want to use a non-pooled object.
Now, a non-pooled object will not perform as well as a pooled object, especially through the
Internet. You'll probably want to use a pooled object, unless you're going to do heavy-duty stuff
like adding layers – really changing the state of a map, and there you should use non-pooled
objects to do that.
I think we have time for one more question. Let's go to…there are so many good questions…ah,
Kelly from Austin asks, "What are my map services by default: non-cached or cached?" Kelly,
the map services by default are non-cached. You will need to utilize a map service in order to
create the cached map service.
I'd like to take this time to pass it back to Danielle.
Copyright © 2007 ESRI. All rights reserved. 47
Copyright © 2004 ESRI. All rights reserved.
Publishing
map services
Thanks very much, Tom. Let's take a look at publishing map services, and then we'll spend some
time on cached map services.
Now that we've worked so hard to create a well put together map document, we want to make it
available for use by publishing it using ArcGIS Server.
Copyright © 2007 ESRI. All rights reserved. 48
Copyright © 2004 ESRI. All rights reserved.
Publishing a service
Make information available over the Web
Publishing a service means that you are making the information – in our case, the map document
– available over the Web.
Copyright © 2007 ESRI. All rights reserved. 49
Publishing a service
Make information available over the Web
Use ArcGIS Server Manager
Use ArcCatalog
Copyright © 2004 ESRI. All rights reserved.
We have two options for where this can be done – ArcGIS Server Manager or ArcCatalog. In
both environments, you can publish a service directly from the resource, or you can add the new
service to the server. Once you have specified a name for this service and the map document that
will define it, you will be asked for the capabilities you wish to enable.
Copyright © 2007 ESRI. All rights reserved. 50
Service capabilities
Mapping
Provides access to contents
of a map document
Copyright © 2004 ESRI. All rights reserved.
A panel with a list of options will appear. This list will vary based on the resource you are
publishing. The Mapping capability will always be enabled when you are publishing a map
document, thus, giving access to the contents of that document.
Copyright © 2007 ESRI. All rights reserved. 51
Service capabilities
Mapping
Provides access to contents
of a map document
WMS
Compliant with Open Geospatial
Consortium’s (OGC) Web Map
Service (WMS) specification
Copyright © 2004 ESRI. All rights reserved.
The WMS capability allows for the map service to be implemented in applications that use the
OGC, or Open Geospatial Consortium's, Web Map Service specification. This relates to the
interoperability characteristic of map services published using ArcGIS Server.
Copyright © 2007 ESRI. All rights reserved. 52
Service capabilities
Mapping
Provides access to contents
of a map document
WMS
Compliant with Open Geospatial
Consortium’s (OGC) Web Map
Service (WMS) specification
Mobile Data Access
Allows data extraction
to a mobile device
Copyright © 2004 ESRI. All rights reserved.
The Mobile Data Access capability allows for data to be extracted from the service to a mobile
device.
Copyright © 2007 ESRI. All rights reserved. 53
Service capabilities
Mapping
Provides access to contents
of a map document
WMS
Compliant with Open Geospatial
Consortium’s (OGC) Web Map
Service (WMS) specification
Mobile Data Access
Allows data extraction
to a mobile device
KML
Uses a map document to create
Keyhole Markup Language (KML) features
Copyright © 2004 ESRI. All rights reserved.
And the KML, or Keyhole Markup Language, capability allows for interoperability of ArcGIS
Server map services with applications that read KML. Properties set on layers in the ArcMap
document can be published in a KML application.
Copyright © 2007 ESRI. All rights reserved. 54
Service properties
Can be modified after service is created
Capabilities, operations allowed, Web access
Copyright © 2004 ESRI. All rights reserved.
The properties of a service, once it is being created, may be edited by stopping the service. Edits
are made, and the service is restarted once again.
Copyright © 2007 ESRI. All rights reserved. 55
Service properties
Can be modified after service is created
Capabilities, operations allowed, Web access
Many properties
Pooling, Timeouts, Isolation, Recycling
Opportunities for some optimization of service
Copyright © 2004 ESRI. All rights reserved.
There are many properties for the service that can be set, including the Pooling, Timeouts,
Isolation, and Recycling. All of these properties provide some opportunity for some fine-tuning
of the service and are explained more thoroughly in the ArcGIS Server Help in the Tuning and
configuring services topic.
Copyright © 2007 ESRI. All rights reserved. 56
Copyright © 2004 ESRI. All rights reserved.
Software
demonstration
We will now take a few minutes and publish the map document we created in the previous
demonstration.
If I come down and I take a look at my ArcCatalog, what I'm going to do is look for that map
document that we just created. I need to just refresh that display, and now I can see my new non-
cached map document.
I can right-click on that map document and say Publish to ArcGIS Server. When I do this, the
first thing I need to give is the name of the service, which I'm just going to keep as
CorvallisNonCached. I can put that service inside of an existing folder or not in a folder, and I
can even create new folders. This is just a way to organize your services. Next, I have those
capabilities that we discussed in the lesson, and finally I get a short summary panel about what's
going to be made.
I come down here to my GIS server and, if I look in my MapServices folder, I can see that I now
have the CorvallisNonCached service. If I look at it at full extent, I'm going to see the full extent
of the city of Corvallis, and then I can use my zooming in and out tools in order to be able to
display more or less information.
Copyright © 2007 ESRI. All rights reserved. 57
I mentioned that there's an alternative approach, so I could either go to the resource like I did –
the map document – and publish it, or I can go to my server and I can say here Add a New
Service. In fact, you can actually even go to the folder and say, Add in a New Service. Either
way results in a map service being created. The second might take a little longer as you're setting
up the properties during the service creation. It's important to know, however, that those
properties, as I mentioned, can be changed at a later time if you wish.
Let's take a look at the properties for our non-cached service. If I start over here with our General
tab, I can see that I have the name of the service and what type of service it is. Next, I've got my
Parameters, so it specifies what the resource document is that's defining the service, and then it
has several output directories that we'll be using a little later on if we decide to cache this.
There's a Capabilities tab here, so if I had stopped my service, I would be able to change these
capabilities. Notice that there are also Operations allowed, so you decide what is going to be able
to happen using this map service.
There's also a special Pooling tab here, and Tom mentioned about pooling. Essentially, pooled
services is where we have a group of instances all together and we access those instances. If it's
non-pooled, then we have a dedicated instance for the user. We also have the ability to set up
some timeout values for how long our clients will wait for responses, and we also have recycling
settings, as well as how we want each one of our services to run on the host machines under this
Processing tab. So, like I said, there's a lot more information in that Server help topic that I
mentioned.
On the Caching tab, we've got a directory that's been specified as well as an opportunity to
generate that cache. I'd like for you to remember this as we go through the next section.
One thing that I would like to mention here, and that has come up, is that if I make changes to my
map document; so, for example, if I change the symbology for my parks or for my bicycle lanes –
maybe I change the color or I add in more layers – then I would need to go and stop my service
and restart that service in order to see those cartographic changes. If there are changes to the data
in the database for my map service, in the case of a dynamic service, that's what's going to be
displayed – the new features would be shown. I just wanted to make sure that that was clear as
well.
Copyright © 2007 ESRI. All rights reserved. 58
Review
Publish the map document to create map service
Use ArcGIS Server Manager or ArcCatalog
Copyright © 2004 ESRI. All rights reserved.
In review, we published the map document to create the map service using ArcCatalog, or we
could have used the ArcGIS Server Manager.
Copyright © 2007 ESRI. All rights reserved. 59
Copyright © 2004 ESRI. All rights reserved.
Authoring for
cached
map services
Now, we will spend the last section of the presentation looking at authoring for cached map
services.
Copyright © 2007 ESRI. All rights reserved. 60
What is a map cache?
Set of map images
Pre-rendered for rapid display
Created at pre-determined scale levels
Copyright © 2004 ESRI. All rights reserved.
First of all, what is a map cache? As the name implies, this is a set of images that are rendered in
advance at pre-determined scales and hidden away for later use.
Copyright © 2007 ESRI. All rights reserved. 61
Copyright © 2004 ESRI. All rights reserved.
What is a map cache?
Set of map images
Pre-rendered for rapid display
Created at pre-determined scale levels
Folder hierarchy
Created based on
scales
Tiles
Stored in server cache
directory
Based on the scales chosen, a folder hierarchy is created for the images and the extent of the data
divided based on the specified tiling scheme.
Copyright © 2007 ESRI. All rights reserved. 62
Communication flow for cached services
Increased performance
Faster to retrieve cached image than have the server generate it
Render map once during cache generation
Copyright © 2004 ESRI. All rights reserved.
Network GISServer
WebServer
Data
Cache
I'd like to talk a little more about that communication flow we learned earlier. A request is made
by the client or user and sent to the Web server. Now, rather than going to the GIS server to get
the data directly, the Web server is going to look for a cached directory and retrieve the image of
the data that was pre-rendered. This is much faster than working to find and render the data for
each request individually.
Copyright © 2007 ESRI. All rights reserved. 63
Communication flow for cached services
Increased performance
Faster to retrieve cached image than have the server generate it
Render map once during cache generation
Can still perform identify, query, and search of data
Copyright © 2004 ESRI. All rights reserved.
Network GISServer
WebServer
Data
Cache
Now don't be concerned here, as we can still identify, query, and search the data by accessing the
GIS server in these cases.
Copyright © 2007 ESRI. All rights reserved. 64
Copyright © 2004 ESRI. All rights reserved.
Decision to cache or not
Cached service best for:
Complex base maps and imagery
Data that does not change frequently
The decision is: do I want to create a cached service or not? As mentioned earlier in the
presentation, a cached service really is going to give you the best performance. They work best
for complex basemaps and imagery, along with the data that isn't going to be changing very
frequently.
Copyright © 2007 ESRI. All rights reserved. 65
Copyright © 2004 ESRI. All rights reserved.
Decision to cache or not
Cached service best for:
Complex base maps and imagery
Data that does not change frequently
Non-cached (dynamic) services best for:
Data that changes frequently
Data layers rendered by attributes that change frequently
Data that will be edited
I might not choose to cache a data layer if the information changes by the hour or even daily.
Perhaps the data is being rendered based on attributes that are changing often, or I'm going to be
editing the data through a Web application. Under these circumstances, I might not use a cached
service for these layers, but I want to be clear here that you can bring together several different
services in one application or in one client. So, it is entirely possible for you to divide your
information so that you can create a cached service for data layers that will not be changing
frequently, and then have another service that has just those layers that will be changing or very
dynamic.
Copyright © 2007 ESRI. All rights reserved. 66
Copyright © 2004 ESRI. All rights reserved.
Caching is an investment
Benefits in performance and cartographic quality
The benefits for this caching process, although it's an investment, really are great in terms of the
performance as well as the cartographic quality that you can implement.
Copyright © 2007 ESRI. All rights reserved. 67
Copyright © 2004 ESRI. All rights reserved.
Caching is an investment
Benefits in performance and cartographic quality
Non-cached (dynamic)
Low-resolution relief
Solid colors
Annotation
Based on what we've learned, I might use low-resolution relief, more solid colors, and annotation
in my dynamic service.
Copyright © 2007 ESRI. All rights reserved. 68
Copyright © 2004 ESRI. All rights reserved.
Caching is an investment
Benefits in performance and cartographic quality
Cached
Shaded relief
Transparent layers
Maplex labeling
Non-cached (dynamic)
Low-resolution relief
Solid colors
Annotation
Where, I could more easily use my detailed, shaded relief data, transparencies, Maplex labeling,
and more if I were caching the service.
Copyright © 2007 ESRI. All rights reserved. 69
Process of building a cache
1. Plan
Allocate resources
Decide on cache type, tiling scheme, spatial reference
Choose scales
Copyright © 2004 ESRI. All rights reserved.
I'd like to spend a moment and evaluate the process of building the cache. As with any project,
the preparation stages are very important. Allocation of resources, decisions regarding the cache
type and schema, as well as the cache scales will need to be determined.
Copyright © 2007 ESRI. All rights reserved. 70
Process of building a cache
1. Plan
Allocate resources
Decide on cache type, tiling scheme, spatial reference
Choose scales
2. Author
Create map document
Test map document
Copyright © 2004 ESRI. All rights reserved.
Next, you will need to create and test the map document.
Copyright © 2007 ESRI. All rights reserved. 71
Process of building a cache
1. Plan
Allocate resources
Decide on cache type, tiling scheme, spatial reference
Choose scales
2. Author
Create map document
Test map document
3. Generate
Pilot project
Build the images
Copyright © 2004 ESRI. All rights reserved.
Following this, you will need to conduct a small pilot project to evaluate your planning and map
document, as well as by generating the full cache. Let's take a look at each one of these steps and
see some of the ideas and considerations for each.
Copyright © 2007 ESRI. All rights reserved. 72
Plan
Resources
Storage space
Generation time
Copyright © 2004 ESRI. All rights reserved.
Since we are generating a directory full of images, we want to consider the storage space and the
time to generate or render the files. Caches can take anywhere from a few minutes to a few hours
and sometimes days to generate depending on how much data you have. So, you can see that a
little planning and testing will be helpful.
Copyright © 2007 ESRI. All rights reserved. 73
Plan
Resources
Storage space
Generation time
Cache types
Fused
• Combines layers into
one set of images
Multilayer
• Creates separate sets of images for each layer
Copyright © 2004 ESRI. All rights reserved.
For best performance
Fused is recommended
Overlay two fused map services
rather than multilayer cache
There are two types of caches: fused, where one set of images is created for all of the layers, and
multilayer, where a set of images is created for each of the layers. For best performance, fused
caches are recommended and commonly used. We suggest overlaying two separate fused map
services rather than using one multilayer.
Copyright © 2007 ESRI. All rights reserved. 74
Plan
Resources
Storage space
Generation time
Cache types
Fused
• Combines layers into
one set of images
Multilayer
• Creates separate sets of images for each layer
Tiling scheme
Use one scheme for all services
Consists of origin, tile width/height, scale levels,
file format (e.g., .png, .jpg)
Copyright © 2004 ESRI. All rights reserved.
Next is the tiling scheme. You should use one tiling scheme for all services that will be used
together. This scheme consists of an origin, a tile height and width, as well as the file format for
the images – another important decision.
Copyright © 2007 ESRI. All rights reserved. 75
Copyright © 2004 ESRI. All rights reserved.
Plan scale
Choose scale levels carefully!
Affect cache creation time and storage size on disk
Web application users limited to these scales
Finally, there is that decision as to what scale levels you will create the cache at. This choice is a
very important one as it will not only affect the creation time and storage size of the cache, but
also your users' map service experience. In some cases, this is what will limit the scales at which
your users will be able to view the data at. You want to be sure that your users are getting the
information they need.
Copyright © 2007 ESRI. All rights reserved. 76
Copyright © 2004 ESRI. All rights reserved.
Plan scale
Choose scale levels carefully!
Affect cache creation time and storage size on disk
Web application users limited to these scales
Suggestions
Determine closest scale the user will need
Double the scale factor until you reach scale of data extent
• Example: 1:2400, 1:4800, 1:9600, 1:19200…
Some suggestions for deciding on your scale levels include first determining the closest scale that
the user will need. Next, take this scale factor and double it until you reach the scale of the data
extent.
Copyright © 2007 ESRI. All rights reserved. 77
Copyright © 2004 ESRI. All rights reserved.
Plan scale
Choose scale levels carefully!
Affect cache creation time and storage size on disk
Web application users limited to these scales
Suggestions
Determine closest scale the user will need
Double the scale factor until you reach scale of data extent
• Example: 1:2400, 1:4800, 1:9600, 1:19200…
Match scale to other
services you will use
• Example: ArcGIS Online
Another option is to match the scales to the other services that you will be using. For example, if
you are going to incorporate some of the ArcGIS Online services, you could cache your service at
the same scales. As you can see, ArcGIS Online uses some very specific scale levels. Please
refer to the ArcGIS Server Development Blog for more details as to how to do this. I will be
providing more information on finding the blog later in this presentation, or you could also use
that shortcut link down to the left-hand side of your screen.
Copyright © 2007 ESRI. All rights reserved. 78
Copyright © 2004 ESRI. All rights reserved.
Author for cached map services
Design the map for each scale of the cache using:
Group layers
I now want to talk about the authoring process for a map document that will be used for a cached
map service. You want to design your map document for each scale that you intend to build the
cache at. The approach you take will be up to you, but you can see two examples here. The first
shows a group layer created for a general layer, in this case, Highways. The layer has been
added, or the data has been added, and symbolized multiple times for each scale level.
Alternatively, you could create a group layer for the map scale and add the layers and symbolize
them in there. The choice is up to you.
Copyright © 2007 ESRI. All rights reserved. 79
Copyright © 2004 ESRI. All rights reserved.
Author for cached map services
Design the map for each scale of the cache using:
Group layers
Definition queries on layers
Next, I can apply a definition query to the layers. As you can see on the left, I have fewer roads
being displayed than I do as I move in closer. A definition query, which is set in the layer
properties, means that I can use the same dataset simply displaying different amounts of it at each
scale.
Copyright © 2007 ESRI. All rights reserved. 80
Copyright © 2004 ESRI. All rights reserved.
Author for cached map services
Design the map for each scale of the cache using:
Group layers
Definition queries on layers
Scale dependencies on layers, labels, symbology
Scale dependencies set on the layers, labels, and symbology will also be very helpful. We saw
how to do this in the first section of the presentation.
Copyright © 2007 ESRI. All rights reserved. 81
Copyright © 2004 ESRI. All rights reserved.
ArcMap tips
Define a list of scales and use to test the map
Detailed
Local
Regional
State
Now a couple of tips for when you're working in ArcMap: Since we are testing the map display
at our caching scales, I can now customize the scale pull-down on the Standard toolbar to reflect
those scales, and you saw me working with those earlier, actually, as I navigated my map
document.
Copyright © 2007 ESRI. All rights reserved. 82
Copyright © 2004 ESRI. All rights reserved.
ArcMap tips
Define a list of scales and use to test the map
Set the data frame extent
In addition, something else very, very important I want to show you is the application of a data
frame extent. This is a property of the data frame in your map document, and it is what will
determine the boundary of the data the cache will be generated for. We'll see how to use this in a
minute.
Copyright © 2007 ESRI. All rights reserved. 83
Copyright © 2004 ESRI. All rights reserved.
ArcMap tips
Define a list of scales and use to test the map
Set the data frame extent
Set background color
Defines transparent part of an image
Default = 253, 253, 253 (nearly white)
Choose a color that is NOT used in the symbology
Next, I want to tell you a bit about setting the background color. This is an important setting for
map documents that will be used in cached map services, since it defines the transparent part of
the image. If you're going to be working with several services together, some of them might need
to be transparent. If you do not set this value yourself, the default is a nearly white color. It is
recommended to use a color that is not used in your symbology as these are the areas that will
ultimately become transparent.
Copyright © 2007 ESRI. All rights reserved. 84
Copyright © 2004 ESRI. All rights reserved.
Generate map server cache
Use ArcCatalog to generate the cache
Map Service Properties
The last part of this is to generate your map server cache. We can use ArcCatalog and work with
the caching properties tab for the map service, as you will see in a few minutes.
Copyright © 2007 ESRI. All rights reserved. 85
Copyright © 2004 ESRI. All rights reserved.
Generate map server cache
Use ArcCatalog to generate the cache
Map Service Properties
Server Tools toolbox
• Generate, delete, update caches
• Generate tiling scheme
Or, you can access the Server Tools toolbox, where a series of tools are available for generating,
deleting, updating, and generally managing your cache.
Copyright © 2007 ESRI. All rights reserved. 86
Copyright © 2004 ESRI. All rights reserved.
Pilot project
1. Create the cache for a small area
Set the data frame extent to specify area
So, about that pilot project: create a cache for a small area of your data first. You can specify
this area using the data frame extent setting I spoke of a few moments ago.
Copyright © 2007 ESRI. All rights reserved. 87
Copyright © 2004 ESRI. All rights reserved.
Pilot project
1. Create the cache for a small area
Set the data frame extent to specify area
2. Examine cached service for:
Appearance of symbology, labels, etc.
Performance in your preferred client application
Examine the cache for the appearance of your symbology, labels, and performance in your
preferred client application.
Copyright © 2007 ESRI. All rights reserved. 88
Copyright © 2004 ESRI. All rights reserved.
Pilot project
1. Create the cache for a small area
Set the data frame extent to specify area
2. Examine cached service for:
Appearance of symbology, labels, etc.
Performance in your preferred client application
3. Make necessary adjustments and build again
4. Track time for area and then estimate for entire dataset
Make any necessary adjustments and rebuild that small area. Track the time for generating it, and
that way you will be able to estimate the time and storage space for the entire dataset.
Copyright © 2007 ESRI. All rights reserved. 89
Copyright © 2004 ESRI. All rights reserved.
Pilot project
1. Create the cache for a small area
Set the data frame extent to specify area
2. Examine cached service for:
Appearance of symbology, labels, etc.
Performance in your preferred client application
3. Make necessary adjustments and build again
4. Track time for area and then estimate for entire dataset
Further caching resources:
Online Help (webhelp.esri.com)
ArcGIS Server Development Blog
For further information on caching, I encourage you, once again, to refer to the ArcGIS Server
Blog and the ArcGIS Server Online Help. There are a number of helpful entries and topics
located there for you.
Copyright © 2007 ESRI. All rights reserved. 90
Copyright © 2004 ESRI. All rights reserved.
Software
demonstration
Let's take a quick look at a map document that was designed for a cached map service and some
of the caching properties that can be set. So, here I've got, again, more data for the city of
Corvallis, Oregon, and we're using similar ideas in terms of our Bicycle Transportation map. But
what I want to point out to you is a number of things.
The first thing is that in my parks, so down here, you can see that I actually added the data in
twice. I added it because I wanted to use a different symbol when I'm working at the different
scales. So here, you can see that my parks are shown in a solid green, but if I zoom in a little bit
closer, you'll see that I'm starting to use a representation. As Tom said, representations won't
necessarily impact that performance, but it's just a cartographic preference that I have here.
With my highways, I did something similar, too. As I zoom in, the Highways symbol becomes a
little bit narrower and I've put different kinds of labeling on it. In fact, I don't even have it at a
closer scale. And if I move out to the full extent, you'll start to see that I've got those highways
labeled.
Now, let's look at that data frame extent. So, I right-click on the data frame, go into Properties,
and here, on the Data Frame, I can see at the bottom that I can either go with the Default setting,
which is the extent of all of the data that are added in, or I can use another option. Now, I have a
Copyright © 2007 ESRI. All rights reserved. 91
custom extent set at the moment, but I can also go, perhaps, with the Outline of Features, and then
I can specify one of the layers that I have. So, perhaps the City Boundary would be appropriate.
So, I wanted to make sure that you knew about this because this is that setting where you control
the extent at which you want to build the cache.
Now, let's return to that ArcCatalog environment, and I actually got a service running here called
CorvallisCached. And, in fact, if we look at those Service Properties on our Caching tab, I can
see that I actually pre-created the cache.
But let's look at the process I went through. Up here, I have a Generate button, and this generate
is going to access the ArcToolbox for the Server tools. So in here, as I go through, I can see that
I've actually got a lot of the fields populated because I'm doing this from the service.
In the middle, I have the option to specify custom scales or I can use standard and have
ArcCatalog calculate them for me. Here, I can enter in values and put them into the list.
Now further down, you have another important setting and that is this Cache Tile Format. So
you've got options of several kinds of PNGs as well as a JPEG image. The choice of image type
here is important in that some of them support the transparency and others do not. Also, the sizes
of these files are different. If you click on this Show Help button here, then you can actually see
what those different file formats are for and what their strengths and weaknesses are. So you've
got flexibility and choices there.
You have your Tile Width here and then you also have this Cache Type – remember that fused
and multilayer. Again, your fused will give you the best performance and it's very commonly
used.
Now when I run that Generate tool, what happens is that a folder of files was created. It was put
in this \arcgisserver\arcgiscache directory because this is what was configured during my
installation of ArcGIS Server. You can actually generate the cache to any folder you want to;
however, it needs to be in a specific place for ArcGIS Server to be able to work with it and see it
when the time comes, and for us, in this installation, it's the arcgiscache [folder].
Copyright © 2007 ESRI. All rights reserved. 92
So you'll see that I have a folder for my MapService_CorvallisCached service, and inside of here
a hierarchy has been created that corresponds to each one of my scale levels. Inside of this, you
see the tiling scheme that's been applied and then you get a folder full of images that have been
created.
So how does this translate to the user? Well, I created again another out-of-the-box application.
This is the City of Corvallis – Cached Service. And again, I have my Zoom In and my Zoom Out
tools, and as I do that, I get more and more information being displayed. But the difference that
you'll see in the out-of-the-box applications is this little zoom in/zoom out notched slider bar. So
I can use this slider bar now to move in and out from the data. And again, you see the behavior
from the map document. However, what we need to understand is that these notches correspond
to our cache, and so this is where our users will be a little bit controlled by your decisions on the
caching level.
Copyright © 2007 ESRI. All rights reserved. 93
Review and Q & A
Cached services
Much faster performance
Advanced cartography
Caching requires initial investment
Planning
Generation time
Storage space
Copyright © 2004 ESRI. All rights reserved.
In review, although caching does require an initial investment in planning, authoring, and
generation, the benefits in performance and cartographic display are significant.
I'm sure you've got some questions now for Tom, so let's take some time and address a few of
those.
Thanks, Danielle. Let's start with Dustin from Townsville. Dustin asks, "On a single-box
installation, how many SOCs are allowed?" Really, Dustin, there's really no limit. It depends on
how much memory you have on that box. If you start to run out of memory, you can always add
additional machines to your GIS server. What I'd like to do is highlight a white paper that we
have; it's titled, ESRI System Design Strategies – it's available on the Web site. There's also a lot
of information in the ArcGIS Web Help that should help you figure out what kind of questions
you need to ask when configuring your GIS server and looking at what kind of hardware and
what you have available.
Next question. We've got Roland from Annapolis. Roland is asking, "Is it possible to create or
manipulate caches in ArcGIS Server Manager?" Unfortunately, Roland, you will need
ArcCatalog to create and manipulate the caches. This functionality, at 9.2, is not available in the
Manager.
Copyright © 2007 ESRI. All rights reserved. 94
Jim from Vancouver is asking, "How much does anti-aliasing affect performance?" I'm assuming
this is the performance in creating the cache. It will affect the performance if you're choosing to
anti-alias – your caching will take longer.
Mike from Calgary asks, "If you convert labels to annotation and save the anno in the map, can
this still be accessed via ArcGIS Server through ArcMap, Web services, ArcGIS Explorer, etc.?"
Michael, yes, it'll be accessed, but I think I have to caution you about saving the annotation in the
map, or MXD. Depending on the amount of annotation, you could get a pretty big MXD. I
would highly recommend that you save the annotation in a geodatabase. There, you'll definitely
have the performance benefits. It's just a much better solution.
Next we have Paul from Santa Cruz asks, "How will a table join perform in a cached service?
Will the join persist after caching?" Yes. You will have the join available because the data –
unlesss you've done something – the data will still be available on the cache so that you can do
identify, find. It'll still be available, so that join will still be there. Just to make sure – if that join
is based on a business table that you have, maybe on a separate machine – that all your
appropriate ArcSOC accounts have the proper permissions to that data.
Paul from Sacramento asks, "If I wanted to create a cached map service, can I set the file type,
such as JPEG or PNG? Is it important what you select? Where is it set?" Well, as Danielle
showed in her demonstration, that's set in the Generate Map Server Cache dialog. The file type
does matter – JPEGs are smaller. They'll be faster, but they do not support transparency, so it
really depends on what you anticipate your users doing with your map service. If it's primarily
for a basemap – let's say you have lots of imagery in this particular map service – then I would
recommend using a JPEG. However, if your map service is possibly street networks or
something that a user may overlay on top of other data or other layers or even other services,
there you'd want an image type that supported transparency. So, there, you'd want to use one of
the PNGs.
Simon from Bathurst asks, "How are conflicts (i.e., symbology text) managed when using a mix
of cached and non-cached services?" Simon, there are no conflicts. The image that's cached will
just draw and that's got labels, and then you've got another service and you put it on top of your
Copyright © 2007 ESRI. All rights reserved. 95
non-cached service – it’s independent. No software is figuring out what the conflicts are, so it's
likely that you're going to have overlapping labels and overlapping text.
Let's see, I have time for one more question. Let’s pick a good one…Gavin from Phoenix asks,
"Can I update the cache if some data changes? Is it very hard to do?" Gavin, I've got very good
news for you. Yes, you can update the service, the cache. You can do that using the Update Map
Server Cache geoprocessing tool. If this is something that you do periodically, you can create a
script using Python. It's also a good tool to break up large caching jobs into distinct areas.
Basically, we're trying to make the caching experience as user-friendly as possible. We
understand that many users want to use cache for not only data that may never change or changes
yearly, but for data that changes more periodically – monthly, weekly, and possibly even daily.
We're working very hard to make that a reality for you and to make that process the best it can be.
I'm sorry, but that's all we have time for. I'd like to pass this back to Danielle for final comments.
Thank you.
Copyright © 2007 ESRI. All rights reserved. 96
Copyright © 2004 ESRI. All rights reserved.
For more information
Web training
What’s New in ArcGIS Server 9.2
Authoring and Publishing Geoprocessing Services
Instructor-led training
Introduction to ArcGIS Server
Developing Applications for ArcGIS Server for the Microsoft .Net Framework
Developing Applications with ArcGIS Server Using the Java Platform
Other resources
Support site (support.esri.com)
ArcGIS Server Development Blog (blogs.esri.com)
Online Help (webhelp.esri.com)
Thank you, Tom. Before we go, I'd like to point you to a few resources. We do have both online
and instructor-led ArcGIS Server training available to you. We would also like to remind you
about that Server Development Blog that has articles posted very regularly – very interesting
options for you there – as well as our Support site and the Online Help documentation or
resources that are also updated weekly to keep you with the best information and most up-to-date.
Your comments help us improve our seminars. Please take a moment to complete our survey.
Just click the "Give us feedback" link to take that survey. We hope you enjoyed today's seminar.
On behalf of ESRI, I'd like to thank you all for attending.