Training

NOV 1 2018

Introduction to Web AppBuilder for ArcGIS Custom Widget Development

Half-day workshop conducted at Northwest GIS 2018

David Howes, David Howes, LLC

Kitsap Conference Center, Bremerton, WA

Workshop Description

Esri’s Web AppBuilder for ArcGIS supports the creation of web applications that can be extended using widgets, which are developed using HTML, CSS and JavaScript. The Layer List is an example of such a widget, consisting of a button in the web application and a form which opens when the button is clicked. The form provides information about map layers along with associated functionality. The goal of the workshop is to teach attendees the basic principles required to create their own custom widgets and, thus, add their own functionality to web mapping applications.

Specifically, widgets are based on the Dojo open source toolkit, while the ArcGIS API for JavaScript provides capabilities for working with maps and associated tasks. Custom widgets are created using the Developer Edition of Web AppBuilder for ArcGIS, which allows for the creation of web applications that can be hosted by organizations, especially within an ArcGIS Enterprise environment, as opposed to within ArcGIS Online (security concerns prevent the development and deployment of widgets in ArcGIS Online).

The workshop will provide an introduction to (1) the role of widgets in Web AppBuilder for ArcGIS, (2) installation and use of the Developer Edition, (3) creation of basic Dojo widgets, (4) use of version 3.x of the ArcGIS API for JavaScript in widget development for 2D applications and (5) widget deployment.

Visual Studio Code will be used for the development demonstrations and a brief introduction to its features and capabilities will be provided.

The workshop will consist of a balance between lecture material and hands-on exercises. Those who wish to complete the exercises during the workshop will need to bring their own laptop with Visual Studio code installed. Attendees are encouraged to explore its capabilities prior to arriving at the workshop.

Attendees will be able to leave the workshop having a strong basis for developing their own custom widgets for use in Web AppBuilder for ArcGIS applications. This will help them increase the value of their ArcGIS investment and enhance their standing and employability as GIS professionals.

Intended Audience
GIS professionals having basic familiarity with web development (HTML, CSS and JavaScript) and version 3.x of the ArcGIS API for JavaScript.

Learning Objective
Extend the capabilities of Web AppBuilder for ArcGIS applications by developing custom widgets.

OCT 29 2018

ArcGIS Development Using Python: Scripts and Tools in Desktop and Pro

One-day workshop conducted at Northwest GIS 2018

David Howes, David Howes, LLC

Kitsap Conference Center, Bremerton, WA

Workshop Description

The goal of this workshop is to teach attendees how to extend the ArcGIS desktop products, ArcGIS for Desktop and ArcGIS Pro, by using Python to create functionality that can run as standalone programs or operate inside the software as geoprocessing tools.

Three primary topics will be covered: (1) Desktop ArcGIS Python overview and setup; (3) Running Python scripts; and (3) Creating geoprocessing tools (Script Tools and Python Toolboxes).

JetBrains PyCharm Community Edition will be used for coding demonstrations and a brief introduction to its features and capabilities will be provided.

The workshop will consist of a balance between lecture material and hands-on exercises. Those who wish to complete the exercises during the workshop will need to bring a laptop with ArcGIS for Desktop (latest version preferred, but not critical), ArcGIS Pro (latest version) and JetBrains PyCharm Community Edition (latest version) installed. Those unfamiliar with PyCharm are advised to work through the introductory materials available from the JetBrains website prior to arriving at the workshop. In order to ensure that the workshop time can be fully devoted to the primary topics, time will not be allowed during the workshop itself for installation of the required software.

Attendees will be able to leave the workshop having a strong basis for recognizing and pursuing their desktop ArcGIS customization needs, increasing the value of their ArcGIS investment and enhancing their standing and employability as GIS professionals.

Intended Audience
GIS professionals familiar with the ArcGIS desktop products and basic Python programming.

Learning Objectives

  • Extend the capabilities of the ArcGIS desktop programs using Python.
  • Explore the relative merits and applicability of the Python extensibility options.
  • Create Python standalone programs and geoprocessing tools.

APR 23 2018

Developing ArcGIS Pro Python Tools and Processes

Thee-hour workshop conducted at GIS In Action 2018

David Howes, David Howes, LLC

Portland State University, Portland, OR

Workshop Description

The goal of this workshop is to teach attendees how to extend ArcGIS Pro by using Python to create functionality that can run as standalone programs or operate inside the software as geoprocessing tools.

Four topics will be covered: (1) ArcGIS Pro Python overview and setup; (2) Upgrading ArcGIS for Desktop tools for use in ArcGIS Pro; (3) Running Python scripts; and (4) Creating geoprocessing tools (script tools and Python Toolboxes).

JetBrains PyCharm (Community Edition) will be used for coding demonstrations and a brief introduction to its features and capabilities will be provided.

The workshop will consist of a balance between lecture material and hands-on exercises. Those who wish to complete the exercises during the workshop will need to bring a laptop with ArcGIS Pro (latest version) and JetBrains PyCharm (Community Edition) installed. Anyone unfamiliar with PyCharm is advised to work through the introductory materials available from the JetBrains website before arriving at the workshop.

Intended Audience
GIS professionals familiar with ArcGIS Pro and having basic experience in Python programming.

Learning Objectives

  • Extend the capabilities of the ArcGIS Pro using Python to create geoprocessing tools and standalone programs.
  • Explore the relative merits and applicability of the Python extensibility options.

OCT 9-10 2017

ArcGIS Development Using Python: Tools, Add-ins and the ArcGIS API

Two-day workshop conducted at the 32nd Annual Northwest GIS User Group Conference

David Howes, David Howes, LLC

Boise Centre, Boise, ID

Workshop Description

The goal of this workshop is to teach attendees how to extend the Esri ArcGIS platform by using Python to create functionality that can run as standalone programs or operate inside the software as geoprocessing tools or add-ins and serve to support a wide variety of GIS needs, such as analysis, visualization and administration.

Four primary topics will be addressed: (1) Basic Python and the use of JetBrains PyCharm for program development; (2) ArcGIS for Desktop and ArcGIS Pro script tools, Python toolboxes and standalone scripts; (3) ArcGIS for Desktop add-ins; and (4) the ArcGIS API for Python, a relatively recent product that is designed for use with ArcGIS Online and ArcGIS Enterprise and which, using Esri’s wording, “is a powerful, modern and easy to use Pythonic library to perform GIS visualization and analysis, spatial data management and GIS system administration tasks.”

The workshop will consist of a balance between lectures and hands-on exercises. Those who would like to complete the exercises during the workshop will need to bring a laptop with ArcGIS for Desktop 10.4.1 (or a newer version) and JetBrains PyCharm (Community Edition) installed.

Attendees will be able to leave the workshop having a strong basis for recognizing and pursuing their ArcGIS customization needs, increasing the value of their ArcGIS investment and enhancing their standing and employability as GIS professionals.

Intended Audience
GIS professionals familiar with the ArcGIS desktop and online products.

Learning Objectives

  • Extend the capabilities of the ArcGIS platform using Python
  • Explore the relative merits and applicability of the Python extensibility options
  • Create Python standalone programs, geoprocessing tools and add-ins

FEB 16 2016

Extending ArcGIS: Python Geoprocessing Tools and Add-Ins

One-day workshop conducted at the 50th Annual Alaska Surveying & Mapping Conference

David Howes, David Howes, LLC

Hilton Anchorage Hotel, Anchorage, AK

Workshop Description

The goal of this workshop is to show how the capabilities of ArcGIS for Desktop can be extended by using Python to create functionality that can run as standalone programs or operate inside the software as geoprocessing tools or add-ins. The relative merits and applicability of the Python extensibility options will be explored using supporting examples, such that attendees will be able to increase the value of their ArcGIS investment and enhance their standing and employability as GIS professionals.

Intended Audience
GIS professionals familiar with ArcGIS for Desktop and basic Python programming in ArcGIS.

Format
The workshop will not be hands-on, but will instead provide thorough content that is best delivered without the complications typically associated with supporting attendee exercises, for which a longer class would be more appropriate.

Supporting Materials
Slides and code will be made available to attendees following the workshop.

OCT 28 2015

Spatial Analysis Using Python

Workshop conducted at the GeoAlberta 2015 conference

Jason Pardy, Jason Pardy Consulting

Delta Edmonton South Hotel and Conference Centre, Edmonton, Alberta, Canada

Workshop Description

The goal of this workshop is to highlight the value of coding for GIS by demonstrating how Python can be a valuable resource for use in solving spatial problems, extending the capabilities of software and streamlining workflows. Geoprocessing tools and interactive Python commands in ArcMap and QGIS will be employed to prepare data and perform exploratory analysis to support, as an example, an investigation of whether an invasive plant is spreading in a random pattern. The processing steps will then be merged in a Python script to provide a fully-functional and shareable geoprocessing tool.

OCT 18-19 2015

Extending ArcGIS for Desktop with Python and .NET: Geoprocessing Tools and Add-Ins

Two-day workshop conducted at URISA GIS-Pro & NWGIS 2015, Spokane, WA, USA

David Howes, David Howes, LLC
Jason Pardy, Jason Pardy Consulting

Grand Hotel, Spokane, WA

Workshop Description

Depending on your interests and needs, you can think of Esri’s ArcGIS for Desktop as a rich set of GIS functionality made available through the standard Windows mechanisms of menu items, buttons and forms, along with a comprehensive set of geoprocessing tools. For some users, this “out-of-the-box” functionality provides all the capabilities they need to be successful. Other users may find it helpful to complement what’s provided, for example, to take a process they have to repeat frequently and reduce it from, say, 20 clicks of the mouse to one or two clicks and, thus, save their time for other tasks. Alternatively, they may want to extend the capabilities of the software, building on what’s already there to provide new geoprocessing functionality. However, while this may sound appealing, the reality is that many users find the thought of customizing the software or creating their own tools quite intimidating. Through this workshop, we aim to show that this need not be the case.

The goal of the workshop is to show how to extend the ArcGIS for Desktop functionality by using Python and the Microsoft .NET development framework with the C# programming language to create geoprocessing tools that can run as standalone programs or operate inside the software. Standalone programs will be created as Python scripts and .NET form applications. For tools that run within the software, the focus will be on Python geoprocessing tools and Python and .NET add-ins.

Day one of the workshop will cover geoprocessing tools, starting with Python in the morning and continuing with .NET in the afternoon. Day two will cover add-ins, with the same progression from Python to .NET.

Attendees will be able to leave the workshop having a strong basis for recognizing and pursuing their customization needs, increasing the value of their ArcGIS investment and enhancing their standing and employability as GIS professionals.

Intended Audience
GIS professionals familiar with ArcGIS for Desktop and Python programming in ArcGIS.

Learning Objectives

  • Extend the capabilities of ArcGIS for Desktop using either Python or .NET (C#)
  • Explore the relative merits and applicability of the Python and .NET extensibility options
  • Create Python and .NET standalone programs, geoprocessing tools and add-ins

MAY 12 2014

Extending ArcGIS for Desktop Using Python and .NET Add-Ins

One-day workshop conducted at the 2014 Washington GIS Conference

David Howes, David Howes, LLC
Jason Pardy, Voyager Search

Greater Tacoma Convention Center, Tacoma, WA

Workshop Description

Depending on your interests and needs, you can think of Esri’s ArcGIS for Desktop as a rich set of GIS functionality made available through the standard Windows mechanisms of menu items, buttons and forms, along with a comprehensive set of geoprocessing tools. For many users, this “out-of-the-box” functionality provides all the capabilities they need to be successful. Many other users, however, may find it helpful to make some changes to the software, for example, to take a process they have to repeat frequently and reduce it from, say, 20 clicks of the mouse to one or two clicks and, thus, save their time for other tasks. Alternatively, they may want to extend the capabilities of the software, building on what’s already there to provide new and valuable functionality. However, while this may sound appealing, the reality is that many users find the thought of changing or customizing the software quite intimidating. Through this workshop, we aim to show that this need not be the case.

The goal of the workshop is to show how to extend the ArcGIS for Desktop functionality through add-ins, a customization option introduced at ArcGIS 10.0. In simple terms, add-ins can be thought of as small programs that may be incorporated easily into ArcGIS for Desktop and may be made available for use with a minimum of effort.

The first half of the workshop will focus on core add-in concepts and possibilities using the Python programming language. The second half of the workshop will build on this introduction and cover the development of add-ins using the Microsoft .NET programming environment and, specifically, the C# programming language. Attendees should be able to leave the workshop having a strong basis for recognizing and pursuing their customization needs, increasing the value of their ArcGIS investment and enhancing their standing and employability as GIS professionals.

Intended Audience
GIS professionals familiar with ArcGIS for Desktop and Python programming in ArcGIS.

Learning Objectives

  • Extend the capabilities of ArcGIS for Desktop using either Python or .NET (C#)
  • Understand the Esri ArcGIS add-in framework
  • Explore the relative merits and applicability of the Python and .NET add-in options