-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpythonAndArcpytest.html
More file actions
729 lines (727 loc) · 196 KB
/
Copy pathpythonAndArcpytest.html
File metadata and controls
729 lines (727 loc) · 196 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>pythonAndArcpy</title>
<style>.markdown-preview:not([data-use-github-style]) { padding: 2em; font-size: 1.2em; color: rgb(171, 178, 191); background-color: rgb(40, 44, 52); overflow: auto; }
.markdown-preview:not([data-use-github-style]) > :first-child { margin-top: 0px; }
.markdown-preview:not([data-use-github-style]) h1, .markdown-preview:not([data-use-github-style]) h2, .markdown-preview:not([data-use-github-style]) h3, .markdown-preview:not([data-use-github-style]) h4, .markdown-preview:not([data-use-github-style]) h5, .markdown-preview:not([data-use-github-style]) h6 { line-height: 1.2; margin-top: 1.5em; margin-bottom: 0.5em; color: rgb(255, 255, 255); }
.markdown-preview:not([data-use-github-style]) h1 { font-size: 2.4em; font-weight: 300; }
.markdown-preview:not([data-use-github-style]) h2 { font-size: 1.8em; font-weight: 400; }
.markdown-preview:not([data-use-github-style]) h3 { font-size: 1.5em; font-weight: 500; }
.markdown-preview:not([data-use-github-style]) h4 { font-size: 1.2em; font-weight: 600; }
.markdown-preview:not([data-use-github-style]) h5 { font-size: 1.1em; font-weight: 600; }
.markdown-preview:not([data-use-github-style]) h6 { font-size: 1em; font-weight: 600; }
.markdown-preview:not([data-use-github-style]) strong { color: rgb(255, 255, 255); }
.markdown-preview:not([data-use-github-style]) del { color: rgb(124, 135, 156); }
.markdown-preview:not([data-use-github-style]) a, .markdown-preview:not([data-use-github-style]) a code { color: rgb(82, 139, 255); }
.markdown-preview:not([data-use-github-style]) img { max-width: 100%; }
.markdown-preview:not([data-use-github-style]) > p { margin-top: 0px; margin-bottom: 1.5em; }
.markdown-preview:not([data-use-github-style]) > ul, .markdown-preview:not([data-use-github-style]) > ol { margin-bottom: 1.5em; }
.markdown-preview:not([data-use-github-style]) blockquote { margin: 1.5em 0px; font-size: inherit; color: rgb(124, 135, 156); border-color: rgb(75, 83, 98); border-width: 4px; }
.markdown-preview:not([data-use-github-style]) hr { margin: 3em 0px; border-top: 2px dashed rgb(75, 83, 98); background: none; }
.markdown-preview:not([data-use-github-style]) table { margin: 1.5em 0px; }
.markdown-preview:not([data-use-github-style]) th { color: rgb(255, 255, 255); }
.markdown-preview:not([data-use-github-style]) th, .markdown-preview:not([data-use-github-style]) td { padding: 0.66em 1em; border: 1px solid rgb(75, 83, 98); }
.markdown-preview:not([data-use-github-style]) code { color: rgb(255, 255, 255); background-color: rgb(58, 63, 75); }
.markdown-preview:not([data-use-github-style]) pre.editor-colors { margin: 1.5em 0px; padding: 1em; font-size: 0.92em; border-radius: 3px; background-color: rgb(49, 54, 63); }
.markdown-preview:not([data-use-github-style]) kbd { color: rgb(255, 255, 255); border-width: 1px 1px 2px; border-style: solid; border-color: rgb(75, 83, 98) rgb(75, 83, 98) rgb(62, 68, 81); border-image: initial; background-color: rgb(58, 63, 75); }
.markdown-preview[data-use-github-style] { font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; line-height: 1.6; word-wrap: break-word; padding: 30px; font-size: 16px; color: rgb(51, 51, 51); background-color: rgb(255, 255, 255); overflow: scroll; }
.markdown-preview[data-use-github-style] > :first-child { margin-top: 0px !important; }
.markdown-preview[data-use-github-style] > :last-child { margin-bottom: 0px !important; }
.markdown-preview[data-use-github-style] a:not([href]) { color: inherit; text-decoration: none; }
.markdown-preview[data-use-github-style] .absent { color: rgb(204, 0, 0); }
.markdown-preview[data-use-github-style] .anchor { position: absolute; top: 0px; left: 0px; display: block; padding-right: 6px; padding-left: 30px; margin-left: -30px; }
.markdown-preview[data-use-github-style] .anchor:focus { outline: none; }
.markdown-preview[data-use-github-style] h1, .markdown-preview[data-use-github-style] h2, .markdown-preview[data-use-github-style] h3, .markdown-preview[data-use-github-style] h4, .markdown-preview[data-use-github-style] h5, .markdown-preview[data-use-github-style] h6 { position: relative; margin-top: 1em; margin-bottom: 16px; font-weight: bold; line-height: 1.4; }
.markdown-preview[data-use-github-style] h1 .octicon-link, .markdown-preview[data-use-github-style] h2 .octicon-link, .markdown-preview[data-use-github-style] h3 .octicon-link, .markdown-preview[data-use-github-style] h4 .octicon-link, .markdown-preview[data-use-github-style] h5 .octicon-link, .markdown-preview[data-use-github-style] h6 .octicon-link { display: none; color: rgb(0, 0, 0); vertical-align: middle; }
.markdown-preview[data-use-github-style] h1:hover .anchor, .markdown-preview[data-use-github-style] h2:hover .anchor, .markdown-preview[data-use-github-style] h3:hover .anchor, .markdown-preview[data-use-github-style] h4:hover .anchor, .markdown-preview[data-use-github-style] h5:hover .anchor, .markdown-preview[data-use-github-style] h6:hover .anchor { padding-left: 8px; margin-left: -30px; text-decoration: none; }
.markdown-preview[data-use-github-style] h1:hover .anchor .octicon-link, .markdown-preview[data-use-github-style] h2:hover .anchor .octicon-link, .markdown-preview[data-use-github-style] h3:hover .anchor .octicon-link, .markdown-preview[data-use-github-style] h4:hover .anchor .octicon-link, .markdown-preview[data-use-github-style] h5:hover .anchor .octicon-link, .markdown-preview[data-use-github-style] h6:hover .anchor .octicon-link { display: inline-block; }
.markdown-preview[data-use-github-style] h1 tt, .markdown-preview[data-use-github-style] h2 tt, .markdown-preview[data-use-github-style] h3 tt, .markdown-preview[data-use-github-style] h4 tt, .markdown-preview[data-use-github-style] h5 tt, .markdown-preview[data-use-github-style] h6 tt, .markdown-preview[data-use-github-style] h1 code, .markdown-preview[data-use-github-style] h2 code, .markdown-preview[data-use-github-style] h3 code, .markdown-preview[data-use-github-style] h4 code, .markdown-preview[data-use-github-style] h5 code, .markdown-preview[data-use-github-style] h6 code { font-size: inherit; }
.markdown-preview[data-use-github-style] h1 { padding-bottom: 0.3em; font-size: 2.25em; line-height: 1.2; border-bottom: 1px solid rgb(238, 238, 238); }
.markdown-preview[data-use-github-style] h1 .anchor { line-height: 1; }
.markdown-preview[data-use-github-style] h2 { padding-bottom: 0.3em; font-size: 1.75em; line-height: 1.225; border-bottom: 1px solid rgb(238, 238, 238); }
.markdown-preview[data-use-github-style] h2 .anchor { line-height: 1; }
.markdown-preview[data-use-github-style] h3 { font-size: 1.5em; line-height: 1.43; }
.markdown-preview[data-use-github-style] h3 .anchor { line-height: 1.2; }
.markdown-preview[data-use-github-style] h4 { font-size: 1.25em; }
.markdown-preview[data-use-github-style] h4 .anchor { line-height: 1.2; }
.markdown-preview[data-use-github-style] h5 { font-size: 1em; }
.markdown-preview[data-use-github-style] h5 .anchor { line-height: 1.1; }
.markdown-preview[data-use-github-style] h6 { font-size: 1em; color: rgb(119, 119, 119); }
.markdown-preview[data-use-github-style] h6 .anchor { line-height: 1.1; }
.markdown-preview[data-use-github-style] p, .markdown-preview[data-use-github-style] blockquote, .markdown-preview[data-use-github-style] ul, .markdown-preview[data-use-github-style] ol, .markdown-preview[data-use-github-style] dl, .markdown-preview[data-use-github-style] table, .markdown-preview[data-use-github-style] pre { margin-top: 0px; margin-bottom: 16px; }
.markdown-preview[data-use-github-style] hr { height: 4px; padding: 0px; margin: 16px 0px; background-color: rgb(231, 231, 231); border: 0px none; }
.markdown-preview[data-use-github-style] ul, .markdown-preview[data-use-github-style] ol { padding-left: 2em; }
.markdown-preview[data-use-github-style] ul.no-list, .markdown-preview[data-use-github-style] ol.no-list { padding: 0px; list-style-type: none; }
.markdown-preview[data-use-github-style] ul ul, .markdown-preview[data-use-github-style] ul ol, .markdown-preview[data-use-github-style] ol ol, .markdown-preview[data-use-github-style] ol ul { margin-top: 0px; margin-bottom: 0px; }
.markdown-preview[data-use-github-style] li > p { margin-top: 16px; }
.markdown-preview[data-use-github-style] dl { padding: 0px; }
.markdown-preview[data-use-github-style] dl dt { padding: 0px; margin-top: 16px; font-size: 1em; font-style: italic; font-weight: bold; }
.markdown-preview[data-use-github-style] dl dd { padding: 0px 16px; margin-bottom: 16px; }
.markdown-preview[data-use-github-style] blockquote { padding: 0px 15px; color: rgb(119, 119, 119); border-left: 4px solid rgb(221, 221, 221); }
.markdown-preview[data-use-github-style] blockquote > :first-child { margin-top: 0px; }
.markdown-preview[data-use-github-style] blockquote > :last-child { margin-bottom: 0px; }
.markdown-preview[data-use-github-style] table { display: block; width: 100%; overflow: auto; word-break: keep-all; }
.markdown-preview[data-use-github-style] table th { font-weight: bold; }
.markdown-preview[data-use-github-style] table th, .markdown-preview[data-use-github-style] table td { padding: 6px 13px; border: 1px solid rgb(221, 221, 221); }
.markdown-preview[data-use-github-style] table tr { background-color: rgb(255, 255, 255); border-top: 1px solid rgb(204, 204, 204); }
.markdown-preview[data-use-github-style] table tr:nth-child(2n) { background-color: rgb(248, 248, 248); }
.markdown-preview[data-use-github-style] img { max-width: 100%; box-sizing: border-box; }
.markdown-preview[data-use-github-style] .emoji { max-width: none; }
.markdown-preview[data-use-github-style] span.frame { display: block; overflow: hidden; }
.markdown-preview[data-use-github-style] span.frame > span { display: block; float: left; width: auto; padding: 7px; margin: 13px 0px 0px; overflow: hidden; border: 1px solid rgb(221, 221, 221); }
.markdown-preview[data-use-github-style] span.frame span img { display: block; float: left; }
.markdown-preview[data-use-github-style] span.frame span span { display: block; padding: 5px 0px 0px; clear: both; color: rgb(51, 51, 51); }
.markdown-preview[data-use-github-style] span.align-center { display: block; overflow: hidden; clear: both; }
.markdown-preview[data-use-github-style] span.align-center > span { display: block; margin: 13px auto 0px; overflow: hidden; text-align: center; }
.markdown-preview[data-use-github-style] span.align-center span img { margin: 0px auto; text-align: center; }
.markdown-preview[data-use-github-style] span.align-right { display: block; overflow: hidden; clear: both; }
.markdown-preview[data-use-github-style] span.align-right > span { display: block; margin: 13px 0px 0px; overflow: hidden; text-align: right; }
.markdown-preview[data-use-github-style] span.align-right span img { margin: 0px; text-align: right; }
.markdown-preview[data-use-github-style] span.float-left { display: block; float: left; margin-right: 13px; overflow: hidden; }
.markdown-preview[data-use-github-style] span.float-left span { margin: 13px 0px 0px; }
.markdown-preview[data-use-github-style] span.float-right { display: block; float: right; margin-left: 13px; overflow: hidden; }
.markdown-preview[data-use-github-style] span.float-right > span { display: block; margin: 13px auto 0px; overflow: hidden; text-align: right; }
.markdown-preview[data-use-github-style] code, .markdown-preview[data-use-github-style] tt { padding: 0.2em 0px; margin: 0px; font-size: 85%; background-color: rgba(0, 0, 0, 0.0392157); border-radius: 3px; }
.markdown-preview[data-use-github-style] code::before, .markdown-preview[data-use-github-style] tt::before, .markdown-preview[data-use-github-style] code::after, .markdown-preview[data-use-github-style] tt::after { letter-spacing: -0.2em; content: " "; }
.markdown-preview[data-use-github-style] code br, .markdown-preview[data-use-github-style] tt br { display: none; }
.markdown-preview[data-use-github-style] del code { text-decoration: inherit; }
.markdown-preview[data-use-github-style] pre > code { padding: 0px; margin: 0px; font-size: 100%; word-break: normal; white-space: pre; background: transparent; border: 0px; }
.markdown-preview[data-use-github-style] .highlight { margin-bottom: 16px; }
.markdown-preview[data-use-github-style] .highlight pre, .markdown-preview[data-use-github-style] pre { padding: 16px; overflow: auto; font-size: 85%; line-height: 1.45; background-color: rgb(247, 247, 247); border-radius: 3px; }
.markdown-preview[data-use-github-style] .highlight pre { margin-bottom: 0px; word-break: normal; }
.markdown-preview[data-use-github-style] pre { word-wrap: normal; }
.markdown-preview[data-use-github-style] pre code, .markdown-preview[data-use-github-style] pre tt { display: inline; max-width: initial; padding: 0px; margin: 0px; overflow: initial; line-height: inherit; word-wrap: normal; background-color: transparent; border: 0px; }
.markdown-preview[data-use-github-style] pre code::before, .markdown-preview[data-use-github-style] pre tt::before, .markdown-preview[data-use-github-style] pre code::after, .markdown-preview[data-use-github-style] pre tt::after { content: normal; }
.markdown-preview[data-use-github-style] kbd { display: inline-block; padding: 3px 5px; font-size: 11px; line-height: 10px; color: rgb(85, 85, 85); vertical-align: middle; background-color: rgb(252, 252, 252); border-width: 1px; border-style: solid; border-color: rgb(204, 204, 204) rgb(204, 204, 204) rgb(187, 187, 187); border-image: initial; border-radius: 3px; box-shadow: rgb(187, 187, 187) 0px -1px 0px inset; }
.markdown-preview[data-use-github-style] a { color: rgb(51, 122, 183); }
.markdown-preview[data-use-github-style] code { color: inherit; }
.markdown-preview[data-use-github-style] pre.editor-colors { padding: 0.8em 1em; margin-bottom: 1em; font-size: 0.85em; border-radius: 4px; overflow: auto; }
.scrollbars-visible-always .markdown-preview pre.editor-colors .vertical-scrollbar, .scrollbars-visible-always .markdown-preview pre.editor-colors .horizontal-scrollbar { visibility: hidden; }
.scrollbars-visible-always .markdown-preview pre.editor-colors:hover .vertical-scrollbar, .scrollbars-visible-always .markdown-preview pre.editor-colors:hover .horizontal-scrollbar { visibility: visible; }
.markdown-preview .task-list-item-checkbox { position: absolute; margin: 0.25em 0px 0px -1.4em; }
.bracket-matcher .region {
border-bottom: 1px dotted lime;
position: absolute;
}
.line-number.bracket-matcher {
background-color: #777;
}
.spell-check-misspelling .region {
border-bottom: 2px dotted rgba(255, 51, 51, 0.75);
}
.spell-check-corrections {
width: 25em !important;
}
pre.editor-colors {
background-color: #282c34;
color: #abb2bf;
}
pre.editor-colors .line.cursor-line {
background-color: rgba(153, 187, 255, 0.04);
}
pre.editor-colors .invisible {
color: #abb2bf;
}
pre.editor-colors .cursor {
border-left: 2px solid #528bff;
}
pre.editor-colors .selection .region {
background-color: #3e4451;
}
pre.editor-colors .bracket-matcher .region {
border-bottom: 1px solid #528bff;
box-sizing: border-box;
}
pre.editor-colors .invisible-character {
color: rgba(171, 178, 191, 0.15);
}
pre.editor-colors .indent-guide {
color: rgba(171, 178, 191, 0.15);
}
pre.editor-colors .wrap-guide {
background-color: rgba(171, 178, 191, 0.15);
}
pre.editor-colors .find-result .region.region.region,
pre.editor-colors .current-result .region.region.region {
border-radius: 2px;
background-color: rgba(82, 139, 255, 0.24);
transition: border-color 0.4s;
}
pre.editor-colors .find-result .region.region.region {
border: 2px solid transparent;
}
pre.editor-colors .current-result .region.region.region {
border: 2px solid #528bff;
transition-duration: .1s;
}
pre.editor-colors .gutter .line-number {
color: #636d83;
-webkit-font-smoothing: antialiased;
}
pre.editor-colors .gutter .line-number.cursor-line {
color: #abb2bf;
background-color: #2c313a;
}
pre.editor-colors .gutter .line-number.cursor-line-no-selection {
background-color: transparent;
}
pre.editor-colors .gutter .line-number .icon-right {
color: #abb2bf;
}
pre.editor-colors .gutter:not(.git-diff-icon) .line-number.git-line-removed.git-line-removed::before {
bottom: -3px;
}
pre.editor-colors .gutter:not(.git-diff-icon) .line-number.git-line-removed::after {
content: "";
position: absolute;
left: 0px;
bottom: 0px;
width: 25px;
border-bottom: 1px dotted rgba(224, 82, 82, 0.5);
pointer-events: none;
}
pre.editor-colors .gutter .line-number.folded,
pre.editor-colors .gutter .line-number:after,
pre.editor-colors .fold-marker:after {
color: #abb2bf;
}
.syntax--comment {
color: #5c6370;
font-style: italic;
}
.syntax--comment .syntax--markup.syntax--link {
color: #5c6370;
}
.syntax--entity.syntax--name.syntax--type {
color: #e5c07b;
}
.syntax--entity.syntax--other.syntax--inherited-class {
color: #98c379;
}
.syntax--keyword {
color: #c678dd;
}
.syntax--keyword.syntax--control {
color: #c678dd;
}
.syntax--keyword.syntax--operator {
color: #abb2bf;
}
.syntax--keyword.syntax--other.syntax--special-method {
color: #61afef;
}
.syntax--keyword.syntax--other.syntax--unit {
color: #d19a66;
}
.syntax--storage {
color: #c678dd;
}
.syntax--storage.syntax--type.syntax--annotation,
.syntax--storage.syntax--type.syntax--primitive {
color: #c678dd;
}
.syntax--storage.syntax--modifier.syntax--package,
.syntax--storage.syntax--modifier.syntax--import {
color: #abb2bf;
}
.syntax--constant {
color: #d19a66;
}
.syntax--constant.syntax--variable {
color: #d19a66;
}
.syntax--constant.syntax--character.syntax--escape {
color: #56b6c2;
}
.syntax--constant.syntax--numeric {
color: #d19a66;
}
.syntax--constant.syntax--other.syntax--color {
color: #56b6c2;
}
.syntax--constant.syntax--other.syntax--symbol {
color: #56b6c2;
}
.syntax--variable {
color: #e06c75;
}
.syntax--variable.syntax--interpolation {
color: #be5046;
}
.syntax--variable.syntax--parameter {
color: #abb2bf;
}
.syntax--string {
color: #98c379;
}
.syntax--string.syntax--regexp {
color: #56b6c2;
}
.syntax--string.syntax--regexp .syntax--source.syntax--ruby.syntax--embedded {
color: #e5c07b;
}
.syntax--string.syntax--other.syntax--link {
color: #e06c75;
}
.syntax--punctuation.syntax--definition.syntax--comment {
color: #5c6370;
}
.syntax--punctuation.syntax--definition.syntax--method-parameters,
.syntax--punctuation.syntax--definition.syntax--function-parameters,
.syntax--punctuation.syntax--definition.syntax--parameters,
.syntax--punctuation.syntax--definition.syntax--separator,
.syntax--punctuation.syntax--definition.syntax--seperator,
.syntax--punctuation.syntax--definition.syntax--array {
color: #abb2bf;
}
.syntax--punctuation.syntax--definition.syntax--heading,
.syntax--punctuation.syntax--definition.syntax--identity {
color: #61afef;
}
.syntax--punctuation.syntax--definition.syntax--bold {
color: #e5c07b;
font-weight: bold;
}
.syntax--punctuation.syntax--definition.syntax--italic {
color: #c678dd;
font-style: italic;
}
.syntax--punctuation.syntax--section.syntax--embedded {
color: #be5046;
}
.syntax--punctuation.syntax--section.syntax--method,
.syntax--punctuation.syntax--section.syntax--class,
.syntax--punctuation.syntax--section.syntax--inner-class {
color: #abb2bf;
}
.syntax--support.syntax--class {
color: #e5c07b;
}
.syntax--support.syntax--type {
color: #56b6c2;
}
.syntax--support.syntax--function {
color: #56b6c2;
}
.syntax--support.syntax--function.syntax--any-method {
color: #61afef;
}
.syntax--entity.syntax--name.syntax--function {
color: #61afef;
}
.syntax--entity.syntax--name.syntax--class,
.syntax--entity.syntax--name.syntax--type.syntax--class {
color: #e5c07b;
}
.syntax--entity.syntax--name.syntax--section {
color: #61afef;
}
.syntax--entity.syntax--name.syntax--tag {
color: #e06c75;
}
.syntax--entity.syntax--other.syntax--attribute-name {
color: #d19a66;
}
.syntax--entity.syntax--other.syntax--attribute-name.syntax--id {
color: #61afef;
}
.syntax--meta.syntax--class {
color: #e5c07b;
}
.syntax--meta.syntax--class.syntax--body {
color: #abb2bf;
}
.syntax--meta.syntax--method-call,
.syntax--meta.syntax--method {
color: #abb2bf;
}
.syntax--meta.syntax--definition.syntax--variable {
color: #e06c75;
}
.syntax--meta.syntax--link {
color: #d19a66;
}
.syntax--meta.syntax--require {
color: #61afef;
}
.syntax--meta.syntax--selector {
color: #c678dd;
}
.syntax--meta.syntax--separator {
background-color: #373b41;
color: #abb2bf;
}
.syntax--meta.syntax--tag {
color: #abb2bf;
}
.syntax--underline {
text-decoration: underline;
}
.syntax--none {
color: #abb2bf;
}
.syntax--invalid.syntax--deprecated {
color: #523d14 !important;
background-color: #e0c285 !important;
}
.syntax--invalid.syntax--illegal {
color: white !important;
background-color: #e05252 !important;
}
.syntax--markup.syntax--bold {
color: #d19a66;
font-weight: bold;
}
.syntax--markup.syntax--changed {
color: #c678dd;
}
.syntax--markup.syntax--deleted {
color: #e06c75;
}
.syntax--markup.syntax--italic {
color: #c678dd;
font-style: italic;
}
.syntax--markup.syntax--heading {
color: #e06c75;
}
.syntax--markup.syntax--heading .syntax--punctuation.syntax--definition.syntax--heading {
color: #61afef;
}
.syntax--markup.syntax--link {
color: #56b6c2;
}
.syntax--markup.syntax--inserted {
color: #98c379;
}
.syntax--markup.syntax--quote {
color: #d19a66;
}
.syntax--markup.syntax--raw {
color: #98c379;
}
.syntax--source.syntax--c .syntax--keyword.syntax--operator {
color: #c678dd;
}
.syntax--source.syntax--cpp .syntax--keyword.syntax--operator {
color: #c678dd;
}
.syntax--source.syntax--cs .syntax--keyword.syntax--operator {
color: #c678dd;
}
.syntax--source.syntax--css .syntax--property-name,
.syntax--source.syntax--css .syntax--property-value {
color: #828997;
}
.syntax--source.syntax--css .syntax--property-name.syntax--support,
.syntax--source.syntax--css .syntax--property-value.syntax--support {
color: #abb2bf;
}
.syntax--source.syntax--elixir .syntax--source.syntax--embedded.syntax--source {
color: #abb2bf;
}
.syntax--source.syntax--elixir .syntax--constant.syntax--language,
.syntax--source.syntax--elixir .syntax--constant.syntax--numeric,
.syntax--source.syntax--elixir .syntax--constant.syntax--definition {
color: #61afef;
}
.syntax--source.syntax--elixir .syntax--variable.syntax--definition,
.syntax--source.syntax--elixir .syntax--variable.syntax--anonymous {
color: #c678dd;
}
.syntax--source.syntax--elixir .syntax--quoted {
color: #98c379;
}
.syntax--source.syntax--elixir .syntax--keyword.syntax--special-method,
.syntax--source.syntax--elixir .syntax--embedded.syntax--section,
.syntax--source.syntax--elixir .syntax--embedded.syntax--source.syntax--empty {
color: #e06c75;
}
.syntax--source.syntax--elixir .syntax--readwrite.syntax--module .syntax--punctuation {
color: #e06c75;
}
.syntax--source.syntax--elixir .syntax--regexp.syntax--section,
.syntax--source.syntax--elixir .syntax--regexp.syntax--string {
color: #be5046;
}
.syntax--source.syntax--elixir .syntax--separator,
.syntax--source.syntax--elixir .syntax--keyword.syntax--operator {
color: #d19a66;
}
.syntax--source.syntax--elixir .syntax--variable.syntax--constant {
color: #e5c07b;
}
.syntax--source.syntax--elixir .syntax--array,
.syntax--source.syntax--elixir .syntax--scope,
.syntax--source.syntax--elixir .syntax--section {
color: #828997;
}
.syntax--source.syntax--gfm .syntax--markup {
-webkit-font-smoothing: auto;
}
.syntax--source.syntax--gfm .syntax--link .syntax--entity {
color: #61afef;
}
.syntax--source.syntax--go .syntax--storage.syntax--type.syntax--string {
color: #c678dd;
}
.syntax--source.syntax--ini .syntax--keyword.syntax--other.syntax--definition.syntax--ini {
color: #e06c75;
}
.syntax--source.syntax--java .syntax--storage.syntax--modifier.syntax--import {
color: #e5c07b;
}
.syntax--source.syntax--java .syntax--storage.syntax--type {
color: #e5c07b;
}
.syntax--source.syntax--java .syntax--keyword.syntax--operator.syntax--instanceof {
color: #c678dd;
}
.syntax--source.syntax--java-properties .syntax--meta.syntax--key-pair {
color: #e06c75;
}
.syntax--source.syntax--java-properties .syntax--meta.syntax--key-pair > .syntax--punctuation {
color: #abb2bf;
}
.syntax--source.syntax--js .syntax--keyword.syntax--operator {
color: #56b6c2;
}
.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--delete,
.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--in,
.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--of,
.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--instanceof,
.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--new,
.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--typeof,
.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--void {
color: #c678dd;
}
.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--dictionary.syntax--json > .syntax--string.syntax--quoted.syntax--json {
color: #e06c75;
}
.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--dictionary.syntax--json > .syntax--string.syntax--quoted.syntax--json > .syntax--punctuation.syntax--string {
color: #e06c75;
}
.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--dictionary.syntax--json > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json,
.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--array.syntax--json > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json,
.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--dictionary.syntax--json > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json > .syntax--punctuation,
.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--array.syntax--json > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json > .syntax--punctuation {
color: #98c379;
}
.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--dictionary.syntax--json > .syntax--constant.syntax--language.syntax--json,
.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--array.syntax--json > .syntax--constant.syntax--language.syntax--json {
color: #56b6c2;
}
.syntax--source.syntax--ruby .syntax--constant.syntax--other.syntax--symbol > .syntax--punctuation {
color: inherit;
}
.syntax--source.syntax--python .syntax--keyword.syntax--operator.syntax--logical.syntax--python {
color: #c678dd;
}
.syntax--source.syntax--python .syntax--variable.syntax--parameter {
color: #d19a66;
}
</style>
</head>
<body class='markdown-preview' data-use-github-style><p>Daniel Carver
2/13/2018</p>
<p><a href="https://github.com/dcarver1">github: dcarver1 </a></p>
<h1 id="outline">Outline</h1>
<p><strong>Goal provide some tips and tools to make arcpy a viable extension of arcmap</strong></p>
<ol>
<li>python</li>
<li>what is arcpy</li>
<li>why is it useful</li>
<li>interface for engaging with arcpy</li>
<li><p>What it is good at</p>
<ol>
<li><p>environmental variables</p>
<ul>
<li>examples</li>
</ul>
</li>
<li><p>iterating</p>
<ul>
<li>examples</li>
</ul>
</li>
<li><p>reproducibility</p>
<ul>
<li>examples</li>
</ul>
</li>
</ol>
</li>
<li><p>What it is bad at</p>
<ol>
<li><p>search cursor</p>
<ul>
<li>examples</li>
</ul>
</li>
<li><p>very specific formatting</p>
<ul>
<li>examples</li>
</ul>
</li>
<li><p>it will make easy things in arcmap hard, at first</p>
<ul>
<li>examples ( temp objects )</li>
</ul>
</li>
</ol>
</li>
<li><p>Flowcharts activity</p>
<ul>
<li>have them plan out a geoprocessing process</li>
</ul>
</li>
<li><p>Online resources</p>
</li>
</ol>
<h2 id="python">Python</h2>
<p>python is awesome. It is a full computer science language that has functionality in a wide range of fields I don't really want to spend that much time with python generals here, but I've included and awesome introduction to python that I use to learn the language.</p>
<p>You can find it here <a href="fill in link to the github page">link to python intro</a> I did not write this material, but is great.</p>
<p><strong>ArcMap uses python 2.7</strong></p>
<p><strong>ArcPro uses python 3.6</strong></p>
<h2 id="what-is-arcpy">What is arcpy</h2>
<p>Arcpy is essentially a python library that allows the user to access all the geoprocessing tools of arcpy via a python script. Arcpy does require an active license to Arcmap Arcpy is composed of modules, classes, and functions</p>
<ul>
<li>Modules are essentially the extensions of arcpy. If you want to reference a tool form that requires a spatial analyst license you will be calling that function from the spatial analysis module.</li>
</ul>
<pre class="editor-colors lang-python"><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>arcpy</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>CheckExtensions</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>Spatial</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span><span> </span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>checks out the licensed extension</span><span> </span></span></span></div></pre>
<ul>
<li>classes provide the framework that specific functions are built from. They are not as readily used as functions.</li>
</ul>
<pre class="editor-colors lang-python"><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>arcpy</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span>object1</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>Extent</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>path to layer</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> this stores extent multiple properties to</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> the object. ex(Xmin, Xmax, Ymin)</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--other syntax--python"><span>print</span></span><span> </span><span>(</span><span> </span><span>object1</span><span>.</span><span>Xmin</span><span>)</span><span> </span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> you can then select specific extent properties from the</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> objects</span><span> </span></span></span></div></pre>
<ul>
<li>Function are the comparable to the tools that you use in the arcmap interface. You will often call functions to perform a certain task.</li>
</ul>
<pre class="editor-colors lang-python"><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>arcpy</span><span> </span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>import library</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--from syntax--python"><span>from</span></span><span> </span><span>arcpy</span><span> </span><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>env</span><span> </span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>import the environment class</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span>env</span><span>.</span><span>workspace</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--raw-regex syntax--python"><span class="syntax--storage syntax--type syntax--string syntax--python"><span>r</span></span><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>C:/data</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span> </span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>calling the 'workspace' function from the env class</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>Clip_analysis</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>majorrds.shp</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span>, </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>study_quads.shp</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span>, </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--raw-regex syntax--python"><span class="syntax--storage syntax--type syntax--string syntax--python"><span>r</span></span><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>C:/output/studyarea</span><span class="syntax--constant syntax--character syntax--character-class syntax--regexp"><span>.</span></span><span>shp</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> clipping a shp and saving the output with a defined name and location.</span><span> </span></span></span></div></pre>
<p>Functions has a sets of inputs that must be followed. Here is the example for cliping</p>
<p><a href="http://pro.arcgis.com/en/pro-app/tool-reference/analysis/clip.htm">clip tool</a> Clip_analysis (in_features, clip_features, out_feature_class, {cluster_tolerance}) in_features = feature layer clip_features = feature layer out_feature_class = feature class {cluster_tolerance} = optional</p>
<p><em>You need to look at the documentation to know what each input is required to be</em></p>
<h2 id="why-is-it-useful">why is it useful</h2>
<h3 id="promotes-high-level-understanding-of-geospatial-processing">promotes high level understanding of geospatial processing</h3>
<p>using arcpy will force you to look at the geoprocessing tools in greater detail. You will inevitably end up having a better understanding of the tools.</p>
<h3 id="increases-efficiency-and-reproducibility">increases efficiency and reproducibility</h3>
<p>Writing an arcpy script is essentially like writing a well documented outline. The method and the steps are inherent within the script. Also because it is ran via a computer it simply does what it is told this allows you to repeat the same task over and over without fear of forgetting to add one of those parameters.</p>
<h3 id="if-you-know-it-in-arcmap-you-can-make-it-happen-in-arcpy">If you know it in ArcMap you can make it happen in Arcpy</h3>
<p>If your familiar with working in arcmap you already know a lot about arcpy. I will be working on drawing the comparison between the two throughout this tutorial</p>
<h2 id="engaging-with-arcpy">Engaging with Arcpy</h2>
<p>Most people will end up using arcpy via the built in text editor within arcpy called IDLE. This is not the greatest text editor or development environment but it is really the easiest to use. Arcpy is installed with Arcmap as part of a stand alone distribution of python. So you try to use a separate development environment you need to show your computer where to look for all the modules, classes, and functions of arcpy. Therefore, if you don't want to use IDLE, you need to do some work to set up your development environment before you can call 'import arcpy' and successful gain access to the material you are looking for.</p>
<ol>
<li>Use IDLE</li>
</ol>
<p>IDLE is a built in text editor that is included with any arcmap installation. It's a no thrills development environment that works for python and python alone. When arcmap is installed it also installs a version of python. Everything you need to get coding in arcpy is wrapped up nicely for you. The only trouble is that the wrapping is a bit ugly and cumbersome. If your new to programming you wont be able to tell it's ugly and cumbersome so rolling with it might be the way to go. Sooner or later your going to want out and the next easiest step is to move to using Anaconda.</p>
<ol>
<li>Use Anaconda</li>
</ol>
<p>Anaconda is a python development system that provides a Integrated Development Environment (IDE) Spyder that allows you to code and troubleshoot all within the same program. What's nice about anaconda is that it install a more robust set of packages and libraries for python, so you can use other libraries much easier. Remember that python is a whole computer language, we are just using a single rather small portion of it's functionality. I liked using spyder because it opens up the bigger picture of python. By the time you find yourself switching from saying I use python to write in arcpy to I write in python and can use arcpy, your going to want something that gives a bit more then IDLE.</p>
<p>Here are instructions for making sure you can access the arcpy libraries within the spyder IDE Instructions for installing ArcGIS and anaconda</p>
<p>You can download Anaconda at <a href="https://www.continuum.io/downloads">https://www.continuum.io/downloads</a>. Follow the appropriate instructions below for your environment:</p>
<p>ArcGIS 10.X already installed:</p>
<ol>
<li><p>Install anaconda. You can proceed with all of the default installation options.</p>
</li>
<li><p>Launch Spyder after the installation. Go to Tools -> PYTHONPATH manager</p>
<p>Add the following paths: C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy C:\Program Files (x86)\ArcGIS\Desktop10.2\bin</p>
</li>
<li><p>restart the program</p>
</li>
</ol>
<p>If your arcGIS was installed in a different location you may have a different path. In this case just make sure your connected to the correct folder or this will not work.</p>
<ol>
<li>Use Atom/CMD You can use a text editor such as arcpy but it will take a bit more set up If your interested check out this <a href="http://www.siliconcreek.net/computers/running-python-in-atom-io-in-windows">post</a> or you can add the python installation associated with the arc map installation of python to the environmental variables of your pc. This method will require administrative privileges on your pc. So if your on your own pc it should work if your working with a government computer this will most like not work <a href="https://docs.python.org/2/using/windows.html">https://docs.python.org/2/using/windows.html</a></li>
</ol>
<p>At the end of the day, it's really the product that matters. I bring up these options because it is important to look ahead. But how you get there really is a matter of your own personal preference.</p>
<h2 id="what-is-arcpy-good-at-">What is arcpy good at?</h2>
<p>The truth is that arcpy is really pretty awesome. It's the functionality of arcmap with the flexibility of a programming language. I would say the greatest benefit of learning to use arcpy is that it helps you better understand what these geoprocessing tools are really doing. I've listed a few features below that really stand out about arcpy.</p>
<h3 id="python-your-the-best">python, your the best</h3>
<p>We're going to be viewing alot more code examples below and there is a super helpful built in function in python that you really ought to know. windows operating systems uses the backslash ('\') symbol to distinguish between folders in paths, for example c:\users\documents\stuff</p>
<p>The trouble is that to most programming languages the backslash is an escape symbol. Specifics aside basically it is character that has a specific meaning that can not be overwritten. So python would read this path 'c:\users\documents\stuff' as 'c:' That's no bueno.</p>
<p>Luckily there is a quick fix. Placing the letter 'r' in front of the path will tell python to treat the string as a raw string which takes the functionality away from the backslashes. so you path should look like this path = r'c:\users\documents\stuff'</p>
<p>beautiful Ok, now back to arcpy.</p>
<h3 id="environmental-variable">environmental variable</h3>
<p>On of the trademarks of good work is that it can be done consistently. Programming inherently bring in greater consistence because computers only do what you tell them to do. In geospatial work there are a lot of variables that you want to keep consistent across the analysis, such as projection, cell size, or extent. Arcpy makes that easy.</p>
<p><--put a picture here of the environmental variable button on a geoprocessing tool !--></p>
<p>Just like under the options of a geoprocessing tool you can set specific environmental variables by calling specific functions from the env class of arcpy. A full list of functions can be found at the link below and a few of the major ones will be highlighted below.</p>
<p><a href="http://pro.arcgis.com/en/pro-app/arcpy/classes/env.htm">env class</a></p>
<p>If you want to know a little more about this process here is a good resource</p>
<p><a href="http://pro.arcgis.com/en/pro-app/arcpy/geoprocessing_and_python/using-environment-settings.htm">using environmental variables in python</a></p>
<pre class="editor-colors lang-python"><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>arcpy</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Set the workspace environment to local file geodatabase</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>arcpy</span><span>.</span><span>env</span><span>.</span><span>workspace</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--raw-regex syntax--python"><span class="syntax--storage syntax--type syntax--string syntax--python"><span>r</span></span><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>C:/data/base</span><span class="syntax--constant syntax--character syntax--character-class syntax--regexp"><span>.</span></span><span>gdb</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> I like to set this as a variable because it can help with name of features down the road</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>workspace</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span>arcpy</span><span>.</span><span>env</span><span>.</span><span>workspace</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--raw-regex syntax--python"><span class="syntax--storage syntax--type syntax--string syntax--python"><span>r</span></span><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>C:/data/base</span><span class="syntax--constant syntax--character syntax--character-class syntax--regexp"><span>.</span></span><span>gdb</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--single syntax--block syntax--sql syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>'''</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--single syntax--block syntax--sql syntax--python"><span>this is how you comment out multiple lines of code below are notes on arcpy.env.workspace</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--single syntax--block syntax--sql syntax--python"><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--single syntax--block syntax--sql syntax--python"><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--single syntax--block syntax--sql syntax--python"><span>this means that you can pull objects from that workspace by calling there names</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--single syntax--block syntax--sql syntax--python"><span>bluePrint = 'bluePrint.shp'</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--single syntax--block syntax--sql syntax--python"><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--single syntax--block syntax--sql syntax--python"><span>Also any output files will be save to that location automatically.</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--single syntax--block syntax--sql syntax--python"><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--single syntax--block syntax--sql syntax--python"><span>If you ever want to work outside of the workspace</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--single syntax--block syntax--sql syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>'''</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Set the workspace, outputCoordinateSystem</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>arcpy</span><span>.</span><span>env</span><span>.</span><span>outputCoordinateSystem</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>SpatialReference</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>WGS 1984 UTM Zone 18N</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> the out put of this function will have the coordinate system of "WGS 1984 UTM Zone 18N"</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>Buffer_analysis</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>roads.shp</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span>, </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>roads_buffer.shp</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span>, </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>10 meters</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Setting the extent of analysis</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>arcpy</span><span>.</span><span>env</span><span>.</span><span>extent</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--raw-regex syntax--python"><span class="syntax--storage syntax--type syntax--string syntax--python"><span>r</span></span><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>C:/data/studyArea</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Set Snap Raster environment</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>arcpy</span><span>.</span><span>env</span><span>.</span><span>snapRaster</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>C:/data/my_snapraster</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> this will align all outputs to match the grid of the given raster.</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>With a function such as cell size you can define the parameter in multiple ways</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Set the cell size environment using a keyword.</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>arcpy</span><span>.</span><span>env</span><span>.</span><span>cellSize</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>MINOF</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>this will set the cell size to that of the minimum cell size raster in the analysis</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Set the cell size environment using a number.</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>arcpy</span><span>.</span><span>env</span><span>.</span><span>cellSize</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>20</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Set the cell size environment using a raster dataset.</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>arcpy</span><span>.</span><span>env</span><span>.</span><span>cellSize</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>C:/sapyexamples/data/myraster</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span></div></pre>
<pre class="editor-colors lang-python"><div class="line"><span class="syntax--source syntax--python"><span class="syntax--meta syntax--function syntax--python"><span class="syntax--storage syntax--type syntax--function syntax--python"><span>def</span></span><span> </span><span class="syntax--entity syntax--name syntax--function syntax--python"><span>extents</span></span><span class="syntax--punctuation syntax--definition syntax--parameters syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function syntax--parameters syntax--python"><span class="syntax--variable syntax--parameter syntax--function syntax--python"><span>fc</span></span></span><span class="syntax--punctuation syntax--definition syntax--parameters syntax--end syntax--python"><span>)</span></span><span class="syntax--punctuation syntax--section syntax--function syntax--begin syntax--python"><span>:</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--block syntax--sql syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"""</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--block syntax--sql syntax--python"><span> This function takes in an arcpy object and returns the spatial extent features</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--block syntax--sql syntax--python"><span> </span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"""</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span>extent</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>Describe</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>fc</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span><span>.</span><span>e</span><span>xtent</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span>west</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span>extent</span><span>.</span><span>XMin</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span>south</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span>extent</span><span>.</span><span>YMin</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span>east</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span>extent</span><span>.</span><span>XMax</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span>north</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span>extent</span><span>.</span><span>YMax</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span>width</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span>extent</span><span>.</span><span>width</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span>height</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span>extent</span><span>.</span><span>height</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--keyword syntax--control syntax--statement syntax--python"><span>return</span></span><span> </span><span>west</span><span>, </span><span>south</span><span>, </span><span>east</span><span>, </span><span>north</span><span>, </span><span>width</span><span>, </span><span>height</span></span></div></pre>
<h3 id="iterating">iterating</h3>
<p>one of the biggest perks of programming is that you can make the computer do the boring stuff. Iterators are a perfect example of such a process. Lets say you have 15 rasters that you need to mask and re project to a different coordinate system.</p>
<p>You can run 30 geoprocessing tool in arc map or write a script</p>
<pre class="editor-colors lang-python"><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>pull in the library</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>arcpy</span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>set the workspace</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>workspace</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--string syntax--quoted syntax--single syntax--single-line syntax--raw-regex syntax--python"><span class="syntax--storage syntax--type syntax--string syntax--python"><span>r</span></span><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>'</span></span><span>c:</span><span class="syntax--constant syntax--character syntax--escape syntax--return syntax--python"><span>\r</span></span><span>asters</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>'</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>set the environmental varible for a mask</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>arcpy</span><span>.</span><span>env</span><span>.</span><span>mask</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--raw-regex syntax--python"><span class="syntax--storage syntax--type syntax--string syntax--python"><span>r</span></span><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>C:/data/maskpoly</span><span class="syntax--constant syntax--character syntax--character-class syntax--regexp"><span>.</span></span><span>shp</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>enable overwrite so you can re write files with the same name</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>arcpy</span><span>.</span><span>env</span><span>.</span><span>overwriteOutput</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--constant syntax--language syntax--python"><span>True</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>pull in a list of all the raster in a workspace</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>rasters</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>ListRasters</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>workspace</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> view all the raster</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--other syntax--python"><span>print</span></span><span>(</span><span>raster</span><span>)</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>write a for loop to iterate over the list</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--repeat syntax--python"><span>for</span></span><span> </span><span>raster</span><span> </span><span class="syntax--keyword syntax--operator syntax--logical syntax--python"><span>in</span></span><span> </span><span>rasters</span><span>:</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>ProjectRaster_management</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>raster</span><span>, </span><span>raster</span><span class="syntax--keyword syntax--operator syntax--arithmetic syntax--python"><span>+</span></span><span class="syntax--string syntax--quoted syntax--single syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>'</span></span><span>_pro</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>'</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--keyword syntax--other syntax--python"><span>print</span></span><span>(</span><span class="syntax--string syntax--quoted syntax--single syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>'</span></span><span>The raster</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>'</span></span></span><span class="syntax--keyword syntax--operator syntax--arithmetic syntax--python"><span>+</span></span><span>raster</span><span> </span><span class="syntax--keyword syntax--operator syntax--arithmetic syntax--python"><span>+</span></span><span class="syntax--string syntax--quoted syntax--single syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>'</span></span><span> has been projected and masked.</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>'</span></span></span><span>)</span></span></div></pre>
<p>This save a lot of time!</p>
<p>Let's break down the for loop a bit.</p>
<pre class="editor-colors lang-python"><div class="line"><span class="syntax--source syntax--python"><span class="syntax--support syntax--function syntax--builtin syntax--python"><span>list</span></span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--meta syntax--structure syntax--list syntax--python"><span class="syntax--punctuation syntax--definition syntax--list syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--structure syntax--list syntax--item syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>1</span></span></span><span class="syntax--punctuation syntax--separator syntax--list syntax--python"><span>,</span></span><span class="syntax--meta syntax--structure syntax--list syntax--item syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>2</span></span></span><span class="syntax--punctuation syntax--separator syntax--list syntax--python"><span>,</span></span><span class="syntax--meta syntax--structure syntax--list syntax--item syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>3</span></span></span><span class="syntax--punctuation syntax--separator syntax--list syntax--python"><span>,</span></span><span class="syntax--meta syntax--structure syntax--list syntax--item syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>4</span></span></span><span class="syntax--punctuation syntax--definition syntax--list syntax--end syntax--python"><span>]</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--repeat syntax--python"><span>for</span></span><span> </span><span>element</span><span> </span><span class="syntax--keyword syntax--operator syntax--logical syntax--python"><span>in</span></span><span> </span><span class="syntax--support syntax--function syntax--builtin syntax--python"><span>list</span></span><span>:</span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--punctuation syntax--whitespace syntax--comment syntax--leading syntax--python"><span> </span></span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> for each element in the list do something...</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--keyword syntax--other syntax--python"><span>print</span></span><span>(</span><span>element</span><span>)</span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>1</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>2</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>3</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>4</span></span></span></div></pre>
<p>There are lots of options for loops and they can get complex. But it is really only when you start to implement loops that you find yourself appreciating the power of programming</p>
<h3 id="reproducibility">Reproducibility</h3>
<p>It's just a simple matter of fact that at some point down the road someone is going to ask you "Hey, remember that project from way back when. How did you get those results?" The nerves will surge in your stomach as you realize you don't really remember. Luckily you wrote more of that process into code. If you wrote it out well most of the information about the process should be</p>
<p>Take a look at these two examples and see if you can follow the process</p>
<pre class="editor-colors lang-python"><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span># Import correct modules</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>arcpy</span><span>, </span><span>os</span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--from syntax--python"><span>from</span></span><span> </span><span>arcpy</span><span> </span><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>env</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span># set working directory variable</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>folder_path</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--string syntax--quoted syntax--single syntax--single-line syntax--raw-regex syntax--python"><span class="syntax--storage syntax--type syntax--string syntax--python"><span>r</span></span><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>'</span></span><span>C:</span><span class="syntax--constant syntax--character syntax--escape syntax--backslash syntax--regexp"><span>\U</span></span><span>sers</span><span class="syntax--constant syntax--character syntax--character-class syntax--regexp"><span>\s</span></span><span>pater</span><span class="syntax--constant syntax--character syntax--character-class syntax--regexp"><span>\D</span></span><span>esktop</span><span class="syntax--constant syntax--character syntax--escape syntax--backslash syntax--regexp"><span>\I</span></span><span>nSitu_Sites</span><span class="syntax--constant syntax--character syntax--escape syntax--backslash syntax--regexp"><span>\R</span></span><span>ound2</span><span class="syntax--constant syntax--character syntax--escape syntax--backslash syntax--regexp"><span>\P</span></span><span>rojected</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>'</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span># set working directory</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>arcpy</span><span>.</span><span>env</span><span>.</span><span>workspace</span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span>folder_path</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span># set outpath directory -- where buffered files will be saved</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>outpath</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--string syntax--quoted syntax--single syntax--single-line syntax--raw-regex syntax--python"><span class="syntax--storage syntax--type syntax--string syntax--python"><span>r</span></span><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>'</span></span><span>C:</span><span class="syntax--constant syntax--character syntax--escape syntax--backslash syntax--regexp"><span>\U</span></span><span>sers</span><span class="syntax--constant syntax--character syntax--character-class syntax--regexp"><span>\s</span></span><span>pater</span><span class="syntax--constant syntax--character syntax--character-class syntax--regexp"><span>\D</span></span><span>esktop</span><span class="syntax--constant syntax--character syntax--escape syntax--backslash syntax--regexp"><span>\I</span></span><span>nSitu_Sites</span><span class="syntax--constant syntax--character syntax--escape syntax--backslash syntax--regexp"><span>\R</span></span><span>ound2</span><span class="syntax--keyword syntax--control syntax--anchor syntax--regexp"><span>\B</span></span><span>uffered_200</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>'</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span># creates a list of shapefiles within the workspace</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>fcList</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>ListFeatureClasses</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span># for every shapefile in the list create a 200 meter buffer around it and export</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span># it as a new shapefile to the outpath location</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--repeat syntax--python"><span>for</span></span><span> </span><span>fc</span><span> </span><span class="syntax--keyword syntax--operator syntax--logical syntax--python"><span>in</span></span><span> </span><span>fcList</span><span>:</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span>outname</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>os</span><span>.</span><span>path</span><span>.</span><span>join</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>outpath</span><span>, </span><span>fc</span><span> </span><span class="syntax--keyword syntax--operator syntax--arithmetic syntax--python"><span>+</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>_buffer.shp</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>Buffer_analysis</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>fc</span><span>, </span><span>outname</span><span>, </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>200 Meters</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div></pre>
<pre class="editor-colors lang-python"><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>arcpy</span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--from syntax--python"><span>from</span></span><span> </span><span>arcpy</span><span> </span><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>env</span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--from syntax--python"><span>from</span></span><span> </span><span>arcpy</span><span>.</span><span>sa</span><span> </span><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span class="syntax--keyword syntax--operator syntax--arithmetic syntax--python"><span>*</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span>env</span><span>.</span><span>workspace</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--raw-regex syntax--python"><span class="syntax--storage syntax--type syntax--string syntax--python"><span>r</span></span><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>C:</span><span class="syntax--keyword syntax--control syntax--anchor syntax--regexp"><span>\G</span></span><span>IS Data</span><span class="syntax--constant syntax--character syntax--escape syntax--backslash syntax--regexp"><span>\C</span></span><span>ameron_Run</span><span class="syntax--constant syntax--character syntax--escape syntax--backslash syntax--regexp"><span>\T</span></span><span>opo_NED</span><span class="syntax--constant syntax--character syntax--escape syntax--backslash syntax--regexp"><span>\P</span></span><span>rojected</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Set local variables</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>surfaceRaster</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>raw_10m_dem</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Check out the ArcGIS Spatial Analyst extension license</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>CheckOutExtension</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>Spatial</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Execute FlowDirection</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>fillRaster</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>Fill</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>surfaceRaster</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>RasterToGeodatabase_conversion</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>fillRaster</span><span>, </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--raw-regex syntax--python"><span class="syntax--storage syntax--type syntax--string syntax--python"><span>r</span></span><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>C:</span><span class="syntax--keyword syntax--control syntax--anchor syntax--regexp"><span>\G</span></span><span>ISData</span><span class="syntax--constant syntax--character syntax--escape syntax--backslash syntax--regexp"><span>\C</span></span><span>ameron_Run</span><span class="syntax--constant syntax--character syntax--escape syntax--backslash syntax--regexp"><span>\T</span></span><span>opo_NED</span><span class="syntax--constant syntax--character syntax--escape syntax--backslash syntax--regexp"><span>\P</span></span><span>rojected</span><span class="syntax--constant syntax--character syntax--escape syntax--formfeed syntax--python"><span>\f</span></span><span>illRasterGDB</span><span class="syntax--constant syntax--character syntax--character-class syntax--regexp"><span>.</span></span><span>gdb</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div></pre>
<p>What you scripts will really become are a clean and practical set of instructions on how the work was done. They are a written description of your process. If you want to redo your work or change parameters based on new information it all there for you. Because you have this reproducibility you can more easily start conduction more robust analysis such as sensitivity analysis.</p>
<h2 id="what-is-arcpy-max-bad-at-">What is arcpy max(bad) at...</h2>
<p>Generally specking the learning curve is often the most frustrating part. That said there are a few that will often leave you scratching you head. Consider this section a bit of a heads up.</p>
<h3 id="cursors">Cursors</h3>
<p>Because arcpy is written with python for loops are really very easy. However, if you want to loop through all attributes within a feature class things are just not quite as start forward. Arcpy requires you to use a cursor. These cursors allow you to , update, or insert information to the rows of a feature class. Theses are called</p>
<ul>
<li>search cursor</li>
<li>update cursor</li>
<li>insert cursor</li>
</ul>
<p><a href="http://pro.arcgis.com/en/pro-app/arcpy/get-started/data-access-using-cursors.htm">cursors</a></p>
<p>You use these cursors to create a cursor object. The cursor object then has specific funtions. It's getting kinda funky huh? lets look at some examples.</p>
<p><strong>Search Cursor</strong> The search cursor is a read only function. This mean you can use it to extract information from a feature class but you can not change any information within that feature class. This is perfect for extracting specific values. You can incorporate where clauses into these search cusors but were going to pass on that for now</p>
<p><a href="http://pro.arcgis.com/en/pro-app/arcpy/data-access/searchcursor-class.htm">search cursors</a></p>
<p>In this example we want a printed list of information pertaining to a well system.</p>
<pre class="editor-colors lang-python"><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>arcpy</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> define your dataset</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>fc</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--string syntax--quoted syntax--single syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>'</span></span><span>c:/data/base.gdb/well</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>'</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> define what field you want to search through</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>fields</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--meta syntax--structure syntax--list syntax--python"><span class="syntax--punctuation syntax--definition syntax--list syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--structure syntax--list syntax--item syntax--python"><span class="syntax--string syntax--quoted syntax--single syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>'</span></span><span>WELL_ID</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>'</span></span></span></span><span class="syntax--punctuation syntax--separator syntax--list syntax--python"><span>,</span></span><span> </span><span class="syntax--meta syntax--structure syntax--list syntax--item syntax--python"><span class="syntax--string syntax--quoted syntax--single syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>'</span></span><span>WELL_TYPE</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>'</span></span></span></span><span class="syntax--punctuation syntax--separator syntax--list syntax--python"><span>,</span></span><span> </span><span class="syntax--meta syntax--structure syntax--list syntax--item syntax--python"><span class="syntax--string syntax--quoted syntax--single syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>'</span></span><span>SHAPE@XY</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>'</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--list syntax--end syntax--python"><span>]</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> For each row print the WELL_ID and WELL_TYPE fields, and</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> the feature's x,y coordinates</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--statement syntax--python"><span>with</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>da</span><span>.</span><span>SearchCursor</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>fc</span><span>, </span><span>fields</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span><span> </span><span class="syntax--keyword syntax--other syntax--python"><span>as</span></span><span> </span><span>cursor</span><span>:</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--keyword syntax--control syntax--repeat syntax--python"><span>for</span></span><span> </span><span>row</span><span> </span><span class="syntax--keyword syntax--operator syntax--logical syntax--python"><span>in</span></span><span> </span><span>cursor</span><span>:</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--keyword syntax--other syntax--python"><span>print</span></span><span>(</span><span class="syntax--string syntax--quoted syntax--single syntax--single-line syntax--unicode syntax--python"><span class="syntax--storage syntax--type syntax--string syntax--python"><span>u</span></span><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>'</span></span><span class="syntax--constant syntax--other syntax--placeholder syntax--python"><span>{0}</span></span><span>, </span><span class="syntax--constant syntax--other syntax--placeholder syntax--python"><span>{1}</span></span><span>, </span><span class="syntax--constant syntax--other syntax--placeholder syntax--python"><span>{2}</span></span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>'</span></span></span><span>.</span><span class="syntax--meta syntax--function-call syntax--python"><span>f</span><span>ormat</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span class="syntax--meta syntax--item-access syntax--python"><span>row</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--item-access syntax--arguments syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>0</span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>]</span></span></span><span>, </span><span class="syntax--meta syntax--item-access syntax--python"><span>row</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--item-access syntax--arguments syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>1</span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>]</span></span></span><span>, </span><span class="syntax--meta syntax--item-access syntax--python"><span>row</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--item-access syntax--arguments syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>2</span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>]</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span><span>)</span></span></div></pre>
<p>This will print something line well203494, super3, 100.3949,23.4858 for all rows in the feature class.</p>
<p>Now were seeing a new function here. 'with' Cursors are objects that stay for open until you tell them to close. What this means is that the feature will be held in memorny and un able to be edited by other function while you cursor is open. The exact logo behind this process is beyond me, but if you don't follow it, it will come back and bite you.</p>
<p>What the with function does is closes the cursor after it has complete it's series of tasks within the object. The example below shows the same thing.</p>
<pre class="editor-colors lang-python"><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span>cursor</span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>SearchCursor</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>IN_Table</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--repeat syntax--python"><span>for</span></span><span> </span><span>row</span><span> </span><span class="syntax--keyword syntax--operator syntax--logical syntax--python"><span>in</span></span><span> </span><span>cursor</span><span>:</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span>printf</span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span class="syntax--meta syntax--function-call syntax--python"><span>row</span><span>.</span><span>getValue</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span class="syntax--meta syntax--item-access syntax--python"><span>row</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--item-access syntax--arguments syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>0</span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>]</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--keyword syntax--other syntax--python"><span>print</span></span><span>(</span><span>printf</span><span>)</span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--other syntax--python"><span>del</span></span><span> </span><span>row</span><span>, </span><span>cursor</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>or with with</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--statement syntax--python"><span>with</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>SearchCursor</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>IN_Table</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span><span> </span><span class="syntax--keyword syntax--other syntax--python"><span>as</span></span><span> </span><span>cursor</span><span>:</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span>printf</span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span class="syntax--meta syntax--function-call syntax--python"><span>row</span><span>.</span><span>getValue</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span class="syntax--meta syntax--item-access syntax--python"><span>row</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--item-access syntax--arguments syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>0</span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>]</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--keyword syntax--other syntax--python"><span>print</span></span><span>(</span><span>printf</span><span>)</span></span></div></pre>
<p>The with example is what we would call more pythonic.</p>
<p><strong>Update cursor</strong> This allows you to rewrite existing layers.</p>
<pre class="editor-colors lang-python"><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>arcpy</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>define</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>fc</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--string syntax--quoted syntax--single syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>'</span></span><span>c:/data/base.gdb/well</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>'</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>fields</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--meta syntax--structure syntax--list syntax--python"><span class="syntax--punctuation syntax--definition syntax--list syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--structure syntax--list syntax--item syntax--python"><span class="syntax--string syntax--quoted syntax--single syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>'</span></span><span>WELL_YIELD</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>'</span></span></span></span><span class="syntax--punctuation syntax--separator syntax--list syntax--python"><span>,</span></span><span> </span><span class="syntax--meta syntax--structure syntax--list syntax--item syntax--python"><span class="syntax--string syntax--quoted syntax--single syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>'</span></span><span>WELL_CLASS</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>'</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--list syntax--end syntax--python"><span>]</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Create update cursor for feature class</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--statement syntax--python"><span>with</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>da</span><span>.</span><span>UpdateCursor</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>fc</span><span>, </span><span>fields</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span><span> </span><span class="syntax--keyword syntax--other syntax--python"><span>as</span></span><span> </span><span>cursor</span><span>:</span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--punctuation syntax--whitespace syntax--comment syntax--leading syntax--python"><span> </span></span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> For each row, evaluate the WELL_YIELD value (index position</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--punctuation syntax--whitespace syntax--comment syntax--leading syntax--python"><span> </span></span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> of 0), and update WELL_CLASS (index position of 1)</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--keyword syntax--control syntax--repeat syntax--python"><span>for</span></span><span> </span><span>row</span><span> </span><span class="syntax--keyword syntax--operator syntax--logical syntax--python"><span>in</span></span><span> </span><span>cursor</span><span>:</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--keyword syntax--control syntax--conditional syntax--python"><span>if</span></span><span> </span><span>(</span><span class="syntax--meta syntax--item-access syntax--python"><span>row</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--item-access syntax--arguments syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>0</span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>]</span></span></span><span> </span><span class="syntax--keyword syntax--operator syntax--comparison syntax--python"><span>>=</span></span><span> </span><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>0</span></span><span> </span><span class="syntax--keyword syntax--operator syntax--logical syntax--python"><span>and</span></span><span> </span><span class="syntax--meta syntax--item-access syntax--python"><span>row</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--item-access syntax--arguments syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>0</span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>]</span></span></span><span> </span><span class="syntax--keyword syntax--operator syntax--comparison syntax--python"><span><=</span></span><span> </span><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>10</span></span><span>)</span><span>:</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--meta syntax--item-access syntax--python"><span>row</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--item-access syntax--arguments syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>1</span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>]</span></span></span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>1</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--keyword syntax--control syntax--conditional syntax--python"><span>elif</span></span><span> </span><span>(</span><span class="syntax--meta syntax--item-access syntax--python"><span>row</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--item-access syntax--arguments syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>0</span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>]</span></span></span><span> </span><span class="syntax--keyword syntax--operator syntax--comparison syntax--python"><span>></span></span><span> </span><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>10</span></span><span> </span><span class="syntax--keyword syntax--operator syntax--logical syntax--python"><span>and</span></span><span> </span><span class="syntax--meta syntax--item-access syntax--python"><span>row</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--item-access syntax--arguments syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>0</span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>]</span></span></span><span> </span><span class="syntax--keyword syntax--operator syntax--comparison syntax--python"><span><=</span></span><span> </span><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>20</span></span><span>)</span><span>:</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--meta syntax--item-access syntax--python"><span>row</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--item-access syntax--arguments syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>1</span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>]</span></span></span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>2</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--keyword syntax--control syntax--conditional syntax--python"><span>elif</span></span><span> </span><span>(</span><span class="syntax--meta syntax--item-access syntax--python"><span>row</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--item-access syntax--arguments syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>0</span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>]</span></span></span><span> </span><span class="syntax--keyword syntax--operator syntax--comparison syntax--python"><span>></span></span><span> </span><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>20</span></span><span> </span><span class="syntax--keyword syntax--operator syntax--logical syntax--python"><span>and</span></span><span> </span><span class="syntax--meta syntax--item-access syntax--python"><span>row</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--item-access syntax--arguments syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>0</span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>]</span></span></span><span> </span><span class="syntax--keyword syntax--operator syntax--comparison syntax--python"><span><=</span></span><span> </span><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>30</span></span><span>)</span><span>:</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--meta syntax--item-access syntax--python"><span>row</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--item-access syntax--arguments syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>1</span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>]</span></span></span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>3</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--keyword syntax--control syntax--conditional syntax--python"><span>elif</span></span><span> </span><span>(</span><span class="syntax--meta syntax--item-access syntax--python"><span>row</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--item-access syntax--arguments syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>0</span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>]</span></span></span><span> </span><span class="syntax--keyword syntax--operator syntax--comparison syntax--python"><span>></span></span><span> </span><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>30</span></span><span>)</span><span>:</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--meta syntax--item-access syntax--python"><span>row</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--item-access syntax--arguments syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>1</span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>]</span></span></span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>4</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--punctuation syntax--whitespace syntax--comment syntax--leading syntax--python"><span> </span></span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Update the cursor with the updated list</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>cursor</span><span>.</span><span>updateRow</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>row</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div></pre>
<h3 id="conditional-formatting">Conditional Formatting</h3>
<p>In arcmap you use conditional statements all the time. Conditional statements are things such as "select all citys that fall with 50 miles of the this location" Select by attributes is probably the main function that uses conditional statements. These can be tricky to get correct even with the graphical user interface (interface) that is provided. What you don't see is that what you enter is only part of statement. In arcpy you are now responsible for entering all components of the conditional statements and it is challenging to get correct.</p>
<pre class="editor-colors lang-python"><div class="line"><span class="syntax--source syntax--python"><span class="syntax--meta syntax--function syntax--python"><span class="syntax--storage syntax--type syntax--function syntax--python"><span>def</span></span><span> </span><span class="syntax--entity syntax--name syntax--function syntax--python"><span>shpExtent</span></span><span class="syntax--punctuation syntax--definition syntax--parameters syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function syntax--parameters syntax--python"><span class="syntax--variable syntax--parameter syntax--function syntax--python"><span>shape</span></span></span><span class="syntax--punctuation syntax--definition syntax--parameters syntax--end syntax--python"><span>)</span></span><span class="syntax--punctuation syntax--section syntax--function syntax--begin syntax--python"><span>:</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--block syntax--sql syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"""</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--block syntax--sql syntax--python"><span> inputs a shapefile and returns the target points for the warp function</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--block syntax--sql syntax--python"><span> shape: needs to be a path to a specific shapefile</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--block syntax--sql syntax--python"><span> </span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"""</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--punctuation syntax--whitespace syntax--comment syntax--leading syntax--python"><span> </span></span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>create bounding box around shapefile</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span>shapeBox</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>MinimumBoundingGeometry_management</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>shape</span><span>,</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--meta syntax--function-call syntax--python"><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>bounding_box</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span>,</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--meta syntax--function-call syntax--python"><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>RECTANGLE_BY_AREA</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--punctuation syntax--whitespace syntax--comment syntax--leading syntax--python"><span> </span></span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>call extent function on shapefile</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span>w1</span><span>, </span><span>s1</span><span>, </span><span>e1</span><span>, </span><span>n1</span><span>, </span><span>wid1</span><span>, </span><span>hgt1</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>extents</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>shapeBox</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--punctuation syntax--whitespace syntax--comment syntax--leading syntax--python"><span> </span></span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>start the formatting for the warp function</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span>topLeft1</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span class="syntax--support syntax--function syntax--builtin syntax--python"><span>str</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>w1</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span><span> </span><span class="syntax--keyword syntax--operator syntax--arithmetic syntax--python"><span>+</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span> </span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span> </span><span class="syntax--keyword syntax--operator syntax--arithmetic syntax--python"><span>+</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span class="syntax--support syntax--function syntax--builtin syntax--python"><span>str</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>n1</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span>topRight1</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span class="syntax--support syntax--function syntax--builtin syntax--python"><span>str</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>e1</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span><span> </span><span class="syntax--keyword syntax--operator syntax--arithmetic syntax--python"><span>+</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span> </span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span> </span><span class="syntax--keyword syntax--operator syntax--arithmetic syntax--python"><span>+</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span class="syntax--support syntax--function syntax--builtin syntax--python"><span>str</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>n1</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span>bottomLeft1</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span class="syntax--support syntax--function syntax--builtin syntax--python"><span>str</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>w1</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span><span> </span><span class="syntax--keyword syntax--operator syntax--arithmetic syntax--python"><span>+</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span> </span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span> </span><span class="syntax--keyword syntax--operator syntax--arithmetic syntax--python"><span>+</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span class="syntax--support syntax--function syntax--builtin syntax--python"><span>str</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>s1</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span>bottomRight1</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span class="syntax--support syntax--function syntax--builtin syntax--python"><span>str</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>e1</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span><span> </span><span class="syntax--keyword syntax--operator syntax--arithmetic syntax--python"><span>+</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span> </span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span> </span><span class="syntax--keyword syntax--operator syntax--arithmetic syntax--python"><span>+</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span class="syntax--support syntax--function syntax--builtin syntax--python"><span>str</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>s1</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--punctuation syntax--whitespace syntax--comment syntax--leading syntax--python"><span> </span></span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>aside</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span>targetPoints</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span> '</span><span class="syntax--constant syntax--other syntax--placeholder syntax--python"><span>{}</span></span><span>';'</span><span class="syntax--constant syntax--other syntax--placeholder syntax--python"><span>{}</span></span><span>';'</span><span class="syntax--constant syntax--other syntax--placeholder syntax--python"><span>{}</span></span><span>';'</span><span class="syntax--constant syntax--other syntax--placeholder syntax--python"><span>{}</span></span><span>'</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span>.</span><span class="syntax--meta syntax--function-call syntax--python"><span>f</span><span>ormat</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>topLeft1</span><span>,</span><span>topRight1</span><span>,</span><span>bottomLeft1</span><span>,</span><span>bottomRight1</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--keyword syntax--control syntax--statement syntax--python"><span>return</span></span><span> </span><span>targetPoints</span></span></div></pre>
<p><strong>tips</strong> When you need to write a conditional statement open arc map and write it out using the select by attribute tool or the raster math tool. This will allow you to select the correct text format. From there check out this site <em>link to the conditional format arcpy site</em> Depending on what you are trying to do you will have too follow a specific format. Look this up to save your self the trouble of trying to guess it.</p>
<h3 id="the-learning-curve">The learning Curve</h3>
<p>I mentioned above that the most difficult aspect of arcpy is the learn curve. You go from being able to buffer a .shp in 4 minutes to feeling like your dumber then a box of rocks over the course of two hours. I wish I had a clever work around for this but I really don't. Here is an example of a easy process in arcmap that gets a lot harder in arcpy.</p>
<pre class="editor-colors lang-python"><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Name: ExtractFeaturesByLocationAndAttribute.py</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Description: Extracts features to a new feature class based on a location and an attribute query.</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Import system modules</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>arcpy</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Set overwrite option</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>arcpy</span><span>.</span><span>env</span><span>.</span><span>overwriteOutput</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--constant syntax--language syntax--python"><span>True</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Put in error trapping in case an error occurs when running tool</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--exception syntax--python"><span>try</span></span><span>:</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--punctuation syntax--whitespace syntax--comment syntax--leading syntax--python"><span> </span></span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Make a layer from the feature class</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>MakeFeatureLayer_management</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>C:/data/mexico.gdb/cities</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span>,</span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>cities_lyr</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--punctuation syntax--whitespace syntax--comment syntax--leading syntax--python"><span> </span></span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Select all cities that overlap the chihuahua polygon</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>SelectLayerByLocation_management</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>cities_lyr</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span>, </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>INTERSECT</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span>, </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>c:/data/mexico.gdb/chihuahua</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span>, </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span class="syntax--meta syntax--empty-string syntax--double syntax--python"><span>"</span></span></span></span><span>, </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>NEW_SELECTION</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--punctuation syntax--whitespace syntax--comment syntax--leading syntax--python"><span> </span></span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Within the selection (done above) further select only those cities that have a population >10,000</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>SelectLayerByAttribute_management</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>cities_lyr</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span>, </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>SUBSET_SELECTION</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span>, </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>POPULATION > 10000</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--punctuation syntax--whitespace syntax--comment syntax--leading syntax--python"><span> </span></span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Write the selected features to a new featureclass</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>CopyFeatures_management</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>cities_lyr</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span>, </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>c:/data/mexico.gdb/chihuahua_10000plus</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--exception syntax--python"><span>except</span></span><span>:</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--keyword syntax--other syntax--python"><span>print</span></span><span>(</span><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>GetMessages</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span><span>)</span></span></div></pre>
<p>The saving grace of this is that as you get better the time it takes to get the ball rolling decreases and you will eventually find yourself opening arcmap less and less.</p>
<ol>
<li>Flowcharts activity</li>
</ol>
<p><img alt="flowchart example" src="G:\personal\NASA_develop\introToArcpy\esriFlowchart.png"></p>
<p>Don't start programming in python. Sounds silly right, but like anything else the more you plan the smoother the process tends to go. I would suggest writing out a flowchart of your process, just with concepts, and explain that process to someone else. If it makes sense to them, go back and fill in that flow chart with more details. Find the specific functions you want to use, look at the requirements of that function, and try to understand if the process is really going to work. If your confident with it then start coding.</p>
<p>If you want to use a for loop try to get the code to work first and then implement the for loop.</p>
<p>If you have a issue, try to write out your problem, in words, and start explaining it to others. This will help you define what the issue actually is. If everyone you spoke to said, yeah that looks right, you probably used a zero in stead of an o or some other silly thing like that.</p>
<p><strong>Print Statements</strong></p>
<p>Use print statements always and often when writing the code. here is an example</p>
<pre class="editor-colors lang-python"><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>arcpy</span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>os</span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>numpy</span><span> </span><span class="syntax--keyword syntax--operator syntax--logical syntax--python"><span>and</span></span><span> </span><span>np</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--other syntax--python"><span>print</span></span><span>(</span><span class="syntax--string syntax--quoted syntax--single syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>'</span></span><span>all modules have loaded</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>'</span></span></span><span>)</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span>raster</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--raw-regex syntax--python"><span class="syntax--storage syntax--type syntax--string syntax--python"><span>r</span></span><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>C:</span><span class="syntax--constant syntax--character syntax--escape syntax--backslash syntax--regexp"><span>\p</span></span><span>ahtToRaster</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--other syntax--python"><span>print</span></span><span>(</span><span class="syntax--string syntax--quoted syntax--single syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>'</span></span><span>raster loaded</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>'</span></span></span><span>)</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span>rasterDouble</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span>raster</span><span> </span><span class="syntax--keyword syntax--operator syntax--arithmetic syntax--python"><span>*</span></span><span> </span><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>2</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--other syntax--python"><span>print</span></span><span>(</span><span class="syntax--string syntax--quoted syntax--single syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>'</span></span><span>raster values have been multipled</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>'</span></span></span><span>)</span></span></div></pre>
<p>it looks crazy I know but if a print statement completes you know what has occurred in your code. IF you don't do this you will inevitable set a code to run overnight and return to an undefined 999999 error and will have no idea what when wrong. Troubleshooting scripts that take a long time to run is very very time consuming. So print('a lot') and you can remove them later.</p>
<ol>
<li>Last words of wisdom</li>
</ol>
<p><strong>Error Messages are your friends</strong></p>
<p>IF you code throws a error message, and it will, often. Read the whole message and try to make sense of it before you start bashing your computer. Most error messages will have a helpful numerical code associated with them the you can use to search for more details. The really frustrating one is error 999999 or which is essentially an uncaught error. This means that the you made an error that the programmers did not test for, therefore the function can not tell you what actually went wrong. I often find that these tend to be formatting issues. You used a comma instead of a semicolon or you misspelled the feature class you told the function to look for. Silly mistakes that cause real life pain and sorrow. So when an error pops, be happy because it is a clue.</p>
<p><strong>Ask for help quickly</strong></p>
<p>Programming is a community. An online community that is frank and at the end of the day helpful. Get comfortable searching through stackexchange and ESRI forums. You can sometimes find the exact answer to your question and more often then not you can find something that can get you closer. Success in this process has a lot to do with how you ask your question in the first place, that's why we write them out.</p>
<p><strong>baby steps</strong></p>
<p>In the beginning you will benefit from running code line by line to ensure that certain aspects of the code works. This is a not a great long term practice but it can help make you feel like you are getting someone.</p>
<p><strong>code for fun</strong></p>
<p>IF you really want to keep this up long term try to apply your programming skills to something that just interest you. And try try try, you will make 40 mistakes before you get it right. The value of those mistakes really comes down to the attitude you bring to the table.</p>
<p><strong>Understand that a functioning code and a pile of text is wholly dependent on you</strong></p>
<p>computers are good at following orders. Scripts are how we can communicate with computers. We write scripts, not the computer. Understand that you are learning and it is not the computers fault. Scapegoats are great but they are not productive in the long term.</p>
<blockquote>
<p><strong>If you want it, you can have, you just have to learn to reach out there are grab it.</strong></p>
</blockquote>
<pre class="editor-colors lang-python"><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> -*- coding: utf-8 -*-</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--block syntax--sql syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"""</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--block syntax--sql syntax--python"><span>Code for setting up the extract multiple values to points in arcpy</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--block syntax--sql syntax--python"><span>The text input is kinda pain in the but so this script uses</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--block syntax--sql syntax--python"><span>glob and some for loops to streamline the process.</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--block syntax--sql syntax--python"><span>Dan Carver 9/28/17</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--block syntax--sql syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"""</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>arcpy</span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>glob</span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>os</span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>time</span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--from syntax--python"><span>from</span></span><span> </span><span>arcpy</span><span> </span><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span>env</span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--import syntax--from syntax--python"><span>from</span></span><span> </span><span>arcpy</span><span>.</span><span>sa</span><span> </span><span class="syntax--keyword syntax--control syntax--import syntax--python"><span>import</span></span><span> </span><span class="syntax--keyword syntax--operator syntax--arithmetic syntax--python"><span>*</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>arcpy</span><span>.</span><span>env</span><span>.</span><span>overwriteOutput</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--constant syntax--language syntax--python"><span>True</span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--meta syntax--function-call syntax--python"><span>arcpy</span><span>.</span><span>CheckOutExtension</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>Spatial</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--other syntax--python"><span>print</span></span><span>(</span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>spatial analysis has been checked out</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span>)</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span>start</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>time</span><span>.</span><span>time</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Set to the folder location that contains all the raster information</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>workspace</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span>arcpy</span><span>.</span><span>env</span><span>.</span><span>workspace</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--raw-regex syntax--python"><span class="syntax--storage syntax--type syntax--string syntax--python"><span>r</span></span><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>G:</span><span class="syntax--constant syntax--character syntax--character-class syntax--regexp"><span>\D</span></span><span>EVELOP_Fall2017_CRBII</span><span class="syntax--constant syntax--character syntax--character-class syntax--regexp"><span>\D</span></span><span>EVELOP-CRB</span><span class="syntax--constant syntax--character syntax--escape syntax--backslash syntax--regexp"><span>\I</span></span><span>ndicies</span><span class="syntax--constant syntax--character syntax--escape syntax--backslash syntax--regexp"><span>\L</span></span><span>S5</span><span class="syntax--constant syntax--character syntax--escape syntax--backslash syntax--regexp"><span>\p</span></span><span>035r034</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>select all the files that end in .tif within the defined workspace</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>rasterList</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span>(</span><span class="syntax--meta syntax--function-call syntax--python"><span>glob</span><span>.</span><span>glob</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>workspace</span><span> </span><span class="syntax--keyword syntax--operator syntax--arithmetic syntax--python"><span>+</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span class="syntax--constant syntax--character syntax--escape syntax--backlash syntax--python"><span>\\</span></span><span>*.tif</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span><span>)</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> define the point feature for extract value process</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>inPointFeatures</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--raw-regex syntax--python"><span class="syntax--storage syntax--type syntax--string syntax--python"><span>r</span></span><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>C:</span><span class="syntax--constant syntax--character syntax--escape syntax--backslash syntax--regexp"><span>\U</span></span><span>sers</span><span class="syntax--constant syntax--character syntax--escape syntax--return syntax--python"><span>\r</span></span><span>esearch</span><span class="syntax--constant syntax--character syntax--character-class syntax--regexp"><span>\D</span></span><span>ocuments</span><span class="syntax--keyword syntax--control syntax--anchor syntax--regexp"><span>\A</span></span><span>rcGIS</span><span class="syntax--constant syntax--character syntax--character-class syntax--regexp"><span>\D</span></span><span>efault</span><span class="syntax--constant syntax--character syntax--character-class syntax--regexp"><span>.</span></span><span>gdb</span><span class="syntax--constant syntax--character syntax--escape syntax--backslash syntax--regexp"><span>\R</span></span><span>O_present_06_field_inVbet</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--other syntax--python"><span>print</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>this is the feature bring worked with </span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span>, </span><span>inPointFeatures</span><span>, </span><span class="syntax--string syntax--quoted syntax--single syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>'</span></span><span>.</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>'</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>create an empty list</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>inRasterList</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span class="syntax--meta syntax--structure syntax--list syntax--python"><span class="syntax--punctuation syntax--definition syntax--list syntax--begin syntax--python"><span>[</span></span><span class="syntax--punctuation syntax--definition syntax--list syntax--end syntax--python"><span>]</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>itorate through the list of raster names</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--control syntax--repeat syntax--python"><span>for</span></span><span> </span><span>i</span><span> </span><span class="syntax--keyword syntax--operator syntax--logical syntax--python"><span>in</span></span><span> </span><span>rasterList</span><span>:</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span>txtname</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>os</span><span>.</span><span>path</span><span>.</span><span>basename</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>i</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span>select the final segemnt of the path</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span>file_name</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--meta syntax--structure syntax--list syntax--python"><span class="syntax--punctuation syntax--definition syntax--list syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--structure syntax--list syntax--item syntax--python"><span>i</span></span><span class="syntax--punctuation syntax--separator syntax--list syntax--python"><span>,</span></span><span class="syntax--meta syntax--structure syntax--list syntax--item syntax--python"><span>(</span><span class="syntax--meta syntax--function-call syntax--python"><span class="syntax--support syntax--function syntax--builtin syntax--python"><span>str</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>txtname</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span><span class="syntax--meta syntax--structure syntax--list syntax--python"><span class="syntax--punctuation syntax--definition syntax--list syntax--begin syntax--python"><span>[</span></span><span class="syntax--meta syntax--structure syntax--list syntax--item syntax--python"><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>12</span></span><span>:</span><span class="syntax--keyword syntax--operator syntax--arithmetic syntax--python"><span>-</span></span><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>4</span></span></span><span class="syntax--punctuation syntax--definition syntax--list syntax--end syntax--python"><span>]</span></span></span><span>)</span></span><span class="syntax--punctuation syntax--definition syntax--list syntax--end syntax--python"><span>]</span></span></span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> create a list of file directory and file name</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>inRasterList</span><span>.</span><span>append</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>file_name</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> append the list to a second list of</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--other syntax--python"><span>print</span></span><span>(</span><span class="syntax--string syntax--quoted syntax--single syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>'</span></span><span>the raster list has been created</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>'</span></span></span><span>)</span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--comment syntax--line syntax--number-sign syntax--python"><span class="syntax--punctuation syntax--definition syntax--comment syntax--python"><span>#</span></span><span> Execute ExtractValuesToPoints</span><span> </span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--other syntax--python"><span>print</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>The extract multiple values to points tool is running, be patient.</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--meta syntax--function-call syntax--python"><span>ExtractMultiValuesToPoints</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--meta syntax--function-call syntax--arguments syntax--python"><span>inPointFeatures</span><span>, </span><span>inRasterList</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span>end</span><span> </span><span class="syntax--keyword syntax--operator syntax--assignment syntax--python"><span>=</span></span><span> </span><span class="syntax--meta syntax--function-call syntax--python"><span>time</span><span>.</span><span>time</span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--begin syntax--python"><span>(</span></span><span class="syntax--punctuation syntax--definition syntax--arguments syntax--end syntax--python"><span>)</span></span></span></span></div><div class="line"><span class="syntax--source syntax--python"><span> </span></span></div><div class="line"><span class="syntax--source syntax--python"><span class="syntax--keyword syntax--other syntax--python"><span>print</span></span><span> </span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>This process ran in </span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span><span>,</span><span>(</span><span>end</span><span class="syntax--keyword syntax--operator syntax--arithmetic syntax--python"><span>-</span></span><span>start</span><span>)</span><span class="syntax--keyword syntax--operator syntax--arithmetic syntax--python"><span>/</span></span><span class="syntax--constant syntax--numeric syntax--integer syntax--decimal syntax--python"><span>60</span></span><span> ,</span><span class="syntax--string syntax--quoted syntax--double syntax--single-line syntax--python"><span class="syntax--punctuation syntax--definition syntax--string syntax--begin syntax--python"><span>"</span></span><span>minutes.</span><span class="syntax--punctuation syntax--definition syntax--string syntax--end syntax--python"><span>"</span></span></span></span></div></pre></body>
</html>