Training

OCT 20 2020

ArcGIS Pro Python Tools and Processes Jumpstart

One-day workshop conducted online as part of Northwest GIS 2020

David Howes, David Howes, LLC

Workshop Description

The value of coding for GIS is widely recognized, yet all too often GIS professionals attend programming-related workshops and then struggle to act on and employ what they've learned, typically as a result of feeling overwhelmed and being too busy. Additionally, it appears from previous Python tools and processes workshops conducted by the instructor that there is a strong appetite for help with introductory Python skills geared towards getting started with Python in ArcGIS Pro as simply and efficiently as possible. In response, the primary purpose of this workshop is to provide attendees with the resources and knowledge they need to start using Python in ArcGIS Pro immediately, while providing a solid foundation for learning more advanced capabilities on their own or in subsequent workshops.

Four primary topics will be covered: (1) Basic Python programming; (2) Use of the JetBrains PyCharm Integrated Development Environment (IDE) (the free Community Edition); (3) Using Python with ArcGIS Pro; and (4) Creating and running Python scripts, simple Script Tools, and Python Toolboxes.

A set of template Python scripts will be provided along with a set of workflow steps that can be readily applied to eliminate the barrier between learning and application of the necessary skills.

Intended Audience
GIS professionals familiar with ArcGIS Pro and wishing to use basic Python programming to automate GIS operations.

Learning Objective
Extend the capabilities of ArcGIS Pro using Python by issuing commands in the Python window, by creating and running standalone scripts, and by creating simple tools within the ArcGIS Pro geoprocessing framework.

Format and Requirements
The workshop will consist of a balance between lecture material and demonstrations. Attendees who wish to follow along during the demonstrations and complete the learning tasks must have access to a computer with ArcGIS Pro (latest version) and JetBrains PyCharm (Community Edition) installed. Attendees may also find it helpful to review the PyCharm introductory materials available from the JetBrains website before attending the workshop.

Timing
The workshop will be conducted from 8:00 am to 5:00 pm Pacific Time.

Cost and Registration
The cost of the workshop is $260 per attendee. Please click here to register.

OCT 19 2020

Introduction to Web AppBuilder for ArcGIS Custom Widget Development

One-day workshop conducted online as part of Northwest GIS 2020

David Howes, David Howes, LLC

Workshop Description

Esri’s Web AppBuilder for ArcGIS supports the creation of web applications that can be extended using widgets, which are built using HTML, CSS and JavaScript. As an example, the Layer List widget consists of a button in the web application and an associated form, which provides information about map layers along with associated functionality. The goal of this 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 Version 3.x of the ArcGIS API for JavaScript provides capabilities for working with maps and for performing associated tasks. Custom widgets are developed using the Web AppBuilder for ArcGIS Developer Edition, which allows for the creation of web applications that can be hosted by organizations, especially within an ArcGIS Enterprise environment (widgets cannot be deployed to ArcGIS Online applications due to security concerns).

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

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

This workshop will provide attendees with a solid basis for developing their own custom widgets for use in Web AppBuilder for ArcGIS applications, which will help them increase the value of their ArcGIS investment and enhance their standing and employability as GIS professionals.

A Note about ArcGIS Experience Builder
Esri also provides a new web application development product called Experience Builder, currently at Version 1.1 and based on the React JavaScript library and Version 4.x of the ArcGIS API for JavaScript. This, of course, raises legitimate concerns regarding the value of continuing to make use of Web AppBuilder for ArcGIS; concerns that cannot reasonably be addressed by a simple recommendation one way or another. Choosing between the builder options depends on a variety of factors, such as the nature of any required applications and custom functionality, requirement timing, and the availability of developer skills. For those wishing to develop a simple, focused mapping application for use in a desktop environment without the need for new ArcGIS API JavaScript 4.x capabilities, the advanced mobile-first capabilities of Experience Builder may not be of interest at this time, especially given that the retirement date for Web AppBuilder for ArcGIS Version 2.16 is currently set as August 1, 2022. That said, the ArcGIS API for JavaScript Version 3.x is set to be retired on August 1, 2021, after which it won't be further developed. It is also reasonable to assert that the barrier to entry for widget development is higher for Experience Builder than it is for Web AppBuilder, given the need to learn React, TypeScript, and the ArcGIS API for JavaScript 4.x. In other words, the release of Experience Builder need not lessen the value of learning to develop basic Web AppBuilder widgets and could, in fact, be a useful small step into the world of coding, which can itself yield significant benefits for most 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.

Format and Requirements
The workshop will consist of a balance between lecture material and demonstrations. Attendees will be able to follow along during the demonstrations, but those who wish to do so must have both Visual Studio Code and Web AppBuilder Developer Edition installed on their computer. Links for both products are provided above and setup instructions will be distributed prior to the workshop. Exploring the capabilities of these products prior to attending the workshop is strongly encouraged.

Timing
The workshop will be conducted from 8:00 am to 5:00 pm Pacific Time.

Cost and Registration
The cost of the workshop is $260 per attendee. Please click here to register.

NOV 4 2019

Introduction to ArcGIS Pro Python Tools and Processes Development

Half-day workshop conducted at Northwest GIS 2019

David Howes, David Howes, LLC

Riverhouse on the Deschutes, Bend, 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.

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

Learning Objectives

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

Format and Requirements
The workshop will consist of a balance between lecture material and demonstrations. Attendees will be able to follow along during the demonstrations, but those who wish to do so must bring their own 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.

NOV 4 2019

Introduction to Web AppBuilder for ArcGIS Custom Widget Development

Half-day workshop conducted at Northwest GIS 2019

David Howes, David Howes, LLC

Riverhouse on the Deschutes, Bend, OR

Workshop Description

Esri’s Web AppBuilder for ArcGIS supports the creation of web applications that can be extended using widgets, which are built using HTML, CSS and JavaScript. As an example, the Layer List widget consists of a button in the web application and an associated form, which 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 for performing associated tasks. Custom widgets are developed 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 (widgets cannot be deployed to ArcGIS Online applications due to security concerns).

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

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

This workshop will provide attendees with a solid basis for developing their own custom widgets for use in Web AppBuilder for ArcGIS applications, which 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.

A Note about ArcGIS Experience Builder
As stated above, the workshop will focus on the Web AppBuilder Developer Edition and version 3.x of the ArcGIS API for JavaScript. However, a new web application development product called Experience Builder is now available in beta form. According to Esri, “there are no plans to replace or discontinue Web AppBuilder. Both builders will be running and maintained in parallel.” In other words, the release of Experience Builder should not lessen the value of learning to develop basic Web AppBuilder widgets. For further details, please see this page.

Format and Requirements
The workshop will consist of a balance between lecture material and demonstrations. Attendees will be able to follow along during the demonstrations, but those who wish to do so must bring their own laptop with both Visual Studio Code and Web AppBuilder Develop Edition installed. Links for both products are provided above. Exploring the capabilities of these products prior to arriving at the workshop is strongly encouraged.

APR 22 2019

Introduction to Web AppBuilder for ArcGIS Custom Widget Development

Thee-hour workshop conducted at GIS In Action 2019

David Howes, David Howes, LLC

Portland State University, Portland, OR

Workshop Description

Esri’s Web AppBuilder for ArcGIS supports the creation of web applications that can be extended using widgets, which are built using HTML, CSS and JavaScript. As an example, the Layer List widget consists of a button in the web application and an associated form, which 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 for performing associated tasks. Custom widgets are developed 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 (widgets cannot be deployed to ArcGIS Online applications due to security concerns).

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

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

Attendees will be given time to follow along during the demonstrations, but those who wish to do so must bring their own laptop with both Visual Studio Code and Web AppBuilder Develop Edition installed. Links for both products are provided above. Exploring the capabilities of these products prior to arriving at the workshop is strongly encouraged.

This workshop will provide attendees with a solid basis for developing their own custom widgets for use in Web AppBuilder for ArcGIS applications, which 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.

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 for performing associated tasks. Custom widgets are developed 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 (widgets cannot be deployed to ArcGIS Online applications due to security concerns).

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 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