Best Practices for Designing Effective Map Services Tanu Hoque.

Slides:



Advertisements
Similar presentations
Publishing GIS Services to ArcGIS for Server
Advertisements

Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Designing and Using.
Best Practices for Designing Effective Map Services
Esri UC 2014 | Technical Workshop | Automating Cache Workflows and Tile Usage Heat Maps Eric J. Rodenberg.
Mercator/Coronelli ArcGIS Server 9.3 Data Management GIS Web Services Mapping Application Developer Tools Spatial Analysis Publishing to Clients Image.
ESRI ArcGIS Server Behind the scenes Pavel Janda
Esri International User Conference | San Diego, CA Demo Theater | Using Spatial Data in ArcGIS with Query Layers Brent Pierce Thursday, July 14 th.
Introduction To ArcMap ArcMa p. ArcMap is a Map-centric GUI tool used to perform map-based tasks Mapping –Create maps by working geographically and interactively.
Esri International User Conference | San Diego, CA Technical Workshops | ArcGIS for SharePoint, An Introduction Art Haddad Rich Zwaap.
Sharing imagery and raster data in ArcGIS
Sharing Geographic Content
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Best Practices for.
Editing With ArcGIS Pro
Batch Geocoding Online Bruce Harold
Technical Workshops | Esri International User Conference San Diego, California ArcMap: Tips and Tricks Miriam Schmidts Jorge Ruiz-Valdepena July 23 – 27,
Esri UC 2014 | Technical Workshop | Accessing Spatial Databases in ArcGIS using Query Layers Annie Sasidar.
Fundamentals of working with geographic data
Developing Windows Desktop and Device Apps with the ArcGIS Runtime SDK for.NET Rex Hansen Thad Tilton.
ArcGIS for Server: An Introduction
ArcGIS for Server: Reference Implementations
material assembled from the web pages at
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Migrating your Data.
Don Kuehne, Product Manager CAD/AEC Karen Hodge, CAD Lead Developer
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Caching Imagery Using.
Publishing to ArcGIS for Server
Data Interoperability Basics Bruce Harold & Dale Lutz.
Enabling High-Quality Printing in Web Applications
Esri UC 2014 | Technical Workshop | Animating Thousands of Graphics with ArcGIS Runtime SDK for Java Mark Baird and Vijay Gandhi.
Best Practices for Managing Scanned Imagery Peter Becker.
Esri Roads and Highways: An Introduction to Roadway Reporter
Preparing and Deploying Data to ArcPad Juan Luera.
ArcGIS Runtime SDK for iOS: Debugging Offline Feature Editing Garima Bradley &)&) &)&)
Technical Workshops | Esri International User Conference San Diego, California Creating Geoprocessing Services Kevin Hibma, Scott Murray July 25, 2012.
Tips & Tricks using Mobile Devices with ArcPad and ArcGIS for Windows Mobile Kevin Burke and Juan Luera.
Esri UC 2014 | Technical Workshop | Python Map Automation – Beyond the Basics of arcpy.mapping Jeff Barrette Jeff Moulds.
Technical Workshops | Esri International User Conference San Diego, California Supporting High-Quality Printing in Web Applications with ArcGIS 10.1 for.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Supporting High-Quality.
Esri UC 2014 | Technical Workshop | Developing Offline Apps with ArcGIS Runtime SDKs Euan Cameron Justin Colville Will Crick.
Extend the Operations Dashboard with Custom Widgets (and more)
Working with Feature Services Gary MacDougall Russell Brennan.
Getting the most out of ArcMap Jack Horton & Jorge Ruiz-Valdepeña.
Esri UC 2014 | Technical Workshop | Creating Geoprocessing Services Kevin Hibma.
Adding ArcGIS Online to Your GIS Curriculum
ArcGIS Editor for OpenStreetMap: Contributing Data Christine White.
Extending the Operations Dashboard
Road Ahead for Vector Mapping
Advanced workflows for creating 3D Web Scenes in ArcGIS Online Javier Gutierrez and Janett Baresel.
Combining ArcGIS for Server & ArcGIS Online Julia Guard and Matt Monson.
Developing Cross Platform Apps with the ArcGIS Runtime SDK for Qt
Make Mobile Work For You Dave Lewis. Why Mobile GIS? Key Business Drivers for Field Operations Empowering Field Operations with Data Replace paper maps.
Deconstructing Spatial Reference: What Every GIS User Needs to Know Paul Trevillion, Esri.
Publishing GIS Services to ArcGIS Server
Esri UC 2014 | Technical Workshop | ArcGIS API for JavaScript: An Introduction Kelly Hutchins Derek Swingley.
Esri UC 2014 | Technical Workshop | Editing in ArcMap: An Introduction Lisa Stanners, Phil Sanchez.
Esri UC 2014 | Technical Workshop | Best Practices for Designing Effective Map Services Ty Fitzpatrick Tanu Hoque.
Esri UC 2014 | Technical Workshop | Enhancing Web Map Performance in ArcGIS Online Julia Guard & Melanie Summers.
Sharing Maps and Layers to Portal for ArcGIS Melanie Summers, Tom Shippee, Ty Fitzpatrick.
Jeff Barrette Jeff Moulds
Working with Feature Layers
Administering Your ArcGIS Organization Through Scripting
Enhancing Web Map Performance in ArcGIS Online
Shankar Chandrasekaran
Best Practices for Designing Effective Map Services: Case Studies
Enterprise Geodatabase Administration – Tips and Tricks
Combining ArcGIS for Server & ArcGIS Online
Tile layers, map image layers, and on-premises Web GIS
Publishing image services in ArcGIS
Designing and Using Cached Map Services
ArcGIS Pro: An Introduction Overview
Esri Roads and Highways An Introduction
Presentation transcript:

Best Practices for Designing Effective Map Services Tanu Hoque

What’s in this session Planning and design strategies Publishing using ArcMap Consuming the services in a web map or application Performance tips Mashup Mapping Please ! Turn OFF cell phones

Demo #1 The first attempt 

Demo recap - Publishing wizard and analyzer

Organize data into logical groupings Basemaps Geographic frame of reference Contain static vector and raster data Reusable in multiple applications 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 Operational Layers Show a focused item of interest Support functionality of the application Displayed on top of base map

Three options for displaying map services Logical groups in WebMapOptions to display map service Basemap layersAs tiled/cached map service -Pre-drawn map tiles -Industry standard for basemaps (e.g. ArcGIS Online, Google, Yahoo, Bing Map etc.) Operation layersAs dynamic map service -Server retrieves data, draws an image, sends image to client As Feature Layer (aka client side graphics) -Drawn on the client side -Server sends features with geometries and attributes

What should you cache? Pre-draw map tiles and serve them to clients Benefits - Best performance and scalability - Map image tiles leverage fast browser retrieval - Use complex cartography without extra overhead Ideals: - To serve large volume of traffic - For dataset that don’t get updated often Disadvantages - Requires additional efforts to maintain cache as data gets updated

What should you use dynamic map service for? Pre-draw map tiles and serve them to clients Benefits - No additional overheads upfront - and when data gets updated Ideals: - For real-time or frequently changing data - To serve medium volume of traffic Disadvantages - Additional expense to read data and generate images for each request

Feature layer / Client side graphics Features drawn in browser Benefits - Server off loads works to the client app Ideals: - Interactive operational layers for mashups - Query or geoprocessing results - Layers that need to be thematically symbolized on the fly - Web editing: Feature Services Disadvantages - Not suitable for larger dataset Source Service types: - Map services - Feature services

Demo #2 Making basemaps

JavaScript API code to draw dynamic images off a TiledMapService var url = " http ://{machine}/arcgis/rest/services/myTiledMapService/MapServer"; //Layer#1 – a tiled map service layer var layer1 = new ArcGISTiledMapServiceLayer (url, { displayLevels: [0, 1, 2, 3]}); //Layer#2 - same tiled map service as a dynamic map service layer var layer2 = new ArcGISDynamicMapServiceLayer(url); layer2.setMinScale( );

Demo recap - Created two basemaps - Dynamic images from titled map service

Demo #3 - Creating map service for operation layer - Thematic mapping and large data visualization

Dynamic layers New at 10.1 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 per-request changes to the map - Server side change - Stateless Optional capability of map services

SQL Statement to aggregate and show results per county SELECT c.objectid, c.shape, a.total FROM mysde.map.COUNTIES AS c INNER JOIN (SELECT FIPS, COUNT(*) AS total FROM mysde.map.TORNADOES GROUP BY cf) AS a ON c.FIPS = a.FIPS

Demo recap - Create map service for operation layers - Fixed more analyzer warning - Migrated to Enterprise Geodatabase - Converted XY Event layer to a table with spatial column - Query Layer - Thematic mapping (aka DynamicLayer capability) - Static Layer/Table ID

Demo #4 Put map services in use in a web application

Demo recap - Use the map service in a web application - Thematic mapping - Update the table with new records - Added new layers - Perform analysis using map server query capabilities

Performance Tips Mapping Cache Prefer Annotation over dynamic labeling Avoid on-the-fly projection Scale dependent layer visibility

Performance Tips Geodatabase Use File Geodatabase over Enterprise Geodatabase - Use local copy on GIS server over network share For joins - Keep both target and destination tables in the same database Enterprise Geodatabase tips - Tune e.g. update statistics - Use direct connection

Index Update Spatial Index Have indexes on Field(s) - Used in attribute query - Used as ‘primary’ or ‘foreign’ fields in a join Note: - Indexes are ignored when a field is used in a SQL methods etc. - e.g. WhereClause is “month(date) = 10”

Query tips Avoid requesting all attributes unless you have to

Feature and layer level security Use Server Object Interceptor (SOI) Can be used for other purposes e.g. watermarking etc.

Automating publishing map services with Python Automate publish, start, stop map services The Server Admin Toolkit -

Review Analyzed the map document Split map into multiple maps for basemap and operation layers Replaced XY Event layer with Enterprise Geodatabase -... and update data taking advantages of database triggers Strategies to show large data efficiently - Use Hex Bins or County polygons to show aggregated data at smaller scale

Review Used dynamicLayers capability for - Thematic mapping and - Adding new layers MapServer query supports - Page thru results (and get the top features) - Summary statistics

Thank you… Please fill out the session survey in your mobile app Select “Best Practices for Designing Effective Map Services” in the Mobile App - Use the Search Feature to quickly find this title Click “Technical Workshop Survey” Answer a few short questions and enter any comments