Have you ever been asked to automate a mapping task, which starts out from a very simple set of requirements, only to have more requirements emerge each time you show the stakeholders your solution?Being skilled, and agile enough, to keep meeting expanding requirements is guaranteed to delight your stakeholders, and give you immense personal satisfaction, for a job well done. In this course, Ill go through such a scenario, by setting a few initial requirements, that I would like you to meet using Python and ArcPy for ArcGIS Pro, and encouraging you to try and do that, before providing my solution to those requirements. Ill then expand upon those requirements, encourage you to upgrade your solution, and then provide my solution to the new requirements. So that you are not kept in the dark about our end goal, Ive attached a multi-page PDF file to the course, which illustrates the output of the final requirements. If you view that and think, I wish I knew how to do that, then this is the course for you! In this course of 26lectures, which is suitable for English-speaking students from anywhere in the world, things that you will use and learn include: ArcGIS Pro Project, Map and Layout authoring Layer configuration options Python string formatting Using ArcGISProject, Map, Layout, MapFrame objects Placing a graticule around a MapFrame Defining queries on Layers Using Camera, Extent and Describe objects Using tools like Sort, MultipartToSinglepart, Select, GetCount Building a test harness with performance timing Using Search, Update and Insert Cursors Using Cursors to work with both attribute and geometry fields Using Python arrays of Point geometries to construct Polygon geometries Using Python for loops within loops to construct table cells as features Writing Python functions and modules Using Pythons time module Creating and using Python dictionaries Cloning Graphics and Text Elements to Add Tables to Layouts Converting Decimal Degrees into Degrees, Minutes and Seconds with cardinal direction Creating polygon feature classes to represent table outlines and shading Creating point feature classes to represent table text Using attribute driven symbology to display hexadecimal colours Splitting tables across pages while retaining header row Replacing data sources of feature layers by updating their connection properties Creating a PDF document object and appending pages into it Plus much more.