ArcGIS API for Python

My experience taking the ArcGIS API for Python Associate Certification Exam

Introduction

I am a computer science student with 3 years experience using Python. I’m also an intern at Esri and am passionate about harnessing geographic data to solve real-world problems. During my internship, I realized that I wanted to combine my background with GIS. It seemed a natural choice to grow and validate my skills in Python using the ArcGIS API for Python. I discovered the ArcGIS API for Python Associate Certification.

Receiving this certification would boost my professional profile, list me in the directory of Esri-certified individuals, and showcase my skills to potential employers and peers in the GIS and spatial analysis industry. I diligently prepared and took the exam. Unfortunately, I didn’t pass on my first attempt, but the experience was invaluable.

If you want to know how I managed to work around these challenges and what I learned from this experience, this article is for you. I want to walk you through my preparation for the certification, the resources I accessed, and the hurdles I navigated as a non-Windows user.

What is the certification?

The ArcGIS API for Python Associate Certification is designed for GIS professionals, data analysts, data scientists, and others with two to four years of experience using the ArcGIS API for Python to perform analysis, visualization, editing, and web GIS administration. Despite the requirement for significant experience, I had little to no knowledge of the ArcGIS API for Python before this summer. Nonetheless, I challenged myself to prepare for and take the examination, eager to expand my skill set and validate my abilities using the ArcGIS API for Python.

Getting started

My first step was to explore the certification page and thoroughly review the provided PDF. Everything seemed promising, and I was ready to prepare for the exam. However, I encountered a challenge familiar to many MacBook or non-Windows users: the inability to install ArcGIS Pro. So, I opted to use Jupyter Notebook locally. Installing the ArcGIS API for Python on my MacBook presented its own set of challenges. I already had a few different versions of ArcGIS for Python installed on my computer for testing purposes. I needed to create a different environment to resolve my issue and install the correct version of working ArcGIS for Python. You can learn more about the setup in ArcGIS API for Python in the package manager documentation.

About the learning plan

The certification plan provided me with a comprehensive list of resources and courses designed to prepare for the exam. The training comprised various learning modules, ranging from basic to advanced visualization topics. This plan began with a video overview of the certification process, offering tips for exam preparation. This gave me a clear idea of what to expect and how to proceed.

Figure 1: ArcGIS API for Python Associate Certification 2024 Learning Plan

Regarding my time commitment, it took me about two weeks to complete all the instructions and follow the ArcGIS for Python documentation. There are so many things to learn and gain from the ArcGIS API for Python documentation, making it a valuable resource throughout the learning process.

The course in learning plan is designed to provide a practical learning experience alongside the videos. What impressed me the most were the exercises and resources provided. Using real-world data for analysis and visualization was particularly impactful, offering a hands-on approach to understanding the capabilities of the ArcGIS Python API.

The module on visualizing data taught me invaluable skills in creating compelling spatial visualizations. For example, I applied these techniques to map the relationship between areas of high population density and historical fire incidents in Montana. Using a Spatially Enabled DataFrame, I visualized how population centers correlate with the locations of major historical fires, which was crucial for fire management planning.

Figure 2: Areas of higher population density and large historical fires in the state of Montana

I delved into the module on “Accessing data in a portal”, which provided real-world examples applicable to roles such as organization administrators and content publishers. This module offered practical insights into connecting to a portal and retrieving published content efficiently. For instance, I simulated scenarios where I, as a traffic analyst for an insurance company in Seattle, used the API to access and list citation incident locations in the Puget Sound region. By creating a notebook and leveraging the API, I seamlessly connected to the GIS, searched for specific feature layers like “Puget Sound Traffic Incidents,” and displayed relevant content directly within the notebook interface. This exercise not only sharpened my ability to navigate GIS environments but also showcased the API’s robust capabilities in handling real-world data retrieval tasks with ease.

After completing the module on administering content, I was truly impressed by how much it deepened my understanding of managing users and groups within ArcGIS Online. In this module, I learned how to automate workflows for efficient data access and permissions management. These practical skills will be very useful for collaborative projects and improving organizational efficiency.

Overcoming challenges with MacBook

Although most of the demos and instructions in the training were shown using ArcGIS Pro, I opted to use Jupyter Notebook  and ArcGIS Online Notebooks, depending on the feature I needed to work with. My main motive was to see how Mac users can complete the certification using a MacBook. Here’s a reflection on the challenges and how I overcame them.

During my preparation, I found that certain functions and features were not fully supported in Jupyter Notebook. For instance, some advanced visualization tools, such as applying renderers to a Spatially Enabled DataFrame (SEDF) for map visualization, didn’t work as expected in a standard Jupyter Notebook. These limitations meant that some of the functionality demonstrated in ArcGIS Pro couldn’t be replicated directly in Jupyter on a Mac.

To overcome this, I turned to ArcGIS Online Notebooks, a cloud-based environment provided by Esri. ArcGIS Online Notebooks support these advanced GIS features and offer full compatibility with the ArcGIS API for Python. For example, I was able to successfully use specific renderers and perform complex map visualizations in ArcGIS Online Notebooks, which were not possible in Jupyter. However, I had to be mindful of the resource consumption in ArcGIS Online, as some operations, especially those involving advanced notebooks, can consume credits.

By using both Jupyter Notebook and ArcGIS Online Notebooks, I could leverage the strengths of each platform. Jupyter Notebook was perfect for basic scripting, data manipulation, and initial exploration of the API, while ArcGIS Online Notebooks allowed me to execute more complex tasks that required full support for GIS features. This approach enabled me to complete the certification preparation on a MacBook effectively, without the need for a virtual machine with Windows-based software.

Other challenges

One of the unexpected challenges I faced was working with a GBD file provided in the training materials. I wasn’t sure what was inside the GBD file or which layers were appropriate for the tasks. To better understand its contents, I decided to upload the GBD file to ArcGIS Online.

By doing this, I was able to manually explore the different layers and their fields directly within the ArcGIS Online interface. This hands-on investigation allowed me to identify the correct layers and understand their contents, enabling me to proceed with the exercises effectively despite the initial uncertainty.

Taking the examination: a first time experience

This was my first experience with an online proctored exam via the Pearson Vue platform, and it was both unique and enlightening. After registering for the test on Pearson, I had to download the OnVUE application, which was detailed in the instructions provided. The preparation steps included testing my system beforehand, ensuring I had an acceptable form of ID, and setting up an appropriate testing space.

The exam itself comes with a cost, which can be a significant consideration for many. Fortunately, because I was participating in an internship at Esri, I was able to apply to an internal program that covered the exam costs for me.

I decided to take the exam online, which offered the convenience of completing it from my own space. However, it’s worth noting that there are also physical test centers available if you prefer a more traditional exam setting. You can find a nearby test center through Pearson Vue’s test center locator.

On the day of the exam, I logged into my account 30 minutes early to start the check-in process and to allow time for any technical issues. It was crucial to be punctual, as being more than 15 minutes late could result in not being able to take the exam and possibly not receiving a refund. The onboarding process was straightforward. I used my phone to upload the required images, such as my ID and pictures of my desk from three different angles. After ensuring that my phone was put away, a proctor provided brief instructions before I began the test.

The exam consisted of 75 multiple-choice questions, with a time limit of 1 hour and 30 minutes. It was structured to assess not only theoretical knowledge but also the practical application of the skills I had learned. The questions spanned a wide range of topics, from basic API functionalities to more complex operations and advanced usage scenarios.

With just two months of experience using the ArcGIS API for Python, I found several questions challenging, especially those that explored the more advanced features of the API. These questions required a deep understanding of the API’s capabilities and nuances, extending beyond the basic concepts to real-world applications. While I felt prepared before the exam, the questions were more advanced than I anticipated, highlighting the extensive resources available in the ArcGIS API for Python documentation.

Unfortunately, I did not pass the exam. However, this experience was far from discouraging. It provided a valuable learning opportunity, revealing areas where I need to enhance my knowledge and skills. The process of preparing for and taking the exam gave me a solid foundation and increased confidence in using the ArcGIS API for Python. It also clarified what I need to focus on as I continue to grow my expertise in GIS and Python.

Wrap-up

While I didn’t achieve certification this time, the journey was immensely rewarding. The training transformed my role as an intern, equipping me with skills to automate tasks, perform complex analyses, and create interactive visualizations.

Don’t be deterred by the challenges; instead, use them as stepping stones to growth. One key piece of advice I have is to immerse yourself in in-depth learning and actively apply what you learn to real-world projects. While going through documentation is essential, it can be difficult to retain everything without practical experience. Try to engage in hands-on projects where you can apply the concepts and tools you’ve learned. This not only helps solidify your understanding but also builds the necessary experience to tackle more advanced topics confidently.

Additionally, don’t rush the learning process. Take the time to explore the ArcGIS API for Python documentation thoroughly, and don’t hesitate to revisit the basics as you encounter more complex scenarios. Building a strong foundation is crucial, and gaining experience through practical application is invaluable.

I’m not giving up, and I encourage you all to pursue this path. The world of GIS and the ArcGIS API for Python is vast and full of opportunities. Let’s continue learning and demystify the world of GIS together!

Thank you for joining me on this adventure. If you’ve had similar experiences or have any tips, I’d love to hear from you in the comments. Let’s keep learning and growing together!

Until next time, stay curious and keep exploring!

 

About the author

Shashwot Niraula

Shashwot is a Software Product intern at Developer Experience Team. Shashwot works to elevate Esri among developers, foster a thriving community, and ensure their success with our technology.

Connect:
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments

Next Article

Get started with ArcGIS API for Python in Google Colab

Read this article