Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Python for ArcGIS Pro

You're reading from   Python for ArcGIS Pro Automate cartography and data analysis using ArcPy, ArcGIS API for Python, Notebooks, and pandas

Arrow left icon
Product type Paperback
Published in Apr 2022
Publisher Packt
ISBN-13 9781803241661
Length 586 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Authors (2):
Arrow left icon
William Parker William Parker
Author Profile Icon William Parker
William Parker
Silas Toms Silas Toms
Author Profile Icon Silas Toms
Silas Toms
Arrow right icon
View More author details
Toc

Table of Contents (20) Chapters Close

Preface 1. Part I: Introduction to Python Modules for ArcGIS Pro
2. Introduction to Python for GIS FREE CHAPTER 3. Basics of ArcPy 4. ArcGIS API for Python 5. Part II: Applying Python Modules to Common GIS Tasks
6. The Data Access Module and Cursors 7. Publishing to ArcGIS Online 8. ArcToolbox Script Tools 9. Automated Map Production 10. Part III: Geospatial Data Analysis
11. Pandas, Data Frames, and Vector Data 12. Raster Analysis with Python 13. Geospatial Data Processing with NumPy 14. Part IV: Case Studies
15. Case Study: ArcGIS Online Administration and Data Management 16. Case Study: Advanced Map Automation 17. Case Study: Predicting Crop Yields 18. Other Books You May Enjoy
19. Index

Basic style tips for writing scripts

To make clean, readable code, it is encouraged to follow these basic tips about how the code should be written and organized. The main rule enforced by Python is the indentation required, which is intended to make the code easier to read and write. The major Python style suggestions and implementations are collectively contained in the Python Enhancement Proposal 8, also known as PEP8. We have included our own recommendations as well, based on lots of experience.

Read more about Python code style here: https://realpython.com/python-pep8/

Find the PEP8 style guide here: https://www.python.org/dev/peps/pep-0008/

Indentation

Python code has strict indentation rules that are enforced by all IDEs. These rules relate to functions and loops especially.

As a standard, four spaces are used after a function is declared, a loop is created, or a conditional is used. This is just a standard, as it could be only one space or however many spaces you want, but that indentation level becomes important when scripts get big. It helps to have four spaces for all indented lines so that they can be more easily read.

Do not mix tabs and spaces when indenting, as this will make it impossible to execute scripts in some IDEs.

Read more about indentation here: https://www.python.org/dev/peps/pep-0008/#indentation

Using print statements

The built-in function called print() is used to send messages from the script to the command window while the script is running. Pass any valid data to the print() statement and use it to track progress or to debug if there are issues:

>>> print("blueberry")
blueberry
>>> x = 0
>>> print(x)
0

Debugging using print statements is very common, and I encourage it as you learn to code. Well-placed print statements will help you understand how the code execution is progressing, and will help you to find the source of bugs by telling you which part of the script has executed and which part has not. It is not a requirement to use print statements, but they really are a programmer’s friend.

Read more about print statements here: https://realpython.com/python-print/

Structuring a script

We suggest the following guidelines for good script structure:

  • Add a comment at the top with script details: This is an optional but recommended way to start your scripts: write a comment at the top with your name, the date, and a quick explanation about what the script is supposed to do. This is especially nice when other people have to read your code.

    Add lots of other comments throughout the script as well, to make sure you know what is happening throughout the script.

  • Follow with import statements: It is encouraged, but not required, to put the import statements at or near the top of the script. Imports must happen before the module objects are called in the script, but the import statements can be placed anywhere. It is best to put them at the top so that people reading the script can understand what is being imported.
  • Define global variables: After the import statements, define the necessary variables that will be used in this script. Sometimes it is necessary to define variables later in the script, but it is best to put major variables near the top.
  • Define functions: By placing function definitions below the global variables, it is easy to read and understand what the functions do when reading them. It is sometimes hard to find a function that is called in another part of the script if the function is not in a known location in the script.
  • Write the executable parts of the script: After importing modules and defining functions, the next part of the script is where the action takes place. The for loops are run, the functions are called, and the script is then done.

    Make sure to add lots of comments to help yourself understand what is happening throughout the script, and print statements as well to help while the script is running.

  • if __name__ == '__main__': Often at the end of scripts you will see this line. What it means is that the indented code below this line will be run if the script is executed directly, but if the code in the script is imported by another script, the code blocks will not execute until called in the second script.
You have been reading a chapter from
Python for ArcGIS Pro
Published in: Apr 2022
Publisher: Packt
ISBN-13: 9781803241661
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image