Geoprocessing using Python - Exploring spatial data and the usage of dictionary

Python for Spatial Analysis in ArcGIS Using Python in ArcGIS Pro
15 minutes
Share the link to this page
You need to have access to the item to view this lesson.
One-time Fee
List Price:  $99.99
You save:  $30
List Price:  €92.01
You save:  €27.60
List Price:  £78.38
You save:  £23.51
List Price:  CA$136.52
You save:  CA$40.96
List Price:  A$150.48
You save:  A$45.14
List Price:  S$134.87
You save:  S$40.46
List Price:  HK$780.66
You save:  HK$234.22
CHF 63.93
List Price:  CHF 91.34
You save:  CHF 27.40
NOK kr736.58
List Price:  NOK kr1,052.31
You save:  NOK kr315.72
DKK kr480.58
List Price:  DKK kr686.58
You save:  DKK kr205.99
List Price:  NZ$162.83
You save:  NZ$48.85
List Price:  د.إ367.25
You save:  د.إ110.18
List Price:  ৳11,719.82
You save:  ৳3,516.30
List Price:  ₹8,312.02
You save:  ₹2,493.85
List Price:  RM469.75
You save:  RM140.94
List Price:  ₦147,331.26
You save:  ₦44,203.80
List Price:  ₨27,796.36
You save:  ₨8,339.74
List Price:  ฿3,662.34
You save:  ฿1,098.81
List Price:  ₺3,217.98
You save:  ₺965.49
List Price:  B$517.06
You save:  B$155.13
List Price:  R1,837.02
You save:  R551.16
List Price:  Лв180.27
You save:  Лв54.08
List Price:  ₩136,066.92
You save:  ₩40,824.16
List Price:  ₪368.12
You save:  ₪110.44
List Price:  ₱5,814.46
You save:  ₱1,744.51
List Price:  ¥15,687.99
You save:  ¥4,706.87
List Price:  MX$1,668.59
You save:  MX$500.62
List Price:  QR364.34
You save:  QR109.31
List Price:  P1,357.56
You save:  P407.30
List Price:  KSh13,298.67
You save:  KSh3,990
List Price:  E£4,713.99
You save:  E£1,414.34
List Price:  ብር5,741.12
You save:  ብር1,722.50
List Price:  Kz84,932.10
You save:  Kz25,482.18
List Price:  CLP$90,081.08
You save:  CLP$27,027.02
List Price:  CN¥724.33
You save:  CN¥217.32
List Price:  RD$5,884.09
You save:  RD$1,765.40
List Price:  DA13,459.27
You save:  DA4,038.18
List Price:  FJ$222.79
You save:  FJ$66.84
List Price:  Q776.15
You save:  Q232.86
List Price:  GY$20,904.26
You save:  GY$6,271.90
ISK kr9,655.12
List Price:  ISK kr13,793.62
You save:  ISK kr4,138.50
List Price:  DH996.63
You save:  DH299.02
List Price:  L1,771.78
You save:  L531.58
List Price:  ден5,664.24
You save:  ден1,699.44
List Price:  MOP$804.05
You save:  MOP$241.23
List Price:  N$1,836.30
You save:  N$550.94
List Price:  C$3,677.56
You save:  C$1,103.37
List Price:  रु13,287.88
You save:  रु3,986.76
List Price:  S/373.53
You save:  S/112.07
List Price:  K388.30
You save:  K116.50
List Price:  SAR375.02
You save:  SAR112.51
List Price:  ZK2,666.83
You save:  ZK800.12
List Price:  L457.94
You save:  L137.39
List Price:  Kč2,276.37
You save:  Kč682.98
List Price:  Ft35,391.42
You save:  Ft10,618.49
SEK kr743.65
List Price:  SEK kr1,062.40
You save:  SEK kr318.75
List Price:  ARS$89,066.09
You save:  ARS$26,722.50
List Price:  Bs690.41
You save:  Bs207.14
List Price:  COP$385,967.67
You save:  COP$115,801.88
List Price:  ₡51,227.77
You save:  ₡15,369.86
List Price:  L2,469.21
You save:  L740.83
List Price:  ₲751,546.38
You save:  ₲225,486.46
List Price:  $U3,849.38
You save:  $U1,154.93
List Price:  zł391.29
You save:  zł117.40
Already have an account? Log In


In this video, we are going to explore spatial data. So open your London project, which you made in lesson six. As you notice in the last lesson, you specify the data sets when you use your processing tools. However, if you try to use an input that doesn't exist, you will get an error. Therefore, you should validate the input data sets. In this sense, use the exist function of arc pi, which returns a Boolean value indicating if the element exists or not.

With the function, you are able to validate feature classes, tables and layers, among others. Let's make some examples with the exists function first port, the arc pi package using the Python windows, then write print, open parenthesis type, arc pi dot and exists. Now, write the path of the element that you want to validate. In this case, write the our directive and use the path C, colon backslash London project, backslash London project dot g d, b, backslash London underscore diversity then press enter and you will get the false value that happens because the source of London by diversity data is on the web. I will show you this layer using the data scribed function, you can validate the fact that the layer exists in your project. If you write London underscore diversity, perhaps you are wondering how it is possible.

