Authoring and publishing_optimized_map_services_slides

97
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.

Transcript of Authoring and publishing_optimized_map_services_slides

Page 1: 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.

Page 2: Authoring and publishing_optimized_map_services_slides

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.

Page 3: Authoring and publishing_optimized_map_services_slides

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.

Page 4: Authoring and publishing_optimized_map_services_slides

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.

Page 5: Authoring and publishing_optimized_map_services_slides

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.

Page 6: Authoring and publishing_optimized_map_services_slides

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.

Page 7: Authoring and publishing_optimized_map_services_slides

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.

Page 8: Authoring and publishing_optimized_map_services_slides

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.

Page 9: Authoring and publishing_optimized_map_services_slides

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?

Page 10: Authoring and publishing_optimized_map_services_slides

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?

Page 11: Authoring and publishing_optimized_map_services_slides

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.

Page 12: Authoring and publishing_optimized_map_services_slides

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.

Page 13: Authoring and publishing_optimized_map_services_slides

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.

Page 14: Authoring and publishing_optimized_map_services_slides

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.

Page 15: Authoring and publishing_optimized_map_services_slides

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?

Page 16: Authoring and publishing_optimized_map_services_slides

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.

Page 17: Authoring and publishing_optimized_map_services_slides

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.

Page 18: Authoring and publishing_optimized_map_services_slides

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.

Page 19: Authoring and publishing_optimized_map_services_slides

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.

Page 20: Authoring and publishing_optimized_map_services_slides

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.

Page 21: Authoring and publishing_optimized_map_services_slides

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.

Page 22: Authoring and publishing_optimized_map_services_slides

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.

Page 23: Authoring and publishing_optimized_map_services_slides

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.

Page 24: Authoring and publishing_optimized_map_services_slides

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

Page 25: Authoring and publishing_optimized_map_services_slides

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.

Page 26: Authoring and publishing_optimized_map_services_slides

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.

Page 27: Authoring and publishing_optimized_map_services_slides

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.

Page 28: Authoring and publishing_optimized_map_services_slides

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?

Page 29: Authoring and publishing_optimized_map_services_slides

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.

Page 30: Authoring and publishing_optimized_map_services_slides

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?

Page 31: Authoring and publishing_optimized_map_services_slides

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.

Page 32: Authoring and publishing_optimized_map_services_slides

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.

Page 33: Authoring and publishing_optimized_map_services_slides

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.

Page 34: Authoring and publishing_optimized_map_services_slides

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.

Page 35: Authoring and publishing_optimized_map_services_slides

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.

Page 36: Authoring and publishing_optimized_map_services_slides

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.

Page 37: Authoring and publishing_optimized_map_services_slides

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.

Page 38: Authoring and publishing_optimized_map_services_slides

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.

Page 39: Authoring and publishing_optimized_map_services_slides

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.

Page 40: Authoring and publishing_optimized_map_services_slides

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.

Page 41: Authoring and publishing_optimized_map_services_slides

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.

Page 42: Authoring and publishing_optimized_map_services_slides

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.

Page 43: Authoring and publishing_optimized_map_services_slides

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

Page 44: Authoring and publishing_optimized_map_services_slides

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.

Page 45: Authoring and publishing_optimized_map_services_slides

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.

Page 46: Authoring and publishing_optimized_map_services_slides

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.

Page 47: Authoring and publishing_optimized_map_services_slides

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.

Page 48: Authoring and publishing_optimized_map_services_slides

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.

Page 49: Authoring and publishing_optimized_map_services_slides

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.

Page 50: Authoring and publishing_optimized_map_services_slides

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.

Page 51: Authoring and publishing_optimized_map_services_slides

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.

Page 52: Authoring and publishing_optimized_map_services_slides

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.

Page 53: Authoring and publishing_optimized_map_services_slides

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.

Page 54: Authoring and publishing_optimized_map_services_slides

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.

Page 55: Authoring and publishing_optimized_map_services_slides

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.

Page 56: Authoring and publishing_optimized_map_services_slides

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.

Page 57: Authoring and publishing_optimized_map_services_slides

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.

Page 58: Authoring and publishing_optimized_map_services_slides

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.

Page 59: Authoring and publishing_optimized_map_services_slides

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.

Page 60: Authoring and publishing_optimized_map_services_slides

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.

Page 61: Authoring and publishing_optimized_map_services_slides

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.

Page 62: Authoring and publishing_optimized_map_services_slides

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.

Page 63: Authoring and publishing_optimized_map_services_slides

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.

Page 64: Authoring and publishing_optimized_map_services_slides

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.

Page 65: Authoring and publishing_optimized_map_services_slides

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.

Page 66: Authoring and publishing_optimized_map_services_slides

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.

Page 67: Authoring and publishing_optimized_map_services_slides

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.

Page 68: Authoring and publishing_optimized_map_services_slides

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.

Page 69: Authoring and publishing_optimized_map_services_slides

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.

Page 70: Authoring and publishing_optimized_map_services_slides

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.

Page 71: Authoring and publishing_optimized_map_services_slides

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.

Page 72: Authoring and publishing_optimized_map_services_slides

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.

Page 73: Authoring and publishing_optimized_map_services_slides

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.

Page 74: Authoring and publishing_optimized_map_services_slides

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.

Page 75: Authoring and publishing_optimized_map_services_slides

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.

Page 76: Authoring and publishing_optimized_map_services_slides

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.

Page 77: Authoring and publishing_optimized_map_services_slides

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.

Page 78: Authoring and publishing_optimized_map_services_slides

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.

Page 79: Authoring and publishing_optimized_map_services_slides

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.

Page 80: Authoring and publishing_optimized_map_services_slides

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.

Page 81: Authoring and publishing_optimized_map_services_slides

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.

Page 82: Authoring and publishing_optimized_map_services_slides

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.

Page 83: Authoring and publishing_optimized_map_services_slides

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.

Page 84: Authoring and publishing_optimized_map_services_slides

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.

Page 85: Authoring and publishing_optimized_map_services_slides

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.

Page 86: Authoring and publishing_optimized_map_services_slides

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.

Page 87: Authoring and publishing_optimized_map_services_slides

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.

Page 88: Authoring and publishing_optimized_map_services_slides

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.

Page 89: Authoring and publishing_optimized_map_services_slides

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.

Page 90: Authoring and publishing_optimized_map_services_slides

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.

Page 91: Authoring and publishing_optimized_map_services_slides

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

Page 92: Authoring and publishing_optimized_map_services_slides

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].

Page 93: Authoring and publishing_optimized_map_services_slides

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.

Page 94: Authoring and publishing_optimized_map_services_slides

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.

Page 95: Authoring and publishing_optimized_map_services_slides

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

Page 96: Authoring and publishing_optimized_map_services_slides

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.

Page 97: Authoring and publishing_optimized_map_services_slides

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.