Best Practices for Designing Effective Map Services Tanu Hoque

  • Published on
    31-Dec-2015

  • View
    212

  • Download
    0

Embed Size (px)

Transcript

  • Best Practices for Designing Effective Map ServicesTanu Hoque

  • Whats in this sessionPlanning and design strategiesPublishing using ArcMapConsuming the services in a web map or applicationPerformance tips

  • Demo #1The first attempt

  • Demo recapPublishing wizard and analyzer

  • Organize data into logical groupings

  • Three options for displaying map services

    Logical groups in WebMapOptions to display map service Basemap layersAs tiled/cached map servicePre-drawn map tilesIndustry standard for basemaps (e.g. ArcGIS Online, Google, Yahoo, Bing Map etc.)

    Operation layersAs dynamic map serviceServer retrieves data, draws an image, sends image to clientAs Feature Layer (aka client side graphics)Drawn on the client sideServer sends features with geometries and attributes

  • What should you cache?Pre-draw map tiles and serve them to clientsBenefitsBest performance and scalabilityMap image tiles leverage fast browser retrieval Use complex cartography without extra overhead

    Ideals:To serve large volume of trafficFor dataset that dont get updated often

    DisadvantagesRequires 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 clientsBenefitsNo additional overheads upfrontand when data gets updated

    Ideals:For real-time or frequently changing dataTo serve medium volume of trafficDisadvantagesAdditional expense to read data and generate images for each request

  • Feature layer / Client side graphicsFeatures drawn in browserBenefitsServer off loads works to the client app

    Ideals:Interactive operational layers for mashupsQuery or geoprocessing resultsLayers that need to be thematically symbolized on the flyWeb editing: Feature ServicesDisadvantagesNot suitable for larger dataset

    Source Service types:Map servicesFeature services

  • Demo #2Making basemaps

  • JavaScript API code to draw dynamic images off a TiledMapService

  • Demo recapCreated two basemapsDynamic images from titled map service

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

  • Dynamic layersNew at 10.1Simple updates to the map serviceRemove layers or reorder layers

    Thematic mappingUpdates to renderersChange data sources including joins

    Adding content to the map serviceAdd data from registered workspacesIncluding query layersper-request changes to the mapServer side changeStatelessOptional capability of map services

  • SQL Statement to aggregate and show results per county

  • Demo recapCreate map service for operation layersFixed more analyzer warningMigrated to Enterprise GeodatabaseConverted XY Event layer to a table with spatial columnQuery LayerThematic mapping (aka DynamicLayer capability)Static Layer/Table ID

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

  • Demo recapUse the map service in a web applicationThematic mappingUpdate the table with new recordsAdded new layersPerform analysis using map server query capabilities

  • Performance TipsMappingCachePrefer Annotation over dynamic labelingAvoid on-the-fly projectionScale dependent layer visibility

  • Performance TipsGeodatabaseUse File Geodatabase over Enterprise GeodatabaseUse local copy on GIS server over network shareFor joinsKeep both target and destination tables in the same databaseEnterprise Geodatabase tipsTune e.g. update statisticsUse direct connection

  • IndexUpdate Spatial IndexHave indexes on Field(s)Used in attribute queryUsed as primary or foreign fields in a joinNote:Indexes are ignored when a field is used in a SQL methods etc.e.g. WhereClause is month(date) = 10

  • Query tipsAvoid requesting all attributes unless you have to

  • Feature and layer level securityUse Server Object Interceptor (SOI)

    Can be used for other purposes e.g. watermarking etc.

  • Automating publishing map serviceswith PythonAutomate publish, start, stop map serviceshttp://tinyurl.com/nnz4obqhttp://tinyurl.com/opp2glghttp://tinyurl.com/nqj5h43

    The Server Admin Toolkithttp://tinyurl.com/78hg32c

  • ReviewAnalyzed the map documentSplit map into multiple maps for basemap and operation layersReplaced XY Event layer with Enterprise Geodatabase... and update data taking advantages of database triggersStrategies to show large data efficientlyUse Hex Bins or County polygons to show aggregated data at smaller scale

  • ReviewUsed dynamicLayers capability for Thematic mapping andAdding new layersMapServer query supportsPage thru results (and get the top features)Summary statistics

  • Thank youPlease fill out the session survey in your mobile appSelect Best Practices for Designing Effective Map Services in the Mobile AppUse the Search Feature to quickly find this titleClick Technical Workshop SurveyAnswer a few short questions and enter any comments

  • *********************

Recommended

View more >