best practices for designing effective map services · esri uc 2014 | technical workshop | • map...

47
Best Practices for Designing Effective Map Services Ty Fitzpatrick Tanu Hoque

Upload: others

Post on 29-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

Best Practices for Designing Effective Map Services Ty Fitzpatrick Tanu Hoque

Page 2: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• Map service planning and design

• Ways to serve your maps - Dynamic map service - Cached tiles - Client-side graphics

• DynamicLayers capability (new at 10.1) • Performance tips for map services

What’s in this session

Best Practices for Designing Effective Map Services

Page 3: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

Organize data into logical groupings

Basemaps Geographic frame of reference Contain static vector

and raster data Reusable in multiple applications

Operational Layers Show a focused item of interest Support functionality

of the application Displayed on top of base map

Best Practices for Designing Effective Map Services

Page 4: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

Community templates

Best Practices for Designing Effective Map Services

Page 5: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

Ways to serve your maps

Best Practices for Designing Effective Map Services

Page 6: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• As cached tiles

• As a dynamically drawn image

• As client-side graphics

Three options for displaying map services

Best Practices for Designing Effective Map Services

Page 7: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

Publishing Dynamic Map Services

Demo

Best Practices for Designing Effective Map Services

Page 8: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• Server retrieves data, draws an image, sends image to client

• Slower than caching, but may be satisfactory using dynamic map service

Dynamically drawn map services

Best Practices for Designing Effective Map Services

Page 9: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• Real-time data

• Frequently-changing data with large scope

• Internal maps accessed by smaller groups of people

Data that’s OK to draw dynamically

Best Practices for Designing Effective Map Services

Page 10: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

Publishing Cached Map Services

Demo

Best Practices for Designing Effective Map Services

Page 11: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• Pre-draw map tiles and serve them to clients

• Best performance and scalability

• Standard for online maps (ArcGIS Online, Google, Bing, Yahoo, etc)

• Requires you to create and maintain cache

Cached tiles

Best Practices for Designing Effective Map Services

Page 12: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• Base maps • Operational layers that satisfy one of the following:

- High volumes of traffic - Don’t change often - Cover small scales only

What should you cache?

Best Practices for Designing Effective Map Services

Page 13: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• MIXED for most basemaps

• PNG for overlay networks (boundaries, roads)

• PNG 8 for classified rasters < 256 colors

Cache image formats

Best Practices for Designing Effective Map Services

Page 14: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• Only a good option if there are no templates

• Design map for cache scales - Add your tiling scheme scales

to the ArcMap dropdown list

• Group layers by scale level - Only have to set the scale range

at the group layer level - Copy layers between groups

Authoring a basemap from scratch

Best Practices for Designing Effective Map Services

Page 15: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• Improves visual quality

• Slight performance cost - Use Preview button to see

effect on performance

Antialiasing with map services

Best Practices for Designing Effective Map Services

Page 16: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

Publishing your map service

Best Practices for Designing Effective Map Services

Page 17: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

Dynamic Layers

Best Practices for Designing Effective Map Services

Page 18: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• cannot change without republishing • end users can’t modify how or which order a layer

draws

Map service dilemmas

e.g. the same roads are drawn differently depending on purpose

streets basemap

light gray canvas basemap

ocean basemap

national geographic basemap

topographic basemap

Best Practices for Designing Effective Map Services

Page 19: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• One layer with many many many… attributes!!!

e.g. layer containing census, health indicator data

Map service dilemmas

Best Practices for Designing Effective Map Services

Page 20: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• many many… FeatureClasses è? map services

Map service dilemmas

Best Practices for Designing Effective Map Services

Page 21: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

Cached map service

Dynamic map service

Toggle layer visibility ý þ Toggle label visibility ý þ Reorder layers ý ý Modify layer’s renderer ý ý Define new labels ý ý Add new layer dynamically ý ý Create joins dynamically ý ý

Functionality matrix

Best Practices for Designing Effective Map Services

Page 22: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• New behavior with the map service that allows for per-request changes to the map

- Server side change - Stateless

• Optional capability of map services

Dynamic layers: the concept

Best Practices for Designing Effective Map Services

Page 23: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

Dynamic Layers – Thematic Mapping

Demo

Best Practices for Designing Effective Map Services

Page 24: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• Simple updates to the map service - Remove layers or reorder layers

• Thematic mapping

- Updates to renderers - Change data sources – including joins

• Adding content to the map service - Add data from registered workspaces

- Including query layers

Dynamic layers: use cases

Application

10.1 Map Service

REST

Workspaces

http json

Best Practices for Designing Effective Map Services

Page 25: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

Dynamic layers: - Server Side Utility

• Generate renderer operation - New map server API for constructing renderer classes - Supports

§ class breaks § unique value

- Popular classification types from ArcGIS Desktop

- natural breaks - equal interval - standard deviation etc.

Best Practices for Designing Effective Map Services

Page 26: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

Cached map service

Dynamic map service

dynamicLayers à OFF ON

Toggle layer visibility ý þ þ Toggle label visibility ý þ þ Reorder layers ý ý þ Modify layer’s renderer ý ý þ Define new labels ý ý þ Add new layer dynamically ý ý þ Create joins dynamically ý ý þ

Functionality matrix

Best Practices for Designing Effective Map Services

Page 27: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• See the topic “About dynamic layers” in the ArcGIS Server help • REST API – See the “Dynamic Layer / Table” resource help

Dynamic layers: where can I learn more?

Best Practices for Designing Effective Map Services

Page 28: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• Mapping Health Indicators using Dynamic Layers in ArcGIS Server 10.1

• Uploading client data to perform thematic mapping on the Server

Dynamic layers: ArcGIS Server blog posts

Best Practices for Designing Effective Map Services

Page 29: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

Client-side Graphics

Best Practices for Designing Effective Map Services

Page 30: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• Server sends geometries and attributes to client • Features drawn in browser • Client side layer types:

- GraphicsLayer - FeatureLayer

• Source Service types: - Map services - Feature services

• Query mode: - Snapshot - On demand - Selection

Client-side Graphics: The Concept

Best Practices for Designing Effective Map Services

Page 31: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• Interactive operational layers for mashups • Query or geoprocessing results • Web editing: Feature Services • Layers that need to be thematically symbolized on the fly

- National Center for Education Statistics

Client-side graphics: what should you draw?

Best Practices for Designing Effective Map Services

Page 32: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

Client-side graphics: considerations - Symbology

• Rendered in the client • Symbols can be Simple (Marker, Line, Fill) or Picture (Marker, Fill)

- Complex symbols are converted to picture (PNG) - Most point symbols reproduced well – test

- Avoid gradient fills

ArcMap WebMap Best Practices for Designing Effective Map Services

Page 33: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• Be careful not to request too many features - Scale dependencies with Feature Services

• Generalize geometries - maxAllowableOffset - Do not generalize geometries in Editing scenario

• Beware of server limits on number of features that can be returned - Default 1000

Client-side graphics: considerations

Best Practices for Designing Effective Map Services

Page 34: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

Using maxAllowableOffset No maxAllowableOffset

Client-side graphics: considerations - maxAllowableOffset

• A way of reducing the number of points in a curve • Suggestion: a feature’s geometry should not display more

than one vertex per pixel http://storymaps.esri.com/globalfootprint/

Best Practices for Designing Effective Map Services

Page 35: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• When do I use dynamic layers instead of feature layers on the client for thematic mapping? - large number of features - complex geometries that cannot be generalized - when it provides a performance advantage

• Each approach has tradeoffs

- e.g. Client side features scale better and provide more interactive behavior

• GenerateRenderer operation can be used with both approaches

Dynamic layers vs Client-side graphics

Best Practices for Designing Effective Map Services

Page 36: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• See the Web API Sessions (Javascript, Flex, Silverlight) in the agenda. • Online examples at the ArcGIS Resource Center

Client-side graphics: where can I learn more?

Best Practices for Designing Effective Map Services

Page 38: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

Performance tips for map services

Best Practices for Designing Effective Map Services

Page 39: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• Cache • Annotation • Projection

- Tip: You can re-project geodatabase features during replication

• Spatial indexes - Keep up to date - Correct size relative to map extent

• Scale dependent layer visibility

Pre-compute when possible

Best Practices for Designing Effective Map Services

Page 40: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• ArcSDE geodatabase tips - Tune ArcSDE - Use direct connect

• Avoid UNC paths for file-based data • Cached query or tool results

- Example: Solar Boston

• Avoid downloading all attributes unless you have to • Attribute indexes

- Use for joins and common queries

Data access tips

Best Practices for Designing Effective Map Services

Page 41: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop | Esri UC 2014 | Technical Workshop |

Maps for Mobile Devices

Best Practices for Designing Effective Map Services

Page 42: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

Authoring mobile maps Specific cartography for mobility

• Design for purpose - Remove unnecessary layers of information - Set scale dependency (walk, drive, etc) - Render editable layers to define feature

types

• Design for the environment

- Establish contrast, choose meaningful symbology

Sunlight washes out Colors

Best Practices for Designing Effective Map Services

Page 43: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

Authoring mobile maps (continued) Specific cartography for mobility

• Design for device form factor - Set scale dependency based on

device resolution - Set symbol width based upon

device resolution

• Architect and Deploy Map

Data - Build Compressed Base Map

Datasets - Build Operational Mobile Caches

1280x1024 BIG

320x240 Small

Best Practices for Designing Effective Map Services

Page 44: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• Organize map services in logical groups - Base maps - Operational layers

• Use a high-performance blend of display techniques

- Cached tiles - Dynamically drawn services - Client-side graphics - Dynamic layers

• Follow performance tips, pre-computing when possible

Review

Best Practices for Designing Effective Map Services

Page 45: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

• ESRI Showcase - Meet ESRI Development staff

• Other sessions

- Advanced Map Caching Topics - Javascript, Flex, Silverlight web API sessions - Many other ArcGIS Server sessions

• Resource centers: http://resources.esri.com

Additional resources

Best Practices for Designing Effective Map Services

Page 46: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop |

Thank you…

• Please fill out the session survey:

First Offering ID: 1121 Second Offering ID: 1239

Online – www.esri.com/ucsessionsurveys Paper – pick up and put in drop box

Best Practices for Designing Effective Map Services

Page 47: Best Practices for Designing Effective Map Services · Esri UC 2014 | Technical Workshop | • Map service planning and design • Ways to serve your maps -Dynamic map service -Cached

Esri UC 2014 | Technical Workshop | Best Practices for Designing Effective Map Services