Service Optimization Esri GIS Adapter Product ClickApp by ClickSoftware For use with ClickSchedule ClickSoftware Confidential Legal Notice The software with this guide is furnished under a license agreement and may be used only according to the terms of that agreement. Copyright Copyright © ClickSoftware Technologies Ltd. All rights reserved. No part of this publication may be copied without the express written permission of ClickSoftware Technologies Ltd. Patent and Trademark US Patent Number 6,985,872 B2 ClickAnalyze, ClickFix, ClickForecast, ClickMobile, ClickPlan, ClickRoster, ClickSchedule, and ClickSoftware are registered trademarks of ClickSoftware Technologies Ltd. Contact Information Contact information is available from the ClickSoftware web site: http://www.clicksoftware.com. For general information, email to sales@clicksoftware.com. For ClickSoftware Worldwide Support, email to support@clicksoftware.com or see the support page on the ClickSoftware web site. For Partner Enablement, email to partnerenablement@clicksoftware.com. Publication Notice This guide has been carefully compiled. The information in this guide does not constitute a warranty of performance. Furthermore, ClickSoftware reserves the right to revise this publication and make changes from time to time in the content thereof, without obligation to notify any person of such revisions or changes. ClickSoftware assumes no liability for losses incurred as a result of out-of-date or incorrect information in this guide. Version Esri GIS Adapter App number: 1195 App version: 1.0 Date: March 2014 Esri GIS Adapter 3 Contents ESRI GIS ADAPTER ..................................... 4 Use ............................................................................................................. 5 Prerequisites .............................................................................................. 6 ArcGIS Support Information.................................................................. 6 Hardware Sizing ................................................................................... 7 Installed Esri Software .......................................................................... 8 ArcGIS Cached Map Tiles .................................................................... 8 Service Optimization GIS Cache .......................................................... 9 ArcGIS Performance Benchmarks ....................................................... 9 Installation ................................................................................................ 10 Configuration ............................................................................................ 10 Step 1. Registering the ArcGIS Geographic Data .............................. 11 Step 2. Improving Performance by Disabling the ArcGIS Log ........... 14 Step 3. Configuring the ArcGIS Map Service ..................................... 15 Step 4. Configuring the ArcGIS Routing Service ................................ 29 Step 5. Configuring the ArcGIS Geocoding Service ........................... 39 Step 6. Using the ArcGIS Configuration on Multiple Hosts ................ 43 Step 7. Configuring the Service Optimization GIS Settings ............... 44 Comments ................................................................................................ 52 4 Esri GIS Adapter Esri GIS Adapter Esri GIS Adapter is a ClickSoftware app that integrates Service Optimization with the Esri ArcGIS geographic information system. The app enables ClickSchedule to obtain geocoding, routing, narrative, and map services from ArcGIS. ClickSchedule web client displaying an Esri ArcGIS map Esri GIS Adapter Enlarged view of the Esri ArcGIS map Use From Esri ArcGIS, ClickSchedule can obtain the following geographic services: Geocoding Determining the latitude-longitude coordinates of an address. ClickSchedule uses this service to determine the locations of tasks and engineers. The ArcGIS address locator provides the geocoding service to ClickSchedule. Routing Estimating the travel distance and time between two locations. ClickSchedule uses this service to minimize the travel between the engineer assignments. The ArcGIS routing service provides the travel estimates to ClickSchedule. 5 6 Esri GIS Adapter Narrative Retrieving the driving directions between two locations, for example, between an engineer's current location and the next assignment. The ArcGIS routing service provides the narrative to ClickSchedule, in addition to the travel estimates. Map Displaying locations and routes on a map. The ClickSchedule web client displays assignments, tasks, and the engineer locations on the map. The ArcGIS map service supplies the maps to ClickSchedule. The Esri ArcGIS services are equivalent to the services that ClickSchedule can obtain from other geographic providers, such as Pitney Bowes Envinsa or PTV xServer. For a comprehensive discussion of these services and of the geographic provider concepts, see the ClickSchedule GIS Configuration Guide. Prerequisites The following requirements are for Esri ArcGIS 10.2 with Service Optimization 8.1.10. Before installing ArcGIS, consult with ClickSoftware Worldwide Support for updated version information. ArcGIS Support Information ClickSoftware licenses and supports the Esri GIS Adapter software, which runs on the Service Optimization server. The Adapter interacts with the Esri ArcGIS software. The Adapter is not part of the ArcGIS software. Esri licenses and supports the ArcGIS software, which runs on one or more independent hosts. ClickSoftware provides approximate guidelines, according to its experience, regarding the ArcGIS prerequisites, performance, configuration, and use. However, ClickSoftware cannot take responsibility for the accuracy of the ArcGIS information in the customer's environment, which might differ from the ClickSoftware environment. For definitive information about ArcGIS and for all ArcGIS support issues, contact Esri. Esri GIS Adapter 7 Hardware Sizing The hardware requirements for ArcGIS depend heavily on your ClickSchedule usage, for example, the number of tasks that you plan to process, and whether you require street-level routing for all the tasks. You might need a single ArcGIS host, or you might need multiple hosts behind a network load balancer. Before purchasing the host computers, consult with ClickSoftware for an estimate of the GIS request rates, for example, the volume of map, route, and geocode requests. Then consult with Esri for information such as: The recommended number of ArcGIS hosts The recommended number of ArcGIS map, routing, and geocoding instances on each host The recommended host capabilities such as the number and type of CPUs, RAM, and disk space Verify with Esri that ArcGIS will perform well on the host hardware that you select (see the ArcGIS Performance Benchmarks below). Approximate Hardware Guidelines In ClickSoftware's experience with Service Optimization/ArcGIS integration in its own environment, we have developed the following approximate guidelines. The requirements might differ in your organization's environment. Consult with Esri for definitive information on this subject. We recommend that you install ArcGIS on one or more independent hosts that are dedicated to the Service Optimization/ArcGIS integration. Do not install ArcGIS on the same host as the Service Optimization server, and do not use the ArcGIS hosts for other purposes. CPU At least one core per ArcGIS mapping, routing, or geocoding instance, plus one core for the Windows operating system. For example, if you run four mapping instances, four routing instances, and four geocoding instances, you need approximately thirteen cores. Hard disk Sufficient disk space for the following items: Esri ArcGIS for Server Esri ArcGIS for Desktop The geographic datasets that you plan to install, such as country or state datasets. For example, the United States dataset requires 4.5 GB of storage. 8 Esri GIS Adapter Cached map tiles (see ArcGIS Cached Map Tiles below) Memory To comply with the Service Optimization performance requirements, each host must meet the following RAM requirements: For RAM requirement Windows operating system 1 GB Network route cache Same as the disk requirement of the geographic dataset. For example, the United States dataset requires 4.5 GB of RAM. Each ArcGIS Server instance At least 3 GB per ArcGIS mapping, routing, or geocoding instance. For example, if you install the United States dataset and you run four mapping instances, four routing instances, and four geocoding instances, you need 1 GB + 4.5 GB + (12 x 3 GB) = 41.5 GB of RAM. Installed Esri Software On each host, you must install: Esri ArcGIS for Server Advanced or standard, with the Network Analyst extension. On at least one host, you must install: Esri ArcGIS for Desktop You need this software to configure ArcGIS for Server. Obtain the software from Esri. For installation instructions, see the Esri documentation. In the ArcGIS for Server installation, be sure to record the user name and password that you define. You will need them to configure and test the GIS services. ArcGIS Cached Map Tiles For good performance, it is critical that you obtain or generate ArcGIS cached map tiles. The tiles are bitmap representations of the map squares. If you do not use cached map tiles, the map service performs exceedingly slowly. Esri GIS Adapter 9 Depending on the geographic dataset size, the hardware capabilities, and other parameters, it might take considerable time to generate the cached map tiles. Consult with Esri about the best way to do it in a reasonable time frame. In a typical ClickSchedule implementation, we recommend preparing the cached map tiles for map scale levels of 0 (world) to 17 (city block). For a sample cache configuration, see Step 3. Configuring the ArcGIS Map Service below. Service Optimization GIS Cache The Service Optimization server caches the GIS routing results in the Service Optimization database. After the cache is populated (warmed up), the server can obtain many routing results without issuing a request to the GIS server. In this way, the actual ClickSchedule routing volume can be much higher than the number of routing requests processed by the ArcGIS hosts. Consult with ClickSoftware about how to generate a warmed-up GIS cache. One way is to run ClickSchedule for some time on production data. Another way is to import or generate a predefined cache table. You must enable the cache in the Service Optimization settings. For instructions, see the GIS Settings chapter in the ClickSchedule GIS Configuration Guide. ArcGIS Performance Benchmarks For good Service Optimization performance, the ArcGIS hosts should pass the following benchmark tests. Perform these tests after you have configured the ArcGIS services (see Configuration below). The cached map tiles and the ArcGIS routing cache must be fully prepared. For a map request that returns a 500x500 pixel map at a scale (zoom) level of 14, the ArcGIS response time should be 7 seconds. The map request comprises several sub-requests for 256x256 map tiles. For a routing request that returns travel time and distance, the ArcGIS response time should be 0.3 seconds. This includes complex routes having, for example, 12 turns and 50 km between locations. Each instance of the ArcGIS routing service, running on a single CPU core, should process at least 5 routing requests per second. For a geocoding request that returns matches for a full or partial address, the response time should be 0.2 seconds. Each instance of the ArcGIS geocoding service, running on a single CPU core, should process at least 10 geocoding requests per second. 10 Esri GIS Adapter For potentially updated information about the performance benchmarks, see: https://extranet.clicksoftware.com/Solutions/ImplementationWiki/Pages/Prerequisite s%20from%20GIS%20vendor%20-%20SO%20version%208.x.aspx If the benchmarks tests fail, consult with Esri about how to improve the performance. Installation Install the Esri GIS Adapter on the Service Optimization server: 1. On each host where you run the Service Optimization server, copy the following file to the Service Optimization\Bin directory: Newtonsoft.Json.dll W6GISProviderEsri.dll 2. Copy the following file to the to the Service Optimization\Web\ ClickWebClient\ClientBin directory: System.Json.dll W6GISProviderESRIWC.dll Configuration To configure the app, you must perform the following main steps. On the Esri ArcGIS host where you installed both ArcGIS for Server and ArcGIS for Desktop: 1. Register the geographic data. 2. Improve performance by disabling the ArcGIS log, or limiting the log detail. 3. Configure the map service and, if not already done, generate the cached map tiles. 4. Configure the routing service. 5. Configure the geocoding service. On the other hosts where you installed only ArcGIS for Server: 6. Copy the ArcGIS configuration to these hosts. In the Service Optimization Administration tool: 7. Configure the Service Optimization GIS settings. Esri GIS Adapter 11 The following sections provide detailed instructions for each step. The instructions are for Service Optimization version 8.1.10 with Esri ArcGIS 10.2. The instructions might vary slightly for other versions. Step 1. Registering the ArcGIS Geographic Data You must register the geographic data with ArcGIS for Server. These operations are required to ensure good ClickSchedule performance. 1. From the Start menu, open ArcMap. 2. On the menu, click Window > Catalog. This opens the Catalog pane. 3. Under the GIS Servers node of the Catalog pane, click Add ArcGIS Server. This opens the Add ArcGIS Server wizard. Use the wizard to configure a connection between ArcMap and ArcGIS for Server, which you will use to publish the GIS services. If you already have a suitable server connection, you can skip this step. a. On the first wizard page, select the option to Publish GIS Services. b. On the next wizard page, enter the ArcGIS Server details, including an authorized user logon. c. Click Finish. 12 Esri GIS Adapter 4. Return to the Catalog pane. Under the GIS Servers node, right-click the server connection, and click Server Properties. 5. Display the Data Store tab. Esri GIS Adapter 13 6. Next to the Registered Folders box, click the + button. 7. Enter a display name for the data folder such as Map Data, and browse to the dataset location. 14 Esri GIS Adapter 8. Click OK. ArcGIS displays a checkmark next to the folder, indicating that the registration succeeded. Step 2. Improving Performance by Disabling the ArcGIS Log The ArcGIS log detracts from the performance. We recommend that you turn off the log. If you need the log, we recommend that you set it to a Severe or Warning level, not to Info. 1. From the Start menu, open the ArcGIS Server Manager and log in. Esri GIS Adapter 15 Alternatively, browse to http://Esri_host/arcgis/manager, where Esri_host is the host name. 2. Click the links to Logs > Settings. 3. Set the log level to Off, Severe, or Warning. Step 3. Configuring the ArcGIS Map Service You must publish and configure the ArcGIS map service. 1. From the Start menu, open ArcMap. 2. On the menu, click Window > Catalog. This opens the Catalog pane. 3. In the Catalog pane, find the *.mxd file, and drag it to the workspace at the center of the window. If there are multiple *.mxd files, consult with Esri about which one to process. 16 Esri GIS Adapter 4. Optionally, configure the display of the map labels for each map scale. For example, a road name might be displayed multiple times along a long road. You can set the label font and the distance between the repetitions. a. In the left pane, expand the Scale Ranges node and find the scale range. b. Right-click the Roads layer and click Properties. Esri GIS Adapter c. Display the Labels tab. d. Click the Placement Properties button. 17 18 Esri GIS Adapter e. Display the Label Density tab. f. Click the Options button. Esri GIS Adapter g. Set the label density. h. Click OK and return to the Labels tab. i. In the Class box, select a geographic feature type, for example, Ocean. j. Set the label font and styles as required. 19 20 Esri GIS Adapter k. ArcMap can display the labels in multiple languages. To change the languages, click the SQL Query button and edit the LANGUAGE_CODE field of the query. 5. Click OK and return to the main ArcMap window. 6. On the menu, click File > Share As Service. Esri GIS Adapter 21 7. On the first wizard page, select the option to Publish a Service. 8. On the next wizard page, assign a name such as Map_Service, and select the connection. 9. On the next wizard page, place the service in any desired folder. 22 Esri GIS Adapter 10. Click the Continue button. This opens the Service Editor window. 11. On the Parameters page, set the Anti-Aliasing option to Best. 12. On the Capabilities page, deselect the KML option. Only the Mapping option is required. Esri GIS Adapter 23 13. On the Mapping page, deselect the Data and Query options. Only the Map option is required. 14. On the Caching page, you must configure the cached map tiles. For an explanation, see ArcGIS Cached Map Tiles above. If you already have cached map tiles, consult with Esri about how to configure the options. If you do not yet have cached map tiles, set the options according to the following guidelines. When you run the Publish command (at the end of this procedure), ArcGIS generates the map tiles. 24 Esri GIS Adapter Note: Depending on the geographic dataset size and the hardware capabilities, the following settings might cause the Publish command to take a very long time. If the processing time is excessive, you can cancel the Publish step while it is running, change the settings, and try again. In case of doubt about the appropriate settings, consult with Esri. - Using tiles from a cache - Tiling scheme = ArcGIS Online/Bing Maps/Google Maps - Levels of detail = 0 (World) to 17 (City Block). You can speed the cache generation by selecting a lower maximum level, but you will lose map detail. - Build cache automatically when the service is published On the Advanced Settings page, set the Tile Format to PNG8. Esri GIS Adapter 25 15. On the toolbar of the Service Editor window, click the Analyze button, and verify that there are no errors. You can ignore the following warnings: Your service will use the WGS 1984 Web Mercator (Auxiliary Sphere) coordinate system The service's estimated cache size of ... GB may result in a significant amount of tile generation time as well as storage Data Frame uses the Maplex Label Engine 16. On the toolbar, click the Publish button. At the prompts, click OK. ArcGIS displays its progress as it publishes the map service. Optimizing Cache Performance To optimize the map cache performance, perform the following steps: 1. From the Start menu, open the ArcGIS Server Manager and log in. Alternatively, browse to http://Esri_host/arcgis/manager, where Esri_host is the host name. 2. Follow the links to Services > System > Caching Tools. 26 Esri GIS Adapter 3. On the Pooling page, set the number of mapping instances. Set the following options according to the recommendations that you received from ClickSoftware (see Hardware Sizing above): - Minimum Number of Instances per Machine - Maximum Number of Instance per Machine. 4. On the Capabilities page, note the REST URL value. You will need this URL later when you configure the Service Optimization GIS settings (see Step 7. Configuring the Service Optimization GIS Settings). Esri GIS Adapter 27 Testing the Map Service To test the map service: 1. From the Start menu, open the ArcGIS Server Manager and log in. Alternatively, browse to http://Esri_host/arcgis/manager, where Esri_host is the host name. 2. In the left pane, select Map Services. 3. In the right pane, find the service that you configured, and hover over the small map image. A View link appears. 28 Esri GIS Adapter 4. Click the View link. ArcGIS displays the map in a new browser window. Esri GIS Adapter Step 4. Configuring the ArcGIS Routing Service 1. From the Start menu, open ArcMap. 2. On the menu, click Customize > Extensions. 3. Select the Network Analyst extension. 4. On the menu, click Customize > Toolbars > Network Analyst. This displays the Network Analyst toolbar. 5. On the menu, click Window > Catalog. This opens the Catalog pane. 29 30 Esri GIS Adapter 6. In the Catalog pane, find the network dataset node, labeled Routing_ND. Drag it to the workspace at the center of the window. 7. At the following prompt, click No. 8. In the drop-down box of the Network Analyst toolbar, select the option to add a New Route. Esri GIS Adapter 9. In the Layer Properties window, display the Network Locations tab. 10. Select the option to Exclude Restricted Portions of the Network. 31 32 Esri GIS Adapter 11. In the Table of Contents window, right click and remove the network dataset (Routing_ND) layer. Only the Route layer is required. Esri GIS Adapter 12. On the menu, click File > Share as Service. 13. On the first wizard page, select the option to Publish a Service. 33 34 Esri GIS Adapter 14. On the next wizard page, assign a name such as Route_Service, and select the connection. 15. Follow the on-screen instructions to complete the wizard. On the last wizard page, click Continue. This opens the Service Editor window. Esri GIS Adapter 35 16. On the Capabilities page, select the Network Analysis option, and deselect the KML option. 17. On the Network Analysis page, set the Default Output Geometry Precision. For the United States dataset, select 1. For other datasets, consult with Esri. 18. On the Pooling page, set the number of routing instances. Set the following options according to the recommendations that you received from ClickSoftware (see Hardware Sizing above): 36 Esri GIS Adapter - Minimum Number of Instances per Machine - Maximum Number of Instance per Machine. 19. On the toolbar, click the Analyze button. Verify that there are no errors or highlevel warnings. 20. On the toolbar, click the Publish button. Installing Language Support for Driving Directions By default, ArcGIS displays driving directions (the narrative GIS service) in English. To install other languages: 1. Install an ArcGIS language pack, available from: https://customers.esri.com/index.cfm?event=portlet.dspTasks#soft_download Follow the links to Software Download > ArcGIS VV for Desktop > ArcGIS for Desktop Language Packs (where VV is the ArcGIS version number). 2. Copy the language folder from ArcGIS Desktop to ArcGIS Server. Copy: <ArcGIS Desktop installation folder>\NetworkAnalyst\Directions\ <language code> To: <ArcGIS Server installation folder>\NetworkAnalyst\Directions\ <language code> Testing the Routing Service To test the routing service: Esri GIS Adapter 1. 37 From the Start menu, open the ArcGIS Server Manager and log in. Alternatively, browse to http://Esri_host/arcgis/manager, where Esri_host is the host name. 2. Navigate to Services and select the routing service that you configured, for example, Network_Analysis/Route_Service. 3. Display the Capabilities page, and select Network Analysis. 4. Note the REST URL value. You will need this URL later when you configure the Service Optimization GIS settings (see Step 7. Configuring the Service Optimization GIS Settings). 5. Click the REST URL link. This opens the route service in a new browser window. 6. Click the link to Route. 38 Esri GIS Adapter 7. At the bottom of the page, click the link to Solve Route. 8. Enter the following options: Stops Enter the longitude/latitude coordinates of the origin and destination, in the following format: -110.190471,33.971037;-110.522548,34.250973 Accumulate Attribute Names Select the distance units: miles or kilometers. Start Time Leave blank. If there is an existing value, delete it. 9. Click the option to Solve Route (POST). ArcGIS displays the route. Esri GIS Adapter 39 Step 5. Configuring the ArcGIS Geocoding Service The ArcGIS locator service provides the geocoding functionality to ClickSchedule. To configure the locator service: 1. From the Start menu, open ArcMap. 2. On the menu, click Window > Catalog. This opens the Catalog pane. 3. In the Catalog pane, expand the Locators node and select the desired locator For example, select the USA locator. 40 Esri GIS Adapter 4. Right-click the locator and click Share As > Geocode Service. 5. On the first wizard page, select Publish a Service. 6. On the next page, select a connection and assign a service name. For example, call the service USA_Locator. Esri GIS Adapter 7. Follow the on-screen instructions to complete the wizard. 8. On the last wizard page, click Continue. 41 This opens the Service Editor window. 9. On the toolbar, click the Publish button. You can now close ArcMap. Optimizing and Testing the Geocoding Service 1. From the Start menu, open the ArcGIS Server Manager and log in. Alternatively, browse to http://Esri_host/arcgis/manager, where Esri_host is the host name. 2. In the list of services, double-click the locator service that you published. 3. On the Parameters page, set the Maximum Number of Candidates. The recommended value is 100. 42 Esri GIS Adapter 4. On the Pooling page, set the number of geocoding instances. Set the following options according to the recommendations that you received from ClickSoftware (see Hardware Sizing above): - Minimum Number of Instances per Machine - Maximum Number of Instance per Machine. 5. On the Capabilities page, note the REST URL value. You will need this URL later when you configure the Service Optimization GIS settings (see Step 7. Configuring the Service Optimization GIS Settings). 6. Click the REST URL link. This opens a geocoding page in another browser window. Esri GIS Adapter 7. Follow the link to Find Address Candidate URL. 8. Enter an address, and click one the of Find Address Candidates buttons. The geocoding service returns the matching addresses from the dataset, along with their latitude and longitude coordinates. Step 6. Using the ArcGIS Configuration on Multiple Hosts If you run ArcGIS on multiple hosts, you do not need to configure each host independently. Instead: 1. Configure ArcGIS on a single host, as described in the preceding sections. 43 44 Esri GIS Adapter 2. Set the other hosts to use the same site configuration. For instructions, see the Esri documentation. Step 7. Configuring the Service Optimization GIS Settings You must configure the Service Optimization GIS settings and the ClickSchedule web client to use the Esri GIS Adapter. GIS Settings In this procedure, you must enter XML code in the Service Optimization Administration tool. If you copy the XML samples from the documentation, paste them into Notepad and edit as required. Delete the line breaks and whitespace that we inserted for readability, and any other extraneous text such as page headers. Then copy from Notepad into the Administration tool. 1. In the Service Optimization Administration tool, open the following settings: Central Settings/Parameters/GIS/Services Settings/Providers List Settings 2. Click the Add button. This adds a blank row, where you will define the server-side Esri geographic provider. 3. In the new row, click the drop-down arrow in the Provider ID column, and select Create New. The system assigns an ID number to the new provider. Esri GIS Adapter 4. 45 In the same row, enter the following information: Name Enter a name such as EsriProvider1. Is Web Client False. Type Enter the following value: W6GISProviderEsri.W6GISProviderEsri, W6GISProviderEsri Parameters XML Enter the following XML structure. The example is for the United States dataset. 5. In the Parameters XML column of the EsriProvider1 row, you must enter an XML structure according to the following example. Replace the emphasized text with your own values. <CountriesParameters> <CountryName Name="US" DataSetID="2" DataSetName="USMaps" Prime="true"> <ProviderCountryName /> <GeocodingConnectionServer> http://esri-host:6080/arcgis/rest/services/USA </GeocodingConnectionServer> <RoutingConnectionServer> http://esri-host:6080/arcgis/rest/services/ Network_Analysis/Route_Service/NAServer/Route/solve </RoutingConnectionServer> <MappingConnectionServer> http://vmesri:6080/arcgis/rest/services/Map_Services/ vm_esri_full_cache_tiles </MappingConnectionServer> <WebClientMapIdentifier /> </CountryName> </CountriesParameters> The elements and attributes have the following meanings: 46 Esri GIS Adapter CountryName Defines the provider for a specified country. To support more than one country, enter multiple CountryName elements. CountryName/@Name Enter the country name as defined in the Service Optimization Country dictionary. CountryName/@DataSetID CountryName/@DataSetName Enter the ID and name of the Esri geographic dataset. If in doubt about the correct values, consult with ClickSoftware. CountryName/@Prime If there is a single dataset for the country, assign true. If there are multiple datasets for the same country assign true to exactly one of them, and false to the others. ProviderCountryName Leave blank. GeocodingConnectionServer RoutingConnectionServer MappingConnectionServer The URLs of the ArcGIS geocoding, map, and route services, respectively. In the GeocodingConnectionServer, enter the URL of the locator that you published. You can insert multiple locators separated by semicolons, for example: http://esrihost:6080/arcgis/rest/services/USA;http://esrihost:6080/arcgis/rest/services/Canada In the RoutingConnectionServer and the MappingConnectionServer, enter the URLs of the routing and map services that you published. Note: The URLs of these services are the REST URL values, displayed in the ArcGIS Server Manager as described in the preceding sections. If the REST URL contains the name localhost, replace it with the actual host name. In the URL of the geocoding service, omit the /MapServer suffix. WebClientMapIdentifier Leave blank. Esri GIS Adapter 6. 47 In the Geocoding Settings XML column of the EsriProvider1 row, you must enter an XML structure according to the following example. Replace the emphasized text with your own values. <GeocodingSettings> <Locators> <Locator> <LocatorName>USA</LocatorName> <LocatorIndex>1</LocatorIndex> <MinimalGrade>86</MinimalGrade> <Parameters> <Parameter> <SOName>Street</SOName> <EsriName>Address</EsriName> </Parameter> <Parameter> <EsriName>City</EsriName> <SOName>City</SOName> </Parameter> <Parameter> <EsriName>Region</EsriName> <SOName>State</SOName> </Parameter> <Parameter> <EsriName>Postal</EsriName> <SOName>PostCode</SOName> </Parameter> </Parameters> </Locator> </Locators> </GeocodingSettings> The elements have the following meanings: Locator A locator service that you published. If you published more than one locator, enter multiple Locator elements. LocatorName The name of the locator service that you defined in ArcGIS. LocatorIndex If you enter multiple Locator elements, use the LocatorIndex element to set their sequence of activation (1, 2, 3, and so forth). If you enter only a single Locator, you can omit LocatorIndex. 48 Esri GIS Adapter MinimalGrade The minimal acceptable ArcGIS geocoding quality value. The geocoding service returns address matches that have at least this quality value. Parameters This element maps the Service Optimization property names to the ArcGIS names. You can view the ArcGIS names in the geocoding test window (see Step 5. Configuring the ArcGIS Geocoding Service). 7. Leave the following columns blank: - Routing Settings XML - Mapping Settings XML 8. Click the Add button again. This adds a blank row, where you will define the client-side Esri geographic provider. 9. In the new row, click the drop-down arrow in the Provider ID column, and select Create New. 10. In the new row, enter the following information: Name Enter a name such as EsriProviderWebClient1. Is Web Client True. Type Enter the following value: W6GISProviderESRIWC.W6GISProviderESRI,W6GISProvider ESRIWC 11. In the Parameters XML column of the EsriProviderWebClient1 row, enter the same XML as in the server-side EsriProvider1 row, but omit the GeocodingConnectionServer. For example: <CountriesParameters> <CountryName Name="US" DataSetID="2" DataSetName="USMaps" Prime="true"> <ProviderCountryName /> <RoutingConnectionServer> http://esri-host:6080/arcgis/rest/services/ Network_Analysis/Route_Service/NAServer/Route/solve Esri GIS Adapter 49 </RoutingConnectionServer> <MappingConnectionServer> http://vmesri:6080/arcgis/rest/services/Map_Services/ vm_esri_full_cache_tiles </MappingConnectionServer> <WebClientMapIdentifier /> </CountryName> </CountriesParameters> 12. Leave the following columns blank: - Geocoding Settings XML - Routing Settings XML 13. In the Mapping Settings XML column of the EsriProviderWebClient1 row, enter the maximum ArcGIS zoom level as in the following example: <MappingSettings> <MaxZoomLevel>14</MaxZoomLevel> </MappingSettings> When you are done, the two new rows should have the following appearance: 14. Open the following setting: Central Settings/Parameters/GIS/Services Settings/Countries Services 50 Esri GIS Adapter For each country, assign the Esri server-side provider that you defined, such as EsriProvider1. For detailed instructions, see the GIS Settings chapter of the ClickSchedule GIS Configuration Guide. The chapter describes many additional settings that you might need to edit. 15. Stop and start all the Service Optimization servers. This ensures that your settings take effect. ClickSchedule Web Client Settings You must configure the ClickSchedule web client map settings to use the settings that you defined above: 1. In the Service Optimization Administration tool, open the ClickSchedule web client administrative settings, located under: Central Settings/Clients User Settings/ClickSchedule Web Client/Administrative Settings 2. Click the Launch button. This opens the Administrative Settings configuration window. 3. Display the Loading and Localization tab. 4. In the External Customization XML option, click the Change button. 5. Add the following elements: <externalDll name="ESRIProvider1" operationType="Added" assemblyName="W6GISProviderESRIWC.dll" /> <externalDll name="ESRIProvider2" operationType="Added" assemblyName="System.Json.dll" /> Esri GIS Adapter 6. Display the Map tab. 7. Click the Map Variables XML button. 8. In the XML editor, display the Tree View tab. 9. Edit the XML and configure the map. At a minimum, set the following attributes: resourceMap/mapConnections/availableProviders/ @SelectedProvider = "RadMapProvider" resourceMap/mapConnections/availableControls/ @SelectedControl = "RadMap" For detailed instructions, see the ClickSchedule Web Client chapter of the ClickSchedule Configuration Guide. 51 52 Esri GIS Adapter Comments ArcGIS is a trademark of Esri (http://www.esri.com). This document describes only the implementation of ArcGIS in ClickSchedule. For other information about ArcGIS, see the Esri documentation.