Integrating Office 365 and ArcGIS David Howes, Ph.D. - David Howes, LLC

Washington State Joint Agency GIS Day November 18th, 2015

Challenge

Integrate the capabilities of

• Office 365-Excel add-ins

• ArcGIS for Server geoprocessing • .NET Server Object Extension • Python geoprocessing service

• ArcGIS Online mapping App vs. Add-In

• An app is a self-contained unit with its own interface (see About Tech page)

• An add-in can’t operate on its own - adds to or extends the capabilities of the host program

• Note updated Microsoft terminology https://msdn.microsoft.com/en-us/office/aa905340.aspx

Why? Business Case

• Office 365 is being implemented widely at the enterprise and small business levels

• Excel/ArcGIS integration offers a powerful platform for what terms “GeoEnrichment”

• David Howes, LLC • GIS consulting business • Tools, processes and supporting infrastructure • Clients ranging from small businesses to multinational corporations Business Case: Microsoft

• Build on existing .NET desktop/web development capabilities

• BizSpark • Free access to Microsoft productivity and development tools • Azure credits • Websites • Virtual machines • Storage Business Case: Esri

• Rich history with Esri software use and development

• Esri Developer Network (EDN) • $2,190 per year • EDN Annual Subscription with ArcGIS for Desktop Basic • Access to ArcGIS Server Workgroup Advanced Business Case: Client Needs

General Process

1. Select some records in Excel

2. Send data to ArcGIS Server

3. Do something with it

4. Get some results back

5. Show results in worksheet and on a map Specific Process (1)

1. Select records defining species locations in Excel

2. Send data in JSON format to • ArcGIS Server .NET (C#) Server Object Extension (SOE) • Python geoprocessing service

3. Run the Spatial Analyst ExtractMultiValuesToPoints tool a. For each point location, get the values from three land cover rasters (shrub, herbaceous, bareground) b. New field added to feature class for each raster Specific Process (2)

4. Read the values from the feature class table

5. Send the raster values in JSON format back to Excel

6. Insert the values into the worksheet next to the point records

Outbound JSON

{ "headers":[ ["ID","Long","Lat"] ], "rows":[ [1,-109.134,46.352], [2,-109.127,46.349] ] } Return JSON

{ "Result": { "1": { "shrub": "0.208", "herbaceous": "0.335", "bareground": "0.324" }, "2": { "shrub": "0.220", "herbaceous": "0.303", "bareground": "0.155" } } } How to Create the Excel Add-in

How to Include the ArcGIS Online Map

How to Create the Server Object Extension

How to Create the Python Geoprocessing Service

Complications Add-In: SharePoint Online App Catalog ArcGIS Server Development

• File geodatabase schema locking • ExtractMultiValuesToPoints tool to fail • Deleting fields function (ArcObjects or Delete tool) “General function failure”

• Debugging is limited • Open Visual Studio as Administrator • Attach process • Step forward only

• Compiling • Intermittent failure • May be related to ArcGIS Server locking ArcGIS Server Reinstallation

• ArcGIS Server uninstall leaves remaining files:

• C:\arcgisserver Data/configuration files - check before deleting

• C:\Program Files\ArcGIS\Server Various system files

• Consequence:

Python GP Service: Missing Output Python GP Service: Messaging

• Return error messages as well as results in output JSON string

• ArcGIS Server log entry Python GP Service: Testing Next Steps Next Steps: Excel Add-In

• Solve security problem with SharePoint Online App Catalog • Try to place return data directly into required cells without having to position cursor Select input data

Determine output data placement Next Steps: ArcGIS for Server

• Address Python, .NET issues

• May need to reconsider data storage - file geodatabase may not be a suitable, even with a single user situation

• Could spend $1,000 to upgrade EDN subscription to allow use of ArcSDE, or consider other options (e.g., open source) Next Steps: ArcGIS Online

• Install Portal for ArcGIS

• Experiment with enhanced map content and functionality Takeaway Messages

• Potentially huge market for Office 365/GIS integration

• Office 365 add-ins offer a highly customizable alternative to Esri Maps for Office, leveraging existing infrastructure for many organizations

• Investment in learning skills related to server and cloud technology worthwhile Questions? Thanks for Coming

Slides available at: http://gispd.com/events http://dhowes.com/presentations