From e2d4a09431602908624d5ef3a33dbf2a3991526d Mon Sep 17 00:00:00 2001
From: dancranford <=>
Date: Tue, 17 Jun 2025 06:51:16 -0700
Subject: [PATCH] last bit of changes from home
---
.../Tutorial 02-02 - Script Flow Basics.ipynb | 2 +-
...9abf0ef294449b6b4ddb1189e2e03a3_Import.xml | 1 +
.../Chapter 3.ipynb | 234 +-
.../a00000001.TablesByName.atx | Bin 0 -> 4118 bytes
.../a00000001.gdbindexes | Bin 0 -> 110 bytes
.../a00000001.gdbtable | Bin 0 -> 443 bytes
.../a00000001.gdbtablx | Bin 0 -> 5152 bytes
.../a00000002.gdbtable | Bin 0 -> 2055 bytes
.../a00000002.gdbtablx | Bin 0 -> 5152 bytes
.../a00000003.gdbindexes | Bin 0 -> 42 bytes
.../a00000003.gdbtable | Bin 0 -> 1038 bytes
.../a00000003.gdbtablx | Bin 0 -> 5152 bytes
.../a00000004.CatItemsByPhysicalName.atx | Bin 0 -> 4118 bytes
.../a00000004.CatItemsByType.atx | Bin 0 -> 4118 bytes
.../a00000004.FDO_UUID.atx | Bin 0 -> 4118 bytes
.../a00000004.gdbindexes | Bin 0 -> 310 bytes
.../a00000004.gdbtable | Bin 0 -> 34545 bytes
.../a00000004.gdbtablx | Bin 0 -> 5152 bytes
.../a00000004.horizon | Bin 0 -> 32 bytes
.../a00000004.spx | Bin 0 -> 4118 bytes
.../a00000005.CatItemTypesByName.atx | Bin 0 -> 12310 bytes
.../a00000005.CatItemTypesByParentTypeID.atx | Bin 0 -> 4118 bytes
.../a00000005.CatItemTypesByUUID.atx | Bin 0 -> 4118 bytes
.../a00000005.gdbindexes | Bin 0 -> 296 bytes
.../a00000005.gdbtable | Bin 0 -> 2071 bytes
.../a00000005.gdbtablx | Bin 0 -> 5152 bytes
.../a00000006.CatRelsByDestinationID.atx | Bin 0 -> 4118 bytes
.../a00000006.CatRelsByOriginID.atx | Bin 0 -> 4118 bytes
.../a00000006.CatRelsByType.atx | Bin 0 -> 4118 bytes
.../a00000006.FDO_UUID.atx | Bin 0 -> 4118 bytes
.../a00000006.gdbindexes | Bin 0 -> 318 bytes
.../a00000006.gdbtable | Bin 0 -> 336 bytes
.../a00000006.gdbtablx | Bin 0 -> 5152 bytes
.../a00000007.CatRelTypesByBackwardLabel.atx | Bin 0 -> 12310 bytes
.../a00000007.CatRelTypesByDestItemTypeID.atx | Bin 0 -> 4118 bytes
.../a00000007.CatRelTypesByForwardLabel.atx | Bin 0 -> 12310 bytes
.../a00000007.CatRelTypesByName.atx | Bin 0 -> 12310 bytes
...00000007.CatRelTypesByOriginItemTypeID.atx | Bin 0 -> 4118 bytes
.../a00000007.CatRelTypesByUUID.atx | Bin 0 -> 4118 bytes
.../a00000007.gdbindexes | Bin 0 -> 602 bytes
.../a00000007.gdbtable | Bin 0 -> 3626 bytes
.../a00000007.gdbtablx | Bin 0 -> 5152 bytes
...00000009.EditingTemplatesByDatasetGUID.atx | Bin 0 -> 4118 bytes
.../a00000009.EditingTemplatesByName.atx | Bin 0 -> 4118 bytes
.../a00000009.EditingTemplatesByType.atx | Bin 0 -> 4118 bytes
.../a00000009.FDO_GlobalID.atx | Bin 0 -> 4118 bytes
.../a00000009.gdbindexes | Bin 0 -> 378 bytes
.../a00000009.gdbtable | Bin 0 -> 334 bytes
.../a00000009.gdbtablx | Bin 0 -> 32 bytes
...00a.EditingTemplateRelsByDestinationID.atx | Bin 0 -> 4118 bytes
...0000000a.EditingTemplateRelsByOriginID.atx | Bin 0 -> 4118 bytes
.../a0000000a.EditingTemplateRelsByType.atx | Bin 0 -> 4118 bytes
.../a0000000a.gdbindexes | Bin 0 -> 344 bytes
.../a0000000a.gdbtable | Bin 0 -> 127 bytes
.../a0000000a.gdbtablx | Bin 0 -> 32 bytes
.../a0000000c.gdbindexes | Bin 0 -> 116 bytes
.../a0000000c.gdbtable | Bin 0 -> 125008 bytes
.../a0000000c.gdbtablx | Bin 0 -> 5152 bytes
.../a0000000c.horizon | Bin 0 -> 32 bytes
.../a0000000c.spx | Bin 0 -> 12310 bytes
.../a0000000d.gdbindexes | Bin 0 -> 116 bytes
.../a0000000d.gdbtable | Bin 0 -> 13900270 bytes
.../a0000000d.gdbtablx | Bin 0 -> 619552 bytes
.../a0000000d.horizon | Bin 0 -> 32 bytes
.../a0000000d.spx | Bin 0 -> 1458198 bytes
.../gdb | Bin 0 -> 4 bytes
.../timestamps | Bin 0 -> 400 bytes
.../Parking_Violations_and_Neighborhoods.zip | Bin 0 -> 5799128 bytes
.../a00000001.TablesByName.atx | Bin 0 -> 4118 bytes
.../a00000001.gdbindexes | Bin 0 -> 110 bytes
.../a00000001.gdbtable | Bin 0 -> 443 bytes
.../a00000001.gdbtablx | Bin 0 -> 5152 bytes
.../a00000002.gdbtable | Bin 0 -> 2055 bytes
.../a00000002.gdbtablx | Bin 0 -> 5152 bytes
.../a00000003.gdbindexes | Bin 0 -> 42 bytes
.../a00000003.gdbtable | Bin 0 -> 1038 bytes
.../a00000003.gdbtablx | Bin 0 -> 5152 bytes
.../a00000004.CatItemsByPhysicalName.atx | Bin 0 -> 4118 bytes
.../a00000004.CatItemsByType.atx | Bin 0 -> 4118 bytes
.../a00000004.FDO_UUID.atx | Bin 0 -> 4118 bytes
.../a00000004.gdbindexes | Bin 0 -> 310 bytes
.../a00000004.gdbtable | Bin 0 -> 34545 bytes
.../a00000004.gdbtablx | Bin 0 -> 5152 bytes
.../a00000004.horizon | Bin 0 -> 32 bytes
.../a00000004.spx | Bin 0 -> 4118 bytes
.../a00000005.CatItemTypesByName.atx | Bin 0 -> 12310 bytes
.../a00000005.CatItemTypesByParentTypeID.atx | Bin 0 -> 4118 bytes
.../a00000005.CatItemTypesByUUID.atx | Bin 0 -> 4118 bytes
.../a00000005.gdbindexes | Bin 0 -> 296 bytes
.../a00000005.gdbtable | Bin 0 -> 2071 bytes
.../a00000005.gdbtablx | Bin 0 -> 5152 bytes
.../a00000006.CatRelsByDestinationID.atx | Bin 0 -> 4118 bytes
.../a00000006.CatRelsByOriginID.atx | Bin 0 -> 4118 bytes
.../a00000006.CatRelsByType.atx | Bin 0 -> 4118 bytes
.../a00000006.FDO_UUID.atx | Bin 0 -> 4118 bytes
.../a00000006.gdbindexes | Bin 0 -> 318 bytes
.../a00000006.gdbtable | Bin 0 -> 336 bytes
.../a00000006.gdbtablx | Bin 0 -> 5152 bytes
.../a00000007.CatRelTypesByBackwardLabel.atx | Bin 0 -> 12310 bytes
.../a00000007.CatRelTypesByDestItemTypeID.atx | Bin 0 -> 4118 bytes
.../a00000007.CatRelTypesByForwardLabel.atx | Bin 0 -> 12310 bytes
.../a00000007.CatRelTypesByName.atx | Bin 0 -> 12310 bytes
...00000007.CatRelTypesByOriginItemTypeID.atx | Bin 0 -> 4118 bytes
.../a00000007.CatRelTypesByUUID.atx | Bin 0 -> 4118 bytes
.../a00000007.gdbindexes | Bin 0 -> 602 bytes
.../a00000007.gdbtable | Bin 0 -> 3626 bytes
.../a00000007.gdbtablx | Bin 0 -> 5152 bytes
...00000009.EditingTemplatesByDatasetGUID.atx | Bin 0 -> 4118 bytes
.../a00000009.EditingTemplatesByName.atx | Bin 0 -> 4118 bytes
.../a00000009.EditingTemplatesByType.atx | Bin 0 -> 4118 bytes
.../a00000009.FDO_GlobalID.atx | Bin 0 -> 4118 bytes
.../a00000009.gdbindexes | Bin 0 -> 378 bytes
.../a00000009.gdbtable | Bin 0 -> 334 bytes
.../a00000009.gdbtablx | Bin 0 -> 32 bytes
...00a.EditingTemplateRelsByDestinationID.atx | Bin 0 -> 4118 bytes
...0000000a.EditingTemplateRelsByOriginID.atx | Bin 0 -> 4118 bytes
.../a0000000a.EditingTemplateRelsByType.atx | Bin 0 -> 4118 bytes
.../a0000000a.gdbindexes | Bin 0 -> 344 bytes
.../a0000000a.gdbtable | Bin 0 -> 127 bytes
.../a0000000a.gdbtablx | Bin 0 -> 32 bytes
.../a0000000c.gdbindexes | Bin 0 -> 116 bytes
.../a0000000c.gdbtable | Bin 0 -> 125008 bytes
.../a0000000c.gdbtablx | Bin 0 -> 5152 bytes
.../a0000000c.horizon | Bin 0 -> 32 bytes
.../a0000000c.spx | Bin 0 -> 12310 bytes
.../a0000000d.gdbindexes | Bin 0 -> 116 bytes
.../a0000000d.gdbtable | Bin 0 -> 13900270 bytes
.../a0000000d.gdbtablx | Bin 0 -> 619552 bytes
.../a0000000d.horizon | Bin 0 -> 32 bytes
.../a0000000d.spx | Bin 0 -> 1458198 bytes
.../gdb | Bin 0 -> 4 bytes
.../timestamps | Bin 0 -> 400 bytes
.../Exercise 05-02.ipynb | 112 +-
.../Alabama.pdf | Bin 0 -> 20996 bytes
.../Alaska.pdf | Bin 0 -> 19176 bytes
.../Arizona.pdf | Bin 0 -> 15094 bytes
.../Arkansas.pdf | Bin 0 -> 21158 bytes
.../California.pdf | Bin 0 -> 21323 bytes
.../Colorado.pdf | Bin 0 -> 21065 bytes
.../Connecticut.pdf | Bin 0 -> 13813 bytes
.../Delaware.pdf | Bin 0 -> 11013 bytes
.../District of Columbia.pdf | Bin 0 -> 11614 bytes
.../Florida.pdf | Bin 0 -> 21629 bytes
.../Georgia.pdf | Bin 0 -> 26298 bytes
.../Hawaii.pdf | Bin 0 -> 11206 bytes
.../.backups/Geoprocessing_and_Toolboxes.aprx | Bin 11254 -> 0 bytes
.../Project/Geoprocessing_and_Toolboxes.aprx | Bin 11108 -> 11254 bytes
...5ce0d73c7924c4887efe8b0b9f731b3_Import.xml | 1 +
...f56a34e9770429886cb07865923d157_Import.xml | 1 +
...torial 14-01 - Gathering Raster Data.ipynb | 318 +-
...2 - Analyzing Change Between Rasters.ipynb | 72 +-
.../mountain_house_2012.jpg | Bin 0 -> 581176 bytes
.../mountain_house_2014.jpg | Bin 0 -> 714586 bytes
.../mountain_house_2016.jpg | Bin 0 -> 636969 bytes
.../mountain_house_2018.jpg | Bin 0 -> 778151 bytes
.../mountain_house_2020.jpg | Bin 0 -> 913479 bytes
.../mountain_house_2022.jpg | Bin 0 -> 860029 bytes
.../gis_inventory.ipynb | 15752 +---------------
158 files changed, 590 insertions(+), 15903 deletions(-)
create mode 100644 Exercises/Chapter 03 - ArcPy Basics/Chapter 03 Files/ImportLog/29abf0ef294449b6b4ddb1189e2e03a3_Import.xml
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000001.TablesByName.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000001.gdbindexes
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000001.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000001.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000002.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000002.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000003.gdbindexes
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000003.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000003.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000004.CatItemsByPhysicalName.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000004.CatItemsByType.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000004.FDO_UUID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000004.gdbindexes
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000004.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000004.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000004.horizon
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000004.spx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000005.CatItemTypesByName.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000005.CatItemTypesByParentTypeID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000005.CatItemTypesByUUID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000005.gdbindexes
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000005.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000005.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000006.CatRelsByDestinationID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000006.CatRelsByOriginID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000006.CatRelsByType.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000006.FDO_UUID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000006.gdbindexes
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000006.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000006.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000007.CatRelTypesByBackwardLabel.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000007.CatRelTypesByDestItemTypeID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000007.CatRelTypesByForwardLabel.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000007.CatRelTypesByName.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000007.CatRelTypesByOriginItemTypeID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000007.CatRelTypesByUUID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000007.gdbindexes
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000007.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000007.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000009.EditingTemplatesByDatasetGUID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000009.EditingTemplatesByName.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000009.EditingTemplatesByType.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000009.FDO_GlobalID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000009.gdbindexes
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000009.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000009.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000a.EditingTemplateRelsByDestinationID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000a.EditingTemplateRelsByOriginID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000a.EditingTemplateRelsByType.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000a.gdbindexes
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000a.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000a.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000c.gdbindexes
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000c.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000c.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000c.horizon
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000c.spx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000d.gdbindexes
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000d.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000d.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000d.horizon
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000d.spx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/gdb
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/timestamps
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.zip
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000001.TablesByName.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000001.gdbindexes
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000001.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000001.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000002.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000002.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000003.gdbindexes
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000003.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000003.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000004.CatItemsByPhysicalName.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000004.CatItemsByType.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000004.FDO_UUID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000004.gdbindexes
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000004.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000004.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000004.horizon
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000004.spx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000005.CatItemTypesByName.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000005.CatItemTypesByParentTypeID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000005.CatItemTypesByUUID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000005.gdbindexes
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000005.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000005.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000006.CatRelsByDestinationID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000006.CatRelsByOriginID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000006.CatRelsByType.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000006.FDO_UUID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000006.gdbindexes
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000006.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000006.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000007.CatRelTypesByBackwardLabel.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000007.CatRelTypesByDestItemTypeID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000007.CatRelTypesByForwardLabel.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000007.CatRelTypesByName.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000007.CatRelTypesByOriginItemTypeID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000007.CatRelTypesByUUID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000007.gdbindexes
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000007.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000007.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000009.EditingTemplatesByDatasetGUID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000009.EditingTemplatesByName.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000009.EditingTemplatesByType.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000009.FDO_GlobalID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000009.gdbindexes
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000009.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a00000009.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a0000000a.EditingTemplateRelsByDestinationID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a0000000a.EditingTemplateRelsByOriginID.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a0000000a.EditingTemplateRelsByType.atx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a0000000a.gdbindexes
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a0000000a.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a0000000a.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a0000000c.gdbindexes
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a0000000c.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a0000000c.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a0000000c.horizon
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a0000000c.spx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a0000000d.gdbindexes
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a0000000d.gdbtable
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a0000000d.gdbtablx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a0000000d.horizon
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/a0000000d.spx
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/gdb
create mode 100644 Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods/Parking_Violations_and_Neighborhoods.gdb/timestamps
create mode 100644 Exercises/Chapter 11 - Data Visualization/Alabama.pdf
create mode 100644 Exercises/Chapter 11 - Data Visualization/Alaska.pdf
create mode 100644 Exercises/Chapter 11 - Data Visualization/Arizona.pdf
create mode 100644 Exercises/Chapter 11 - Data Visualization/Arkansas.pdf
create mode 100644 Exercises/Chapter 11 - Data Visualization/California.pdf
create mode 100644 Exercises/Chapter 11 - Data Visualization/Colorado.pdf
create mode 100644 Exercises/Chapter 11 - Data Visualization/Connecticut.pdf
create mode 100644 Exercises/Chapter 11 - Data Visualization/Delaware.pdf
create mode 100644 Exercises/Chapter 11 - Data Visualization/District of Columbia.pdf
create mode 100644 Exercises/Chapter 11 - Data Visualization/Florida.pdf
create mode 100644 Exercises/Chapter 11 - Data Visualization/Georgia.pdf
create mode 100644 Exercises/Chapter 11 - Data Visualization/Hawaii.pdf
delete mode 100644 Exercises/Chapter 13 - Geoprocessing and Toolboxes/Project/.backups/Geoprocessing_and_Toolboxes.aprx
create mode 100644 Exercises/Chapter 13 - Geoprocessing and Toolboxes/Project/ImportLog/85ce0d73c7924c4887efe8b0b9f731b3_Import.xml
create mode 100644 Exercises/Chapter 13 - Geoprocessing and Toolboxes/Project/ImportLog/8f56a34e9770429886cb07865923d157_Import.xml
create mode 100644 Exercises/Chapter 14 - Imagery and GeoAI/mountain_house_2012.jpg
create mode 100644 Exercises/Chapter 14 - Imagery and GeoAI/mountain_house_2014.jpg
create mode 100644 Exercises/Chapter 14 - Imagery and GeoAI/mountain_house_2016.jpg
create mode 100644 Exercises/Chapter 14 - Imagery and GeoAI/mountain_house_2018.jpg
create mode 100644 Exercises/Chapter 14 - Imagery and GeoAI/mountain_house_2020.jpg
create mode 100644 Exercises/Chapter 14 - Imagery and GeoAI/mountain_house_2022.jpg
diff --git a/Exercises/Chapter 02 - Data Structures and Flow/Tutorial 02-02 - Script Flow Basics.ipynb b/Exercises/Chapter 02 - Data Structures and Flow/Tutorial 02-02 - Script Flow Basics.ipynb
index b0dc6b7..be52f68 100644
--- a/Exercises/Chapter 02 - Data Structures and Flow/Tutorial 02-02 - Script Flow Basics.ipynb
+++ b/Exercises/Chapter 02 - Data Structures and Flow/Tutorial 02-02 - Script Flow Basics.ipynb
@@ -883,7 +883,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.11.8"
+ "version": "3.11.10"
}
},
"nbformat": 4,
diff --git a/Exercises/Chapter 03 - ArcPy Basics/Chapter 03 Files/ImportLog/29abf0ef294449b6b4ddb1189e2e03a3_Import.xml b/Exercises/Chapter 03 - ArcPy Basics/Chapter 03 Files/ImportLog/29abf0ef294449b6b4ddb1189e2e03a3_Import.xml
new file mode 100644
index 0000000..30b8310
--- /dev/null
+++ b/Exercises/Chapter 03 - ArcPy Basics/Chapter 03 Files/ImportLog/29abf0ef294449b6b4ddb1189e2e03a3_Import.xml
@@ -0,0 +1 @@
+No error, no warning
\ No newline at end of file
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Chapter 3.ipynb b/Exercises/Chapter 04 - ArcGIS Python API Basics/Chapter 3.ipynb
index 07e22df..b24e5de 100644
--- a/Exercises/Chapter 04 - ArcGIS Python API Basics/Chapter 3.ipynb
+++ b/Exercises/Chapter 04 - ArcGIS Python API Basics/Chapter 3.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
@@ -15,37 +15,81 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 5,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "
\n",
+ "\n",
+ "
\n",
+ "
Dave Crawford\n",
+ " \n",
+ "
Bio: None\n",
+ "
First Name: Dave\n",
+ "
Last Name: Crawford\n",
+ "
Username: dave_crawford@esri.com_prof_services\n",
+ "
Joined: July 31, 2024\n",
+ "\n",
+ "
\n",
+ "
\n",
+ " "
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "my_gis_org = GIS(\n",
- " url = \"https://www.arcgis.com\" , # or your Portal URL\n",
- " profile=\"my_profile\",\n",
- " )\n"
+ "my_gis_org = GIS(\"home\")\n",
+ "my_gis_org.users.me\n"
]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
- "source_fgdb_path = Path(r\"C:\\Users\\gis_pro\\Documents\\ArcGIS\\Projects\\MyProject\\MyProject.gdb\")"
+ "source_fgdb_path = Path(r\".\\Parking_Violations_and_Neighborhoods.gdb\")"
]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 7,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "Messages
Start Time: Tuesday, December 31, 2024 2:34:57 PM
Succeeded at Tuesday, December 31, 2024 2:34:57 PM (Elapsed Time: 0.40 seconds)
"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"arcpy.management.Compact(str(source_fgdb_path))"
]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
@@ -61,7 +105,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
@@ -77,7 +121,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
@@ -91,9 +135,18 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 12,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "c:\\Users\\dav11274\\AppData\\Local\\ESRI\\conda\\envs\\quacker34\\Lib\\site-packages\\IPython\\core\\interactiveshell.py:3550: DeprecatedWarning: add is deprecated as of 2.3.0 and has been removed in 3.0.0. Use `Folder.add()` instead.\n",
+ " exec(code_obj, self.user_global_ns, self.user_ns)\n"
+ ]
+ }
+ ],
"source": [
"my_fgdb_item = my_gis_org.content.add(\n",
" item_properties=fgdb_item_properties, # The properties of the item\n",
@@ -103,16 +156,45 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 13,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "
\n",
+ "\n",
+ "
\n",
+ "
\n",
+ " "
+ ],
+ "text/plain": [
+ "- "
+ ]
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "my_fgdb_item = my_gis_org.content.get(\"cb0765ce42bc41dfb9e0bc62ae3ce4c0\")"
+ "my_fgdb_item"
]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
@@ -123,7 +205,7 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
@@ -134,16 +216,65 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 16,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "
\n",
+ "\n",
+ "
\n",
+ "
\n",
+ " "
+ ],
+ "text/plain": [
+ "- "
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "my_hosted_feature_service_item"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "['Philadelphia_Neighborhoods', 'Parking_Violations_Dec_2017']"
+ ]
+ },
+ "execution_count": 17,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"[layer.properties[\"name\"] for layer in my_hosted_feature_service_item.layers]"
]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
@@ -152,9 +283,19 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 19,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "c:\\Users\\dav11274\\AppData\\Local\\ESRI\\conda\\envs\\quacker34\\Lib\\site-packages\\urllib3\\connectionpool.py:1099: InsecureRequestWarning: Unverified HTTPS request is being made to host 'analysis1.arcgis.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings\n",
+ " warnings.warn(\n",
+ "{\"cost\": -1}\n"
+ ]
+ }
+ ],
"source": [
"enriched_layer = analysis.enrich_layer(\n",
" input_layer=parking_tickets_by_neighborhood_layer, # FeatureLayer object to be enriched\n",
@@ -164,11 +305,50 @@
" output_name=\"Philadelphia Parking Tickets by Neighborhood Enriched with Property Crime\", # The name of the output layer\n",
")"
]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'99e38076e5dc4be3889b237edaff9c4a'"
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
}
],
"metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
"language_info": {
- "name": "python"
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.11.10"
}
},
"nbformat": 4,
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000001.TablesByName.atx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000001.TablesByName.atx
new file mode 100644
index 0000000000000000000000000000000000000000..aa359254ccc7f0577f2f235557b971fc9eab9a60
GIT binary patch
literal 4118
zcmeH~TW-QI5JfMgZ?$`138g<>P6Vx+SWQU;X(e{UQaKaq4=h^cCkd(?bmOsPq~kjt
zk0MDA$es&ykM7Vlx}Kg3=YD>f=vSu^&%mu`IhbNsf?z-Qi>XX80_ny@Qhqb>P#17!4=Gv*sF
zlgC_P7W0keQ{aimz-Q;q>ecI&nk}i)y!YCSSx(IZ-v&CnOMFXbwC{tTwZHkc@EmH`
z9Bj_SMRRSfkDq%v(>GBS-Nn{j9C^?5tS8O&GGONGwi8%yFou#WTW46nVx7)&3JdyQ
p#U2XY6|07=@Xn1oEldt12a*HHf#g7P;9onin@!lCDSXjeyay3kx?}(V
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000001.gdbindexes b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000001.gdbindexes
new file mode 100644
index 0000000000000000000000000000000000000000..b02aa7510589a8e036faa03406cf6d841029f368
GIT binary patch
literal 110
zcmZQ#U|?VaVmAgC27iWl22UW(z#ss`|Nk=rNhTnMi17efAq*ap)kwDGWiChuqElr%0P#pgO(;zV~DAmLfK$1Vb8bOzx$_X^n4?cR;#6WF?r-KA$^Z0nR2Si
zQ(0QfUhlky9Bq;R)?cAGTog)+Oln&w!RJ!t#k;8sW3uqV5h@o8QGa3ye^X}j13Z>X
Ket&!S08PK*IAH+*
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000001.gdbtablx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000001.gdbtablx
new file mode 100644
index 0000000000000000000000000000000000000000..fc1cf1ce37b68726ccb2dfc5136ec6b378a58dd0
GIT binary patch
literal 5152
zcmeI$Jq>^`6h+}jNJnN|U<4=3m4JuJKm#gJ!p=Jc(77>3Mim}0tzUgfC36Apnw7j{7!%|-aE>>
E04JjcdH?_b
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000002.gdbtable b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000002.gdbtable
new file mode 100644
index 0000000000000000000000000000000000000000..a0af90eaae1fb1738ddead12a36441ef8292c88d
GIT binary patch
literal 2055
zcma)7-*3|}5H{*c$JBM>=L-l0#>7CQsAyD!Hz!THh%}iJM;g3DrcFkqCP7ImHvV{o
z?KWwh#Dz$f9Q*G3zB`}KEdam~89o_pGK#OWyPTb@7U=#Co!TX$U4{6>AOIn_1`aVw$t)&wf=(#gU`UYu?2c3ox(0GO
zuI?fA3LT*zzBKa#yqM?G4Cgoq=e{&e;vl?Uq&N?gxKA~#Jr9)&XhQ|5wx?P41fm@m
zY3IkB&B0i;CMvSOu1xlnB>I{9S?14Pa)yVcp@S?Nj@7$*Y=p7@oU`i6h9!Hv#WT)g
ze*&*OO*d4}(Z8v!0g@$dzh^^-D&{dhQJX!Q29Lxr7#2x+MU%o-q};#Br65TooL90!
z4|mhKmX|g|xS(eDIeFgMST3keDHZvbB774@i)eiYS@^qp5G=`ctV-|%&7hXcT4c>w62nN@a;TA-8V{K>>}pstJ{f{uzx
zwLPMCxx@M@yVvWi+c+c2B|**yRJ90~?_BEwV8tnL66iN6&m&&HZqj>EQP1vYlw>%Z
zvWArTxfI6is_^+f6(ZK!A$ulRq>T!y*LmZ~=!;3p`sW+_TcHP+nbl)MpW^1U@a>I0
KE8>8gpP0Wjd{iF*
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000002.gdbtablx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000002.gdbtablx
new file mode 100644
index 0000000000000000000000000000000000000000..7c12c568195050346285f43f1164067d9ce86e7c
GIT binary patch
literal 5152
zcmeI$uMNUL97pkkmOm2^Jhm2##9$eqEP*Rw1rkOeL9hS=;0Ue>8dF=-gapO!jZptC
z`F_laOP;(er8I~wVx!n8mY&eUoVyj2aD)qdU^)!8P{9j+u+D-5Jm3qX*gyq0c!S3R7O;Q?EMNf(Sik}nuz&?DU;ztQzycQNS%9xS#`yy^
CN)wa-
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000003.gdbindexes b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000003.gdbindexes
new file mode 100644
index 0000000000000000000000000000000000000000..58df68d525b47a895d5876a8bf5f437a90afc3f0
GIT binary patch
literal 42
mcmZQ%U|?VaVmAgC27iWl22UW(z#ss`|Nk=rNhTnMhyegseFSR&
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000003.gdbtable b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000003.gdbtable
new file mode 100644
index 0000000000000000000000000000000000000000..21bc32a38954a10a38263ada02c239e5c7451826
GIT binary patch
literal 1038
zcmd5)v2N2)6unK-Pyu3MWb(vdMX{YU$pW2!1wnSz&2v`JSe5R
z$4lY{F`-a*9|}5j0LrC8*#R3|(BKGH6zs%Hc^@bQFaw4(6nC~)nd6kXa|FlGhY);-
zP?=W^mdxNE8e^$3@|t^bZWpFl0|Sn=gfPNg@{PNLjS*v0hx9yz}~2MR`78WLw7+_dZIbb6h3iHlAvPLx{rY}s*G@Sg^1aRg5=biC_AEJ<}E
z=9;63N3FePCEg{C->2TKx`xS8OiOnE-fQmr?C;rt4cLGU*nkb#fDPDy4cNdx8F=QI
Ja3i0u059&!GaUc`
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000004.CatItemsByType.atx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000004.CatItemsByType.atx
new file mode 100644
index 0000000000000000000000000000000000000000..f5f5acfe2916880892fc7169614f9fed64e486fe
GIT binary patch
literal 4118
zcmeI$y$S;{2nX=Aw6D@l@M6rzm^1OEj(hi-LiY~kCWSxA5EOo!2_b}sWz{;Lmb>L<
z@w#5%C|IaeY*0B0q>cn_#t2cS%+7n;wVyw}l3Yk9DwJ3e5+=2-WWBI3k5N@HpNHB!
znpq*UbV$4*w45`|-c}Z|+4S$N&HU
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000004.gdbindexes b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000004.gdbindexes
new file mode 100644
index 0000000000000000000000000000000000000000..a4f334d7ba2a29501d0c354bfa511e177f638ce0
GIT binary patch
literal 310
zcmZ{g!3x4K5CuoEpdjMO4^k1lsGvPd6+y*9!Cw0Hbz&`1q=&bVx0$z_B*0j$ShD4)
zPTaY0rev)LQ&rbJ>rnmoN4hP&=SoH)4+8~(OVoEK6eWDtb^RSWo63ES7toeSo8PJF)92>_q`Xu-zKjB
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000004.gdbtable b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000004.gdbtable
new file mode 100644
index 0000000000000000000000000000000000000000..69c76a2c9250a29375bb69a774d01cc7d9b488f1
GIT binary patch
literal 34545
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
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000004.gdbtablx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000004.gdbtablx
new file mode 100644
index 0000000000000000000000000000000000000000..2db1d1f0f31d5fc4358e1814dca0051b64cf441b
GIT binary patch
literal 5152
zcmeI$%ME})2n9e4(ZaSNi`oXP#fk*8O>8nGkI!|EWJDa5b7f{NZ@0gmtHwRnWe^}h
cfB*pk1PBlyK!5-N0t5&UAh5ka{{uT+AL<$hIzagj07ZNRrvLx|
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000004.spx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000004.spx
new file mode 100644
index 0000000000000000000000000000000000000000..6d236bdee5ca53a730e4092d11e2b31f1f938a7d
GIT binary patch
literal 4118
zcmeIuu?YY$3sk5#sx(8MC^8tlT8R)KK!5-N0t5&UAV7cs0Rq1Z+&b^#bThjF
D7A^ox
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000005.CatItemTypesByName.atx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000005.CatItemTypesByName.atx
new file mode 100644
index 0000000000000000000000000000000000000000..7bdb9ee48e5695250bf13c4bbf6e58c3ec8188e0
GIT binary patch
literal 12310
zcmeI2S#Q%o6oqft_kCZ@{yR`Y0Er^h26#@=6e`lBvRx?uhM&rJ#tBh|JXA|y|V&YfviAQAS;j+$O>cy
zvI1FwtUy*EE09tFt@&@w2wdcT8C(E2!EtaFs5kH!oCl}C8E_xyZ=Zu};4XLp?tw?(
zHYmVTa2h-WFKu9z)mF0lA9C+;AJ7jNIq3wn;ZuXLP3;SuI
%&afhjcLVYYN|J!kBUoUoyb(@c0**!
z^U}U0X8i_En%~5w>2Z%?w1y9g+lcG(=lS2Gw;_6!`Fx)5P)<7o^`Gpb9fPf)oU+c4
z=aYmp^BVjr_{p~Zs)N5{!CQWbV>Oyf@y~39HbzwW0Wt!B=HUEDd
zMv70(y&h{B@l$?oGI3n(r`K?qpFjUoHdaM7&(D>8B^T~uZ6B3Z-d|>s{SSxM{W{Kp
zlb{8jfEz%)fh*tvI05c}W8f-y2Cjok;2=kAA8#Js@GJ3ht@tPS`NG#d__+90)F4{l
zXqHN!v6dNZ1ZLl1_A|@?QcoGzNB5+#4S1=F^fHrM5?z_t_1^wbF)rJ_VKdT($>+A*JYcg}Z*73mfW2oHp
z{kuA-=Z)iM?5a*lg_X5K;BAIm#cx$lG?lFnQiJ8+$qHlzvI1Fwtbi2wRkXNjhhMw*
HIyC+b#J?7s
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000005.CatItemTypesByParentTypeID.atx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000005.CatItemTypesByParentTypeID.atx
new file mode 100644
index 0000000000000000000000000000000000000000..355c47e4a7d4e8eb7ea10448164f97add935895b
GIT binary patch
literal 4118
zcmeI$$%@1v5C-6$ec$(e?>QA1HCi5xS}zsy?(=7uzRamFGtjgJUlK?m$&VP!WHOn2
z!dPpt3hS@|o3I1Bum}5a07q~P7jOyJa0?Ic1aB~oxdkV12Ip`G_wWcW@Bvd;fo(X1
z8#sk$c!hVkf@P^*{S=MoUx(Sfq1T*aC>%(H71``EanO!zDY|Q1-B-pAp=G+ozVX|6#Vu^{2q?n8H#;_auIlG+k
z(iE&mNm;V&97Ss*HK}9G+?nJI#+s`u+tBF7X)?Akm=ms0$kCFHMY=9EE|@U%|KBB&
zRY;miipT0(bW1_`L{YeKY)fjz49oJxs_$77s0q{rY63NZn!utZF#X(+uc7y$x1cxWx;0-hwhubT3(3+&KAMv3-DcIQ
zX6t@ytIV_eBGp7xXC?0}G)MMgRwK6DZ``MrdJF-%N#Y!eHI2+lTkJe$ZHO|pHdn*L
zhev3VItq$NlcthyVr&z(Dv&pd%Bw(6luaVB=0?i9UO
z%5$Q`u1#A(lw5IwL=u#wbpx+*v9~6hTXepnl)H5{Vpajw0DGC6%sDNa&z|#&vf9xL
zx@sli2JB{tZ)FJzl3l>wtib|T&Rjs%(0BCr5V%`8(hd)F+tBxuhR-gRaEIU8&M%2QQb>V=ZK}jw73f8c!tg$ymsV*%eXBcIwsM
zME&9yIrNEYPH*m$QyEdo>TnuGZE#^4x~=S#BUQGJJ^b8n!37swRnQP*uR&uS+-V$d
zBX}Kn6{Qsb9Rw%Ag;_V0IIa$V9h8^L04cnCtS_`Tp$ptUEM>g?_wt#)Mfl)(`
zks$Kwn3Jn3RDJilH!w|5O*K9n*sWdjSilRD2Imy(eJ#hXAd%S_0)$ND%owr}W0K0s
zK5~pP;pkjNXYzyz#zH8p6@eN<)JAP+r}q183GS;lVyT!%Q}9|L)MB4Gv+7{@e!2G2
z&Y)o(9qOrwYD~IT#hezK0_UvZ((0bHI%ZW23l4Fl$y{U=ujL^7HS5%2L6~=VqFwAA
zO#AwZh`MF7xG*f*wg8>#@<(+(y#1u?1Mv!a0Vg!9-tbzhzmz=ICsjz
z39yw51{N-?iVg`N%*}}3wGX@%wZN-;Zk&3FvoH*wO*k!{4UW8)Vx-bBX$OrjDspS59Ae#C)PR+nwVH>Z~&Zx3BUdhbTnfm;XF>qb^dg{nc|bd0W}}-3
X@&j&lgxu%{v>_L00|Nu98xi6F*S08%
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000005.gdbtable b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000005.gdbtable
new file mode 100644
index 0000000000000000000000000000000000000000..0b36a57dc507d0c23ec1208baff5452933714295
GIT binary patch
literal 2071
zcmZWq3s4hB7(O5nP$2Sf=vb$X3K5@09#X4VAPEqJAR!c6s`e6=c#_-3XXU!f!?#bl
zmcH6CH+I*_54#_T!^+(?fMfDlJqU%yF0y&~l09qV8&l34ki-t}tvGZqxOmKzTp?3G
zI!zjie3TX*&>Y3kQU%GA9N>c>3U>*Y{`ZJfJTM_Hy_(!j*+W6{ZG5a(oIx$d-MecU
zGh<{71tHLQ?da4+KV&aemW8)p7U!OLj2lZ76lq{dlfWbpV)}~izYa=li>{gR^v9b4
zf$=!TMN82U&~67o)DL=YOtISIno4S-p5waxHNeaQ4$wTwBe8NL$#LjBnU$8|Zs4!n
zI=yFE*}dM=xOBHT#+U`zFlhSlm|JV6y;fdYOV{a
zF_9FF^7>>}>D`jse(`%t@y%
zNIs7R0tV^#ty)^WxNb|*{`b2&)zrW)oT9Is$pTr@k4R%4#EsKi3}L!iyKni0)A81Z
z`Oi8oQp@mAUNJh3XGuM;C3Qv+4iWh;4%zBw98*?a3;96fe8Yw#{4!vYI5VjS(#i5g
zq9O(hE#-+Rs*Z%!Q}_F4uEC2yB8Mdot5FaogP7+^$(IsYxg74TjwdDge&bb(|H_
zaXotQGlT4r^8DBr8@^84^*ip}OAAE+;SAq{h$~SsuM%cQsJ8)LsYLiaaxHumBX#9D?i>KF?;+oF-&{Hpril#(F5
zHDI7_37$)dqj!X4qWpI~`r`>_A6j*?sIkAVa-{)`%YESmLR+eCOV+2YvD4^wy9Z4_K+Au2Gdz
zVa4^A*6USgfAM=Z;&GqDsdzaw$B{ay0wFvsoOxlHOX8u~3!e^V9<<{@yo9S@{LVzQ
zfGp&}LYR8`?wmR&T!MF69=iz?2zf=2dPCp37Gc}IsS16LwR=P4t_7YH2}1u@#IX;-_G+T=9{vuq!CeS03q%uHhR
r6CVH#$ObH+^%OmM9iX7o4=Yu^eLED5C4oI>_PICW(*7&6iEq`vlBp*j
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000005.gdbtablx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000005.gdbtablx
new file mode 100644
index 0000000000000000000000000000000000000000..d6d8258f9bd0e9fd28ed44718915eeb6dd3b04be
GIT binary patch
literal 5152
zcmeI$tqlS}7zW{m<4@yING$3M0)?js41$mlEE
zFy`?k9N-Q$jC#QWc5s6V2K`_LTPUCgj|D7X0Sj2b0v51<1uS3z3s}Gc7O;Q?EbylQ
IUwe%61H;}G_y7O^
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000006.CatRelsByDestinationID.atx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000006.CatRelsByDestinationID.atx
new file mode 100644
index 0000000000000000000000000000000000000000..9924ca70dd533c85d11181648cfd2b80f038649e
GIT binary patch
literal 4118
zcmeI#K?(yg2nEozy-Rn3M$Kk$P{Ao6yWQp$Z~p2x^p{~EY1
z7uZE|b#tezTaazpDAX#2WT?i6Rr;~#JDOSqxilr?SjGeCw5-h+Uv)smPGw0?%>n~%-5!wI%
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000006.CatRelsByOriginID.atx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000006.CatRelsByOriginID.atx
new file mode 100644
index 0000000000000000000000000000000000000000..6408d339c6e9b033b4b20597edbffacca8c5f96b
GIT binary patch
literal 4118
zcmeI$Jq~~%3
GXnzBgL=q(c
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000006.CatRelsByType.atx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000006.CatRelsByType.atx
new file mode 100644
index 0000000000000000000000000000000000000000..24f197e8101e4d403690dfba960daba102b85012
GIT binary patch
literal 4118
zcmeI$F%Ez*2nA5oySS0qlmu5w>!pl$x0txQ)!~ys8JZN{SR$giXGEOK)1izKIIHV^
zBrBYy2}?HTVxpW}nw7dWb-ljb8npx7g#ZK~009U<00Izz00bZaf&U4tH1(k(-(P^}
EZ=y~TkpKVy
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000006.FDO_UUID.atx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000006.FDO_UUID.atx
new file mode 100644
index 0000000000000000000000000000000000000000..b36d39f70d0ddafc632e57c1d7140cb5e9e444b2
GIT binary patch
literal 4118
zcmeI#O$x*y3r|pPQGtU%)8aB)uqdMR4JvHDQQYJUU?$d@+EG<#x3WVTIYbHordSM0&Zv3dArFzzAV!Km|bZEFd;eoSlKgpCO4Miy@UEnW2Qilfi|7fsKWU
zC6pl)!r@k90;(ut$Ye+d;yj2Tml_M33s6fjObbweC4`}pp#Uhz0OW8v0%c0T+L9Pb
zfh>?(1|9}ht^lB5K3H85P&gAJ!N|hO;0kom-xa6MT=#0(;=kjVT;al(6DCYvpXjrG
zXRdpP_8(EMDW6k!n{0g^+_=+Wqs%PVHdY;m)gLSFJTY10yvtq2Z}o-e$3Z>?8?;YB
ozNOE++JCE}VARdt?cdQ2>S%c-`1{dQ|IJPtUmNdbmceEa01ru9ng9R*
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000006.gdbtablx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000006.gdbtablx
new file mode 100644
index 0000000000000000000000000000000000000000..9a4c2d6eac85d316018faf0064c0db4b3e18e764
GIT binary patch
literal 5152
zcmeI$u?YYm3SFe_I{>NWyKzz7%tBVYuKfDtePM!*Od0V9wn0bTQ-{218a`xxnOnh)4PYiJ4WqIGnD
z^!f#~h*r=cT1DIF6rG`cw1*1l2rZ+cys)-!$`dR3GOKz$slx-xNd~zQ8@z*Q
z_m}Kfaa7!q3u}=v%b#M>Ul>L0Em6=WmNlyvXY@2~lGhHlgr8CgCtV^^`tV1
z+ZNi4j{JPM`cK~N6OWoYm(`WMW&+|Iz~JgXAdk@`4!i9A$jIi~Ppeq1M!*Od0V7}p
fjDQg^0!F|H7y%>j9|(K}1#VL_0Q%NmH!Xhy;i}0^
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000007.CatRelTypesByDestItemTypeID.atx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000007.CatRelTypesByDestItemTypeID.atx
new file mode 100644
index 0000000000000000000000000000000000000000..7d5c15e58e1f27f01ca8d7f40d152f752cf2c32f
GIT binary patch
literal 4118
zcmeI$$%@@D5QX8Jq%(Eqp*zC^WLKb}R4Oe?D(R(+-#zCBvg}1RApr?KFu1_*TVBYQ
z%jNPNuIn*8gIo9jU*IXcfLHJq-oZ!s1o!Y2p1^x}1CQVap2JJ{40mvS#y5Bkdp%s>
zNb1(6Hd;#qv5S+oB*b&39wkbxe*UvlHPl=+G}4j=v4u=+rbKDXF|G90mz~F+`m++s
zp_qFi^`*oqRnldH@*3t7$+OCNsN}lh#C{opiB*J**(i>#Nww!8`8+HKEOiQaA;e3J
znlD_5Eltg`uXG;6gY=O*Rc%f@N+dH(8B1+3b!}4q_bFE?A+1KO7E~=mP$Fd#_h=!8
z+PR*GH{}#(Coh_aYs8LbMc_3LmfAV_9=f;89yveb=yjfKKrXcg^*WSzS?Cn<
z-PN`Th=2%)fCz|y2#A0Ph=2%)fC&5~0r&Zj#s+u{;1F#gzrKzVG=~<^GTKA?XdA7e
z1+;>W(L7p0t7rplq8+r04p74ieElK*e9qB5`qR?acmF=)dT9TCQv1KrzQP{HJSV+f
z`0|hZn)GUhh2ft)%@aP0EnQ+~zl=HgSR9Q~k5u`Hou=*YsPjG+c16!#6aVr!SPV(_
zeXSS7?{D*KF@NMlvi;jFwU*sQ@u{ttUof9|RNZGckF*!eEw`KxBC&Qf2Y2CjQ?3g#
ztcz)lAp5GZR3{hv??1AyPOnz?h+oB`PEP#lP^<2VogXf6l$-ngzIhzrq|Alc#oj+{
z{*lmQ?Ge+OqZ-|5m`+ivA|L`HAOa#F0wN#+A|L`HAOin_z)PC&o*n^s^Zfn%75X}z
Ax&QzG
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000007.CatRelTypesByName.atx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000007.CatRelTypesByName.atx
new file mode 100644
index 0000000000000000000000000000000000000000..7e43bb8a72d7aebabb1bcd2101b17cf743e34779
GIT binary patch
literal 12310
zcmeI1`%c0z6vhwU@Avy(dlw0Y#Hi8v0E&P_WM<45-o{7u`#KCOfd&({F7b?fux_OL
z_G`P-o{5N5pap0V%5w|lNuH%EO{q&y?of)Qfl^m$=1eRdlml;{JnvoWRsu>u2`B+2
zpahhF5>Nt4KnW-TCE$|)*ZgNg1E=_99$*F9fcBw1XcOXpmZ3Fh7dnIvpc7~Z+Jacu
zIkXL3Ku6FLbPTOSRjl$8sE;*&VsZdA?D5zqG6Bu8^Tp=@Ci#nyop^z_*jrXKHD=
zD=oQ)vky3A-sGud{OIpN2FUa@ygN%7+Wh*4Uf1-$CfYcZSG013zSzdzhr44Lh>I3LrlWRKQM^gE8_zVUj6o=Eo`*=Zi{#_WILXe@7q@O1gRh7XRB1au>?
z<;ZD4eD1J^l6gC4;x2zSEk7;q@|Vrl`f(Q^OPq}scK^%z^Oa3@`3p^7i-)6o+6c?{
zxZ7WZNWy3rVH^w!8L#7a>-I->d|P0Tl<_+9EW7+YnkNe*aRPdNJl0J6rLz^rk8C+l
zF0ayD9$d32dbZEcde`&&UwVB;EY6^NpgD?XoNZ0(pYwCzu4(dYkK}&O
z_$6q+e=Ng{z~*WDv!5ZpVs6%D$<@05?Pl&m<
z?}(o5-Q)eI3=!S-mrtu`tx7-%C;=s)1eAahPy$Lo2`B+2@E-_#2VC_t1Hd=-+*tkr
D0a~|P
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000007.CatRelTypesByOriginItemTypeID.atx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000007.CatRelTypesByOriginItemTypeID.atx
new file mode 100644
index 0000000000000000000000000000000000000000..66750861ad7ab035627acc5466d244206ee7bd83
GIT binary patch
literal 4118
zcmeI0$*SBi5Jg|+d7kqD*%e5tNm^)vf)63FYc>T(!##GySw`d
zj_W=60G@%j;0HMFJpf<98}JHz1E0W0@EAM+FTgwS8GHvX!Bg-Yd;t%^Bk&rW*WV3X
zN?pB0ZM1hyB+C}nR*WQ~jBMH5*Y(B}yLlO_&}f@U>dbi7P^wdS;IgHDz1)_PSkkoy
zS;?Cu2~*QRIZb{3{{p}nQ(lIEsjh>8XpuD!{(
zVXew_N4+)W$=PdaC{iX#Pv{k;P?<5KqtDp=dO;@FZbp5NMlx!pu9|7?-BXWTtR$r5
z$VsC$VM&TQd?kTCFA`k3@{uxDS9W4Hfz`gL%Lwwy(`Tte=QvWHwJfGs_*>xu?e55z
zv;@nRNO14&c~4)|4@vbAzgIr$KnSglIQF=%N;
zd(W7oR1{!NvQo`y+w~G7a1JI;M|bS#feqO2^+otHjAB+y=(g0xzTvP5QFu=-~shBOpqYL@hZ;KUJuI@9PI-+1spa-~w{_nxqb?h3neD}UGJdZpbyZW(67+f&=1gG(C^Uq(2vmH&`0PS=pX18=solny5fBYeGB~o{RDjl
z{S3W(5409woVWvq|*~A?bUNPYc{eoqj5}7S9LIUDVR4dSjA|Bt4mwr`NSrk4k$!
zDuSKS2eG)3NH{GUg}P=OJd02ny#(vRft7z-soz8!OHYmp1EeMy+>bWZR@>
zO3d0PuhUc)T$v@<4q~+=Ion7Be%!ig&Kc=&omI5&LKBsev@T@31vLp|ncJqy^D*|$
z%-A&KERc{z$e(mdw>F}dzVrE*6;-7t**V(bwdOvWt0$e^k*NGn2f6ST9PJ$S+;k#g{?mAS#IV2`Se
zI-YABUbYpk9<|y@r5um6P(2{X@B&forhhHaWlgX;RsP?<0N466D4FVF
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000007.gdbindexes b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000007.gdbindexes
new file mode 100644
index 0000000000000000000000000000000000000000..2a98c93adab6374c865fccc1045125683eb4a05b
GIT binary patch
literal 602
zcmaixVGF@f7=<5Fd_a6e{>-eEl9l)@8wnelmHhfSvslCKT4%fW-MP=X_q|P^Ejie@
ztR;^lJA7iMszFamlA7Kv>GywM)d?H<7g`sv6;HpM-C2SERT9zjtKJvR}JS&t08k_L_S#SGPiCL9r)!ePG6kQM$6$Ayr4@%IHqS&gSVigrg2t-Iyetyby^pU)Thv5a1r-Guj{K2Ty
ziXA~vsul_eMQW`mZDlBaKt=H{pkhZYmbR#45oPSYWCLWO%``J_^6u{4ckZ5h&)ppc
z0GI@yNANL+kN!7njPA`94Y2cO?7Im77QjLbB0)4Dfdnu>0C)flH#0R02jMznl#AII
zF;D>t$l(A3{bE2ENC2_$P3z4%@SvgAE+5*#OautHj)b^}wBVL}poAaY1cy~X3WDH&
zB%D@2hj-Ay99a3nAqiOjUoHZO$%WscAu<62q_q&N1%RnJoCKg-6K((Iz|YP;2a6ii
z-tByGcpNChdN!&HQX6p_p(
zrE0yEke~@Uspe?srhG)G7)nCL5)2#?&>XER2l)aR2ZSx{if{RKei^sg-%(WB^yHj!
zS^SHOq@7>#_{$%r-fgbTEV%2s{auVO(?!%?NyxWa^9Y7elZ=4oD-}{wWy4j{3_;Oq
z4w|q-1EiEg(fUCXNE!sIINS8e(uNMPCb(fq@vX#rIM|J2<|*Af-}BvFw)|q-2#+*N
z0Yk>*kSA2xJ^3_H;a>INb((i
zE1ZWjIUX^Ih(Y@>9(KfBA#xKY>
zvOg=KXXpGlXSz@e{TwRuF%5f6`o-SM1WWpLdGg634!c!$Yfw<(a;q1&r!-a
zgJ*#*9Ty(nY+SVGx_8R*U+(rUb!)rkCii@C>TE#f2@Uu3>6lgjmX2_SQcz3+;>1Wg
zkaK@=?_#%pw*D^j{Oe)-jN+!e#@;K=7ux@LrtawsEZbWCR#1TtX_)
z9*t#VDqbPF)q1LcPUR0$v)As9595}5%|E|*TTu$-vHfuET8W_gf$g7fN4BbQGW06f
zeT+{;swjye6@yfcaCN>2_IzAp!kv>oKG}BPdoG(EefqU2d3*Jj^?v!&W3C>u+2W7a
zfF0VjSQeTQfaNfk%U{
z^o)Aw!om5UYRJDosf-~RxMNfU#!}#nr=afx{dFN><0`7Mv69Yt?02$kPVJWGwqAH2
z!tF7-{-WqPo_)W%zb?0&uv)
zGFqJ9!>>rnUHaS+YDh(@;isYQm9$tkkPdyT&}pBQ+W^;zeI^vAL6bm@sdrXw&cc!@
z+{zq>gs)cCAIC+Aho(nEjmc1p#_}+zF%43uhNY(@V)5$W1?4_j#bZPw0(e(|Sf$4zR3Y;x3yN~WU%W4$b^yo1ZF_{F4j~orIG2V+
zsgxV!Q6t4FN)C@%v1|;FR5KK5Q)xUoIMfQ*3WYahNhzsZh!jjL|y*7oL700H3j8w7k3)?$F>aDn94GW~wHx&2z(o
zjZ%+_fFnP~dnLM_Xu!i5kA*?1RFG(6Q8)~WLbnb{;Bspx{aPyUt3LME#|vxCJHr}7
z8!rZ(chv^Vh5X)G;+w1-_o<5?osES3~j^8@N(C!zII)_ITeQ!s
zK$cN3#+dn^6|<2Iwrf(=&cyrf{1O|lxQSf_*u)Trr2NR~eICUwd
z%DSwd&AFW54a;7*!KMyRST*4TTV6ciFbH?p4MQ~w7x=<@9A2=Wgk~C!(9Xgc7HznK
k#{w3xfCVgI0Sj2b0v51<1uS3z3s}Gc7WiiYKK>Zz2N|&rl>h($
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000009.EditingTemplatesByDatasetGUID.atx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000009.EditingTemplatesByDatasetGUID.atx
new file mode 100644
index 0000000000000000000000000000000000000000..01bcdc551bf7cfd747ab71071501f3deed9c8f24
GIT binary patch
literal 4118
zcmeIu!3h8`2m`>ljQfw+`fv%kKp@{-A_NE!AV7cs0RjXF5FkK+z;%I6{fpDh><1Hq
B04e|g
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000009.EditingTemplatesByName.atx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000009.EditingTemplatesByName.atx
new file mode 100644
index 0000000000000000000000000000000000000000..fe3ddc89302468caff3820cd2d91f13214f2efe7
GIT binary patch
literal 4118
zcmeIu!3h8`3<5yANk`A9X&zakoFMr15+Oi<009C72oNAZfB*pk1b!E&d)~$AW_AN0
Co&dxE
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000009.EditingTemplatesByType.atx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000009.EditingTemplatesByType.atx
new file mode 100644
index 0000000000000000000000000000000000000000..d8b3747d60ec283485b7f3b9d482ddfeb1b80725
GIT binary patch
literal 4118
zcmeIu!3h8`3<5yg$+G`cX&zakoFMr15+Oi<009C72oNAZfB*pk1b!E|b>7A4W_AM=
CssKg+
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000009.FDO_GlobalID.atx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000009.FDO_GlobalID.atx
new file mode 100644
index 0000000000000000000000000000000000000000..01bcdc551bf7cfd747ab71071501f3deed9c8f24
GIT binary patch
literal 4118
zcmeIu!3h8`2m`>ljQfw+`fv%kKp@{-A_NE!AV7cs0RjXF5FkK+z;%I6{fpDh><1Hq
B04e|g
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000009.gdbindexes b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000009.gdbindexes
new file mode 100644
index 0000000000000000000000000000000000000000..048047276b6ecd5795e5237e3531ed1b851d96b9
GIT binary patch
literal 378
zcma)%!4APd7=%AUBH`fV=4GTbE?hWEv5|_FgiD{kz7SbSNqU&w?94y&&-Q_lSdg%0
zC-$5P9C)ylgR!XVj^{u$^>25|g{ujf_uJjo10Q!&pQz3`lDjXbTdNO0kx+*?5_lxQ8ir8i>!miUuDyE`*GyW63CLl1&)
z?!r>Fd*e3XcyqbpfM`X=i9I`N7EGaQel+9ERYa=Tfc=qg2~TcPf^XPTi4>ZwW8e^o|23Ph!XQYuMmW^7thQQ=zpOyJkrvw*mDDkv$$6!Iw{!kQ74HoXhH
w{V8qZPVOb-a=XZ{)Ud)$j|jAP%2BhiSLk%%R$Qf@N%1>p-mI5PG-=NH0CUqSg8%>k
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000009.gdbtablx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a00000009.gdbtablx
new file mode 100644
index 0000000000000000000000000000000000000000..6f071b9eace228ac953203b429397d385055ae1a
GIT binary patch
literal 32
PcmZQ(Kmb+*6V3tv0OSA(
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000a.EditingTemplateRelsByDestinationID.atx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000a.EditingTemplateRelsByDestinationID.atx
new file mode 100644
index 0000000000000000000000000000000000000000..01bcdc551bf7cfd747ab71071501f3deed9c8f24
GIT binary patch
literal 4118
zcmeIu!3h8`2m`>ljQfw+`fv%kKp@{-A_NE!AV7cs0RjXF5FkK+z;%I6{fpDh><1Hq
B04e|g
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000a.EditingTemplateRelsByOriginID.atx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000a.EditingTemplateRelsByOriginID.atx
new file mode 100644
index 0000000000000000000000000000000000000000..01bcdc551bf7cfd747ab71071501f3deed9c8f24
GIT binary patch
literal 4118
zcmeIu!3h8`2m`>ljQfw+`fv%kKp@{-A_NE!AV7cs0RjXF5FkK+z;%I6{fpDh><1Hq
B04e|g
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000a.EditingTemplateRelsByType.atx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000a.EditingTemplateRelsByType.atx
new file mode 100644
index 0000000000000000000000000000000000000000..d8b3747d60ec283485b7f3b9d482ddfeb1b80725
GIT binary patch
literal 4118
zcmeIu!3h8`3<5yg$+G`cX&zakoFMr15+Oi<009C72oNAZfB*pk1b!E|b>7A4W_AM=
CssKg+
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000a.gdbindexes b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000a.gdbindexes
new file mode 100644
index 0000000000000000000000000000000000000000..2bf7d55afcc793405edccd3c0b893789a4869c2c
GIT binary patch
literal 344
zcmb7z;Ke-~L2(!I9jKoC_Hn`_J4c*r}zgrJ!U^rB~^s_Vfjs+(=q|
q>g)Hsgu7F-*W|Eon;Z7+`m?|CV|Ojzmo?YqT)nY7X<+8(XYihVkuvB2
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000a.gdbtable b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000a.gdbtable
new file mode 100644
index 0000000000000000000000000000000000000000..960a97d898aacf668a1b3aa7b84124fba3d3d825
GIT binary patch
literal 127
zcmZQ(fPi2i#R_GEsCp<{14@JBSwL(?5Y6Gwki?M1kjjwEP{QEJ;KIPb#=^uB!cfUj
h02E|kU;-;CV#s7j2jV=45-v3sHW#3DF-#9o000zk3yS~%
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000a.gdbtablx b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000a.gdbtablx
new file mode 100644
index 0000000000000000000000000000000000000000..6f071b9eace228ac953203b429397d385055ae1a
GIT binary patch
literal 32
PcmZQ(Kmb+*6V3tv0OSA(
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000c.gdbindexes b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000c.gdbindexes
new file mode 100644
index 0000000000000000000000000000000000000000..c9d0caa2233c4a1fcbaf3847dab2f14df879a2b9
GIT binary patch
literal 116
zcmZQ#U|`?@VmAgC27iWlAa-K#VsK?}W(Z;M1d1^*2mtZ_|BOJA1Bfx@If0@u-N6hQ
X42cW{45>gd79eI|0O?}|Vq_Tr4EhZd
literal 0
HcmV?d00001
diff --git a/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000c.gdbtable b/Exercises/Chapter 04 - ArcGIS Python API Basics/Parking_Violations_and_Neighborhoods.gdb/a0000000c.gdbtable
new file mode 100644
index 0000000000000000000000000000000000000000..86cf1c45718039dc14f1441125529a9535286ac5
GIT binary patch
literal 125008
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
z +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