Python Training NRW

Hello!

These are the joining instructions for the Python training for Day 1 and Day 2 for NRW

I understand and appreciate that everyone has there own unique computer setup. This is something that can cause users some problems. It can be confusing.

https://m.xkcd.com/1987/

Python

Important pre meeting information – 10 am 8th March 2021

I recommend using Anaconda https://www.anaconda.com/download/ this course. We will use Python 3.7 (however versions from 3.6 onwards will be fine).

If you can type ‘python’ into a the anaconda prompt then you should be good to go. (see image below)

We have a pre course meeting planned at 11am 8th March – You should have a teams meeting link. This will be one of the topics discussed at that meeting. I aim to have everybody working with a copy of the course code so that we can start promptly on the day.

We will check connections, sounds, cameras and any other logistics

Anaconda comes pre cooked with jupyter notebook

type

jupyter notebook

to access this

into the command prompt and it should open up a web browser within your directory of all your folder/files and notebooks.

If you have any issues with the above please contact the course organiser who will be able to put you in contact with me.

Data

I run the course through a folder on my computer called D:\NRW_Training\Day1

I do recommend that you replicate this if possible, you do not have to do his but you will need to change some paths during the training. I will mention this during the course at the appropriate time.

The data we need from this course can be downloaded via the link below save this and extract to D:\NRW_Training\Day1\data_package_beg

data_package_beg

We will also draw on this data please go ahead and download it to a new folder

https://qgis.org/downloads/data/qgis_sample_data.zip

Code

I will make available the Day 1 code available prior to the course at the pre meeting. I would like you to try and follow the examples as we go, but don’t worry about mistakes this is all good practice. I recommend that you take notes, adjust the code as needed and break it. You can always revert to the original.

Challenges – Day 1

Throughout the course as our learning progresses I have a series of challenges. These are to aid your learning, help you practice. At the end of the challenge I share a solution, I will make the answers available at the start of day 2

Day 1 – Course Structure

1. Setup check on Python and Introduction(not a notebook)

2. Introduction to Jupyter Notebooks

3. Basics on Python (data types, slicing, lists, strings and for loops)

4. More depth on Lists and Iterables

—morning break—15min

5. Operators review for non-programmers

6. Errors and how to catch them

7. Building simple functions—Lunch—45min

8. Conditional statements

9. For Loops and while Loops

10. Working with directories of data

—afternoon break—15min

11. Manipulating a text file -opening/closing/writing to a text file

12. Basic Graphing/ plotting data

—finish 3pm with 30mins for questions —

Day 2 – Course Structure

Day 2 – Morning:

Day 2 morning course data (I will email this with code)

Review Day 1 course – questions – Quick Basics

Run through the 6 challenges from day 1 and share the code with you

More complexity – a very light introduction to inbuilt Python functions – trying to understand more complex code – reading code – documenting code – where to get help

plus… new material on Pandas, GeoPandas & Numpy

Generic useful skills – command line

These will be in the form of Python notebooks where appropriate (obviously command line, config files are not Jupyter notebook appropriate)

Day 2 – Afternoon:

Focus on FRAW Tools. Mainly though on Tidal Mapping – 3 component parts

  1. To talk about the general framework of the tools including (but not necessarily limited to) the following will be covered in: Top 12 most complex parts of the FRAW tools – including configuration files
    1. Argparse
    2. Logging
    3. Common imports like helpers for example
    4. Other commonality (if I have forgotten please shout)
  2. To talk about specific components of the tool – no direct code more of a demo / discussion
    1. Functions with some of the scripts (we will not have time to go through them all line by line – I think that is well understood)
    2. Interaction between the NRW code and ArcPy
    3. Attempt to use some of the knowledge we have gained on the day 1 beginner to look through the code
  3. To talk about how the code could be extended – no direct code more of a demo / discussion
    1. Adding functionality
    2. Making adjustments
    3. Interacting with the command line
    4. What happens if it goes wrong

This will be based on your code supplied under license to me. I don’t have an Arc environment on my machine to run the code. We should discuss what is your preferred method of working for the afternoon, prior to day 2 starting. I see it more as a seminar / discussion around these prepared topics.

Questions

If you have any pre or post course questions then please don’t hesitate to contact me, either on info@acgeospatial.co.uk (my public facing email) or my other contact details.