Since you didn't specify any path. Remember that you set the workspace environment in the previous lesson. If you want to check it, print the statement arc p y dot e Nv dot workspace. You will notice this will point to the database of your project. Now try to validate the feature layer of London diversity. Right London underscore diversity twice using a backslash in between and press enter.

The outcome will be true. Now try to validate that topographic layer. Write the string topographic inside the exists function and press enter. You will get true again. If you ask what layer it is, click on the top of your central panel. Then click on drying order, which is in the contents panel, you'll see the topographic layer.

If you uncheck the mark, you will disable the visibility of the layer. Remember that when you want to validate the existence of any file that is not in your project, you must use the absolute path. Try to determine if the feature class called new feature exists. In the previous lesson, I showed you the describe function which returns object that contains the properties of the data. So you can use it on many data sets. Also, the describe function of shape file, rosters and tables is dynamic since the properties depend on the data type.

In this sense, they are organized in groups. There is a group called feature class that includes the shape type property. We worked with the property in the previous lesson to find out if the feature was a point, a polyline, or polygon, or others. So feature class provides access to their geo database shapefile coverage, among others. If you want to know the feature type of new feature called the describe function, and it's Find the resulting object to an object called d s c, then access the feature type property and print the outcome, you will get the string simple because the polygon represents a place that has an area and represents the position of each borough of London. You can also find out the data set type of an element in this case, right d e SC, dot data set type and print the outcome, you will get feature class.

If you want to extract the properties of the spatial reference. You set an object called s r to de SC dot spatial reference This object has several properties and methods. For example, if you write S r dot name, the outcome is a string with the name of the spatial reference. Now write S r dot type and press enter. outcome is projected. You can also have the access to the extent of the x and y domain, in this case, right s r dot domain and press enter.

There are four values, minimum of x, minimum of y, maximum of x, and maximum of y. All that information you can see it's if you right click on London diversity feature layer and click on Properties, then click on source. And after that, click on domain resolution and tolerance. Okay. Now apply the describe function on the feature layer and assign the outcome to the object called de sc. As I mentioned before, you get a false value when you use the exist function, since its path is an you are L. So, right D e s c dot path and press enter.

You'll notice that the path is from a GIS server. Keep in mind that the main reason of making the processing script is batch processing. So you can iterate Over the data during this process. In this sense, arc pi has a list function to index data. There is a list for fields, indexes, data sets, feature classes, rosters, tables, and others. For example, if you need a list of feature classes, write list one, equal arc pi dot list of feature classes, open parenthesis and press enter.

Then print the list one and observe the outcome. Notice that it is a list of string. But in this case, it only has one element. So if you want to process each feature class, you can use list to control workflows. After the for loop. Let's make an example.

First write a list of the fields of new feature. So write the variable field list to arc pi dot list fields. open parenthesis, write the string new feature and press Enter. Now, you have the fields list to control the for loop. Next write for fields in field list colon and press enter. Remember that Python uses indentation to group the statements.

So right print open parenthesis, type field dot name, combined with space and field dot length, convert it into a string then press Enter twice and observe the outcome. For this part we are going to work with dictionaries. I showed you in previous lesson that the value of a list or a tupple can be accessed by index number. While if you use a dictionary you can access the values by using keys. To create a dictionary write data equal a pair of braces, or curly brackets, and press Enter. Now to add entries write data, open bracket and write the string name as a key.

After that, move out of the brackets, write equals Mary and press Enter. Now create another used entry using the string city and the coordinates as a key. Assign London to the City and the tupple five one dot five one comma minus zero dot 1182 coordinates. Once you do that, you will get access of the following outcome. You can replace the value of entries the same way as you create a new one. Try to replace the name attribute of the data.

So write data open brackets, write the string name, move out of the brackets, write equals Peter and press Enter. Now, print data and observe the outcome. Keep in mind, the key is case sensitive, which means it can have a different outcome depending on how you write the string. So if you write name with the capital N It will be a different key name from the lowercase. And in this case, be careful when you write the keys of a dictionary. When you try to access with a key that doesn't exist, you will get a key error.

For example, try to bring an entry with key H. When you do that, you will get an error as I show you in the video. So dictionaries have four useful methods to interact with them. Get is the first method. You can use it when you want to verify whether the key exists. In case the key exists, it will return the value but if it doesn't exist, it will return none. Try to access the data With age as key, as I show you in the video and press enter, you will get none.

However, if you do the same using name as key, you will see Peter printed keys is the second method. This method is used to get a list of keys that exists in a dictionary. For example, print the outcome of data dot keys in a pair of parentheses and press enter. You will get a list with name, city and coordinates as keys. Now, if you call the values method, in the same way, you will get a list of values. Items is the fourth method.

This returns a list of tuples From keys and values that exists in the dictionary, do the same as the last examples, but use items instead of values. When you do that, you will get a list of three titles, one for each key. As the left last example of this tutorial, we are going to make a dictionary using the information of field lists. So make an empty dictionary called D one. After that, write the same four statements that we used in the list of fields and press Enter. Now we use a string of field dot name to create the keys and assign the field up type.

Then print the name and the type separated by a comma Norma, that's all for this tutorial. I hope you like it and you want to watch more tutorials about Python and je s

Sign Up


Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.