# GIS Courses | ArcGIS Pro | Online | Portal | ArcPy | ArcGIS API for Python > Technical GIS Training with ArcGIS Pro and ArcGIS Online - ArcPy and the ArcGIS API for Python ## Posts - [Are you scripting against ArcGIS Online or Portal with the ArcGIS API for Python?](https://learn.finaldraftmapping.com/are-you-scripting-against-arcgis-online-or-portal-with-the-arcgis-api-for-python/): Table of Contents The Video Subscribe Introduction Are you scripting against ArcGIS Online or ArcGIS Enterprise Portal? In the video above, you will learn how to programmatically detect whether your ArcGIS API for Python script is running against Portal or ArcGIS Online and why this distinction matters for real-world GIS automation. arcgis modules The API provides access to your organisations ArcGIS Online via the GIS class in the gis module. This GIS class is the gateway to ArcGIS Online and properties about the GIS that you are accessing. ## provides access to ArcGIS Online from arcgis.gis import GIS Accessing ArcGIS Online Our first […] - [Export Attribute Table to CSV with ArcPy and ArcGIS Pro](https://learn.finaldraftmapping.com/export-attribute-table-to-csv-with-arcpy-and-arcgis-pro/): Table of Contents The Video Subscribe Introduction Learn how to export a feature class attribute table to CSV using ArcPy in ArcGIS Pro. We will cover both exporting all records and fields and creating a filtered CSV with selected fields and a SQL where clause. Import ArcPy As we are creating a standalone script outside of ArcGIS Pro we need to import the arcpy module. import arcpy User Inputs We have two user inputs. The first is the in_table which is the feature class or table to export to CSV. The second is the filepath to create the CSV file […] - [Truncate a Feature Layer in ArcGIS Online with the ArcGIS API for Python](https://learn.finaldraftmapping.com/truncate-a-feature-layer-in-arcgis-online-with-the-arcgis-api-for-python/): Table of Contents The Video Subscribe Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating Feature Services and Feature Layers in ArcGIS Online. In this post we will truncate (delete all data) for a Feature Layer. arcgis modules The API provides access to your organisations ArcGIS Online via the GIS class in the gis module. This GIS class is the gateway to ArcGIS Online. We will also utilise the FeatureLayer class that will enable us to access […] - [Create Rectangle Buffers for Point Features in ArcGIS Pro Using ArcPy](https://learn.finaldraftmapping.com/create-rectangle-buffers-in-arcgis-pro-using-arcpy/): Table of Contents The Video Subscribe Introduction Asked on Reddit.  “I need to create a box around a point feature that is 66 ft wide and 50 ft tall. Is there a way to create a buffer that is customized between height and width? Or maybe another geoprocessing tool to help create this??” Import ArcPy and user inputs We require several user input with the first two required. These are the input point features to create the rectangular buffers from and the output polygon feature class to create.  The use_fields parameter is a boolean when set to True /checked on […] - [Convert ArcGIS Online Epoch Time to DD/MM/YYYY or other format using the ArcGIS API for Python](https://learn.finaldraftmapping.com/convert-arcgis-online-epoch-time-to-dd-mm-yyyy-or-other-format-using-the-arcgis-api-for-python/): Table of Contents The Video Subscribe Introduction Learn how to convert ArcGIS Online epoch timestamps into readable date formats (DD/MM/YYYY) using the ArcGIS API for Python and Python’s built-in datetime module. Below is a step-by-step guide how to access item properties from ArcGIS Online, extract epoch values, and format them into clean, human-readable dates. Perfect for GIS developers, analysts, and anyone automating ArcGIS workflows with Python. arcgis modules The API provides access to your organisations ArcGIS Online via the GIS class in the gis module. This GIS class is the gateway to ArcGIS Online. We will also utilise the datetime module from the […] - [List Excel File Sheet Names as an Input Parameter for Custom tools in ArcGIS Pro with ArcPy & Pandas](https://learn.finaldraftmapping.com/list-excel-file-sheet-names-as-an-input-parameter-for-custom-tools-in-arcgis-pro-with-arcpy-pandas/): Table of Contents The Video Subscribe Introduction The Excel to Table Geoprocessing tool takes an Excel file as a parameter and then exposes the sheet names for the that file as a selection list in another parameter. In this blog post we will see how to use pandas and ArcPy in the custom tool Validator to achieve the same functionality if required for a bespoke workflow. Custom Tool Parameters For this example we will use the two required parameters, your custom tool might have more parameters. The first parameter prompts the user to add an Excel file (.xlsx) as an […] - [Get a Feature Class OID (ObjectID) field Name using ArcPy](https://learn.finaldraftmapping.com/get-a-feature-class-oid-objectid-field-name-using-arcpy/): Table of Contents The Video Subscribe Introduction The OID field for your Feature Class in ArcGIS Pro might be called OBJECTID, it could also be OID, FID, or any other name that you have given it. This can make it difficult to create a script to process data that may not have a standard OID field name you expect. With ArcPy we can query the fields for a designated OID field type to access the OID field name. User Input Just the one. The path to the feature class or table. ## the path to the feature class to get […] - [How to check if an ArcGIS Online Feature Service is a View Layer with the ArcGIS API for Python](https://learn.finaldraftmapping.com/how-to-check-if-an-arcgis-online-feature-service-is-a-view-layer-with-the-arcgis-api-for-python/): Table of Contents The Video Subscribe Introduction I was recently doing an ArcGIS Online audit for an organisation and needed to know whether a Feature Service was a View Service or the main Hosted Feature Service. When performing a search() with the ContentManager using the ArcGIS API for Python all Feature Services were returned with no distinction between the original and a View. I found I could check the size and it would be zero for a View, but I wondered if there were any definitive properties that I could check to see if the service was indeed a View […] - [Count Features in a Feature Class or Table in ArcGIS Pro using ArcPy](https://learn.finaldraftmapping.com/count-features-in-a-feature-class-or-table-in-arcgis-pro-using-arcpy/): Table of Contents The Video Subscribe Introduction Looking to get the number of features/records in a feature class or table in ArcGIS Pro using ArcPy?  User Input Just the one. The path to the feature class or table. ## the path to the feature class to get the feature count fc_path = r"C:pathtofc_or_table" The GetCount Geoprocessing Tool We use the GetCount() geoprocessing tool from the Data Management Toolbox  feature_count = arcpy.management.GetCount( in_rows = fc_path ) Print and Assess Geoprocessing tools in ArcPy return a Result object that contains the output(s) from the tool. It is good to have knowledge about […] - [Get your ArcGIS Online Feature Layer OID Field Name with the ArcGIS API for Python](https://learn.finaldraftmapping.com/get-your-arcgis-online-feature-layer-oid-field-name-with-the-arcgis-api-for-python/): Table of Contents The Video Subscribe Introduction The OID field for your feature layer in ArcGIS Online might be called OBJECTID, it could also be OID, FID, or any other name that you have given it. This can make it difficult to create a script to process data that may not have a standard OID field name you expect. With the ArcGIS API for Python we can inspect the JSON for the feature layer and retrieve the objectIdField property value. arcgis modules The API provides access to your organisations ArcGIS Online via the GIS class in the gis module. This GIS class is […] - [Download an Available Survey123 Form from ArcGIS Online using the ArcGIS API for Python and Replicate in Survey123 Connect](https://learn.finaldraftmapping.com/download-an-available-survey123-form-from-arcgis-online-using-the-arcgis-api-for-python-and-replicate-in-survey123-connect/): Table of Contents The Video Subscribe Introduction Quite a simple but powerful workflow. Here, we are going to access an available Form item in ArcGIS Online that is publicly available and download the Survey123 package where we can then open up the Excel file to see how the same Form can be generated using Survey123 Connect. This is very useful if you come across a survey that you like the look and feel of and are wondering how it was created. Perhaps there are some bespoke calculations or how the form displays that you can’t quite figure out how to […] - [ArcGIS Online Feature Layer Feature Count with the ArcGIS API for Python](https://learn.finaldraftmapping.com/arcgis-online-feature-layer-feature-count-with-the-arcgis-api-for-python/): Table of Contents The Video Subscribe Introduction Want to know how many features are in your ArcGIS Online Feature Layer while performing a workflow with the ArcGIS API for Python?  arcgis modules The API provides access to your organisations ArcGIS Online via the GIS class in the gis module. This GIS class is the gateway to ArcGIS Online. We will also utilise the FeatureLayer class that will enable us to get our feature count. ## provides access to ArcGIS Online from arcgis.gis import GIS ## the FeatureLayer class from arcgis.features import FeatureLayer Accessing ArcGIS Online Our first port of call is to access […] - [Enhancing the ArcGIS Pro Definition Query Spatial Clause with ArcPy with a Multi-layer Geometry Filter](https://learn.finaldraftmapping.com/enhancing-the-arcgis-pro-definition-query-spatial-clause-with-arcpy-with-a-multi-layer-geometry-filter/): Table of Contents The Video Subscribe Introduction ArcGIS Pro 3.5 saw the addition of the Spatial Clause functionality for a Definition Query. While limited, it is a very useful addition where we can filter a layers features where they intersect another layer entirely or based on a selection. We are limited to intersects and we ae also limited to one spatial clause per definition query. In this blog post we are going to use ArcPy to overcome this limitation. We will show that we can create a definition query where we filter points based on intersection with a polygon layer, […] - [Backup and Restore an ArcGIS Online Dashboard using the ArcGIS API for Python](https://learn.finaldraftmapping.com/backup-and-restore-an-arcgis-online-dashboard-using-the-arcgis-api-for-python/): Table of Contents The Video Subscribe Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, updating and extracting components of ArcGIS Online such as Dashboards. In this blog post we will focus on using the ArcGIS API for Python to export a Dashboard to configuration files that will act as an archive or backup, and then restore or recreate a Dashboard in ArcGIS Online using the exported files. We will export two files, one that represents […] - [Backup ArcGIS Online WebMap Configurations using the ArcGIS API for Python](https://learn.finaldraftmapping.com/backup-arcgis-online-webmap-configurations-using-the-arcgis-api-for-python/): Table of Contents The Video Subscribe Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, updating and extracting components of ArcGIS Online such as WebMaps. In this blog post we will focus on using the ArcGIS API for Python to export a WebMap to configuration files that will act as an archive or backup. We will export two files, one that represents the WebMap JSON Definition, and another that represents the WebMap Item Settings. We will […] - [Restore an ArcGIS Online WebMap from Configuration Files using the ArcGIS API for Python](https://learn.finaldraftmapping.com/restore-an-arcgis-online-webmap-from-configuration-files-using-the-arcgis-api-for-python/): Table of Contents The Video Subscribe Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, updating and extracting components of ArcGIS Online such as WebMaps. In this blog post we will focus on using the ArcGIS API for Python to create a new WebMap based on JSON configuration files. Check-out the previous blog post Backup ArcGIS Online WebMap Configurations using the ArcGIS API for Python. arcgis modules The API provides access to your organisations ArcGIS Online […] - [Select Points that Intersect Multiple Polygons in ArcGIS Pro with ArcPy](https://learn.finaldraftmapping.com/select-points-that-intersect-multiple-polygons-in-arcgis-pro-with-arcpy/): Table of Contents The Video Subscribe Introduction This problem was posed on Reddit.  “Right now I have map of store locations with a 1 mile buffer around them. Is there a way for me to only select the stores that intersect with 2 or more buffers?” Let’s take a look at a solution using ArcPy. Custom Tool Syntax The syntax for the Select Points that Intersect Multiple Polygons tool is as follows… selectPointsMultipleIntersects( point_fc, polygon_fc, num_or_more ) All parameters are required. The point_fc is a Feature Layer input, the polygon_fc is also a Feature Layer input, and the num_or_more is […] - [Copy an ArcGIS Online Feature Layer from a Feature Service to Another with the ArcGIS API for Python](https://learn.finaldraftmapping.com/copy-an-arcgis-online-feature-layer-from-a-feature-service-to-another-with-the-arcgis-api-for-python/): Table of Contents Video Subscribe Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating Feature Services and Feature Layers in ArcGIS Online. In this post we will take a Feature Layer from one Feature Service and create/copy it in another Feature Service. arcgis modules The API provides access to your organisations ArcGIS Online via the GIS class in the gis module. This GIS class is the gateway to ArcGIS Online. We will also import […] - [SubtypeGroupTable Issue with ArcGIS Online WebMap using the ArcGIS API for Python version 2.4.0](https://learn.finaldraftmapping.com/subtypegrouptable-issue-with-arcgis-online-webmap-using-the-arcgis-api-for-python-version-2-4-0/): Table of Contents Video Subscribe Introduction The ArcGIS API for Python version 2.4.0 came in at ArcGIS pro 3.4 and there were some sweeping changes. Most notably, the removal of the WebMap class for the Map class. The way we interact with the WebMap changed significantly. In order to add or remove layers/tables from the WebMap we now create a Map object and access the content property which is a MapContent object and then we have methods such as add() and remove(). The Issue When you use a method to alter a WebMap, you need to call the update() method […] - [Copy an ArcGIS Online WebMap Popup and Apply to another Layer with the ArcGIS API for Python](https://learn.finaldraftmapping.com/copy-an-arcgis-online-webmap-popup-and-apply-to-another-layer-with-the-arcgis-api-for-python/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating components of ArcGIS Online along with performing analysis tasks. In this blog post we will focus on updating a popup for a layer in a WebMap based on the popup from a layer in another WebMap. arcgis modules The API provides access to your organisations ArcGIS Online via the GIS class in the gis module. This GIS class is the gateway to […] - [Create a new Hosted Feature Service in ArcGIS Online and add a Feature Layer with the ArcGIS API for Python](https://learn.finaldraftmapping.com/create-a-new-hosted-feature-service-in-arcgis-online-and-add-a-feature-layer-with-the-arcgis-api-for-python/): Table of Contents The Video Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating components of ArcGIS Online along with performing analysis tasks. In this blog post we will focus on creating a new Hosted Feature Service and adding a Feature Layer. We will see the minimum viable Feature Layer definition required to add a new Feature Layer to an existing Feature Service. This blog post is also available on the Esri Community site. […] - [Find Centroids (Analysis) in ArcGIS Online without Consuming Credits using the ArcGIS API for Python - Part 1](https://learn.finaldraftmapping.com/find-centroids-analysis-in-arcgis-online-without-consuming-credits-using-the-arcgis-api-for-python-part-1/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating components of ArcGIS Online along with performing analysis tasks. In this post we will focus on the Find Centroids analysis tool and how we can use the ArcGIS API for Python to create a script to perform the same task but without consuming credits. This is Part 1 of a two-part blog. In Part 1 we will assess the code to get […] - [Create a Folder in ArcGIS Server Manager (Portal) with the ArcGIS API for Python](https://learn.finaldraftmapping.com/create-a-folder-in-arcgis-server-manager-portal-with-the-arcgis-api-for-python/): Table of Contents Introduction Today’s blog post is inspired by a question posed on Esri Communities. The question asks how to “Create an arcgis server folder with the python API?”. We often see comments that the documentation for the ArcGIS API for Python can be difficult to follow, so let’s take a look at approaching the answer to this question from using the documentation. The user who posted the question was quite close to achieving their goal with one step missing.  The Code Here we have the code required to complete the task. In the following sections of this blog post […] - [Measuring Geographic Distributions with GeoPandas: Weighted Central Feature](https://learn.finaldraftmapping.com/measuring-geographic-distributions-with-geopandas-weighted-central-feature/): Table of Contents Introduction The Central Feature is the point that is the shortest distance to all other points in the dataset and thus identifies the most centrally located feature. The Weighted Central Feature considers weights when calculating the central feature, where points with higher weights have a larger influence on the result. Sources:The Esri Guide to GIS Analysis, Volume 2: Spatial Measurements and Statistics.An Introduction to Statistical Problem Solving in Geography The Formula For each feature, calculate the distance to all other features and multiply each distance by the assigned weight. Get the sum of all the (distance x weigth). […] - [Measuring Geographic Distributions with GeoPandas: Weighted Mean Center](https://learn.finaldraftmapping.com/measuring-geographic-distributions-with-geopandas-weighted-mean-center/): Table of Contents Introduction The “unweighted” mean center is mainly used for events that occur at a place and time such as burglaries. The weighted center, however, is predominantly used for stationary features such as retail outlets or delineated areas for example (such as Census tracts). The Weighted Mean Center does not take into account distance between features in the dataset. The weight needs to be a numerical attribute. The greater the value, the higher the weight for that feature. Sources:The Esri Guide to GIS Analysis, Volume 2: Spatial Measurements and Statistics.An Introduction to Statistical Problem Solving in Geography The Formula […] - [Measuring Geographic Distributions with GeoPandas: Standard Distance](https://learn.finaldraftmapping.com/measuring-geographic-distributions-with-geopandas-standard-distance/): Table of Contents Introduction The Standard Distance, also know as the Standard Distance Deviation, is the average distance all features vary from the Mean Center and measures the compactness of a distribution. The Standard Distance is a value representing the distance in units from the Mean Center and is usually plotted on a map as a circle for a visual indication of dispersion, the Standard Distance is the radius. The Standard Distance works best in the absence of a strong directional trend. According to Andy Mitchell, if a directional trend is present you are better off using the Standard Deviational Ellipse. You can use the Standard Distance to compare territories between species, which has the wider/broader territory, or […] - [Generate a Projection File (.prj) using Python](https://learn.finaldraftmapping.com/generate-a-projection-file-prj-using-python/): Table of Contents Introduction A .prj file contains the coordinate system information for a dataset and is required for ‘on the fly’ projection by GIS software. The file itself is a text file containing information in Well Known Text (WKT) format. The code snippet here shows you how to generate a .prj file, using Python, for your data if the .prj file is missing. You will need to know what coordinate system the data is in and the EPSG code. For example, to find the EPSG code for WGS84 use a search engine and search for EPSG WGS84. The first site returned is usually http://spatialreference.org/. The EPSG code […] - [Convert Decimal-Degrees (DD) to Degrees-Minutes-Seconds (DMS) with Python](https://learn.finaldraftmapping.com/convert-decimal-degrees-dd-to-degrees-minutes-seconds-dms-with-python/): Table of Contents Introduction In this blog post we will present a function to convert from decimal degrees (dd) to degree-minutes-seconds (dms) using Python Programming. This conversion can come in handy when you need dms for report writing for example. Using Python to Convert from Decimal Degrees to Degrees-Minutes-Seconds The code below uses the math module from the Standard Python Library to convert from dd to dms. import math def dd2dms(longitude, latitude): ## math.modf() splits whole number and decimal into tuple ## eg 53.3478 becomes (0.3478, 53) split_degx = math.modf(longitude) ## the whole number [index 1] is the degrees degrees_x […] - [Measuring Geographic Distributions with GeoPandas: Median Center](https://learn.finaldraftmapping.com/measuring-geographic-distributions-with-geopandas-median-center/): Table of Contents Introduction Also known as the Center of Minimum Distance, the Median Center is a location that is the shortest total distance to all features in the study area (not to be confused with the Central Feature, which is the feature that is the shortest distance to all others). It can be used to find a suitable location for something that needs to be centrally located. The Median Center will gravitate towards an area with the most features. The Median Center is good for finding the most accessible location. Sources:The Esri Guide to GIS Analysis, Volume 2: Spatial Measurements and Statistics.An Introduction to Statistical Problem Solving […] - [Measuring Geographic Distributions with GeoPandas: Central Feature](https://learn.finaldraftmapping.com/measuring-geographic-distributions-central-feature/): Table of Contents Introduction The Central Feature is the point that is the shortest distance to all other points in the dataset and thus identifies the most centrally located feature. The Central Feature can be used to find the most accessible feature, for example, the most accessible school to hold a training day for teachers from schools in a given area. Sources:The Esri Guide to GIS Analysis, Volume 2: Spatial Measurements and Statistics.An Introduction to Statistical Problem Solving in Geography The Formula For each feature calculate the total distance to all other features. The feature that has the shortest total distance is the Central Feature. […] - [Buffer Points in ArcGIS Online and Append into a Polygon Feature Layer using the ArcGIS API for Python](https://learn.finaldraftmapping.com/buffer-points-in-arcgis-online-and-append-into-a-polygon-feature-layer-using-the-arcgis-api-for-python/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating components of ArcGIS Online including data and attribute updates. In this post we will focus on updating a Polygon Feature Layer based on buffering points from another Feature Layer. This blog post took its inspiration from an Esri Community question posed by username ChristopherCounsell which you can find here. arcgis modules The API provides access to your organisations ArcGIS Online via the […] - [Split polylines into segments of equal lengths using ArcPy](https://learn.finaldraftmapping.com/split-polylines-into-segments-of-equal-lengths-using-arcpy/): Table of Contents The Video Subscribe Introduction As of writing this blog post there is not neat ArcPy function to segment a polyline into equal line segments. You could use the Generate Points Along Lines tool followed by the Split Line at Point tool, but alas, the latter is only available on an Advanced license. You could of course use our Split Line at Point tool using ArcPy on a Basic license to overcome this. But let’s take a look how to create the workflow as a standalone tool in its own right! Import the ArcPy module ArcPy is a […] - [Sequentially Increment Numbered Values in ArcGIS Online with the ArcGIS API for Python](https://learn.finaldraftmapping.com/sequentially-increment-numbered-values-in-arcgis-online-with-the-arcgis-api-for-python/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating components of ArcGIS Online including data and attribute updates. In this post we will focus on updating a text field that should contain unique IDs and increment the number component of the ID by one for each record in the table. arcgis modules The API provides access to your organisations ArcGIS Online via the GIS class in the gis module. This GIS class is the […] - [GeoPandas, The difference a Spatial Index Makes!](https://learn.finaldraftmapping.com/geopandas-the-difference-a-spatial-index-makes/): Table of Contents Introduction I was recreating the ArcPy Feature Vertices to Points tool using GeoPandas and Shapely and I was unimpressed with the length of time it took to perform against its ArcPy counterpart when it came to processing dangles. However, that was until I applied a spatial index to the workflow, which rapidly sped up matters. Rapidly being an understatement! Generating a spatial index with Geopandas sindex uses the rtree method. Apparently quad-tree is faster but I’m very impressed with the results here. Dangles Without the Spatial Index This took 6 minutes and 8 seconds to complete on a dataset that contained 97 records […] - [Measuring Geographic Distributions with GeoPandas: Mean Center](https://learn.finaldraftmapping.com/measuring-geographic-distributions-with-geopandas-mean-center/): Table of Contents Introduction The Mean Center is the average X coordinate and Y coordinate for all features in a study area and is the simplest descriptor of a geographic distribution. The Mean Center is generally used to track the changes in a features distribution over time and can also be used to compare the distribution of multiple features. The Mean Center is also known as the Geographic Center or Center of Concentration for a set of features. You would calculate the Mean Center for features where there is no travel interaction between the Center and the features of the study. Basically, use it for a study where each event that happens is […] - [Fix Transect Line Geometries to Exact Dimensions – A Spatial Thoughts Challenge](https://learn.finaldraftmapping.com/fix-transect-line-geometries-to-exact-dimensions-a-spatial-thoughts-challenge/): Table of Contents Introduction Spatial Thoughts on LinkedIn posted the following challenge…Can you take a dataset of a river centerline and varying lengths of line transects and make them exactly the same length? using any tool or platform of choice. This post uses ArcPy with ArcGIS Pro and can be used with a Basic license. Here is a link to the posting in LinkedIn. Import the ArcPy module ArcPy is a Python site package that enables automation, analysis, and management of geographic data within the ArcGIS software environment. Import math from the standard Python library to help with some calculations. import arcpy import […] - [Export ArcGIS Online Feature Layer to Feature Class Without Attachments using the ArcGIS API for Python](https://learn.finaldraftmapping.com/export-arcgis-online-feature-layer-to-feature-class-without-attachments-using-the-arcgis-api-for-python/): Table of Contents Introduction Today’s blog post is inspired by a question posed on Esri Communities. The question asks how to export hosted feature layers using only the ArcGIS API for Python, and specifically states not to use ArcPy. The usual method to extract data from ArcGIS Online is to export an item (a feature service) to a file geodatabase, that sits as a file geodatabase content item in ArcGIS Online, and then export that file geodatabase item to disk. The problem with this workflow is that there are no options to omit attachments, so if attachments are enabled for a […] - [Zoom to Extent in ArcGIS Pro with ArcPy: What you need to know!](https://learn.finaldraftmapping.com/zoom-to-extent-in-arcgis-pro-with-arcpy-what-you-need-to-know/): Table of Contents Introduction In this blog post we will assess using ArcPy to zoom to a layer or a selection for a MapFrame in a Layout view, and a Map view We are using ArcGIS Pro 3.2 Zoom to Layer in a Layout MapFrame For this example, we have one layer called Ireland & UK, a layout named Map Layout, with a MapFrame named Main MapFrame, and our Map view is also named Ireland & UK. We can see that the map is zoomed out and we want to zoom in to the entire layer. From the Analysis tab > press the dropdown arrow beside Python > select Python Windo The Python Interpreter window […] - [Create a new Feature Layer in an ArcGIS Online Hosted Feature Service from a Feature Set using the ArcGIS API for Python](https://learn.finaldraftmapping.com/create-a-new-feature-layer-in-an-arcgis-online-hosted-feature-service-from-a-feature-set-using-the-arcgis-api-for-python/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating components of ArcGIS Online such as Feature Layers within a Feature Service. In this blog post we will focus on using the ArcGIS API for Python to query a subset of records from a Feature Layer in one Feature Service, and create a new Feature Layer in another Feature Service containing the subset of records. arcgis modules The API provides access to […] - [Delete a Feature Layer from a Feature Service in ArcGIS Online using the ArcGIS API for Python](https://learn.finaldraftmapping.com/delete-a-feature-layer-from-a-feature-service-in-arcgis-online-using-the-arcgis-api-for-python/): Table of Contents The Video Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating components of ArcGIS Online such as Feature Layers within a Feature Service. In this blog post we will focus on using the ArcGIS API for Python to delete a Feature Layer from within a Feature Service. NOTE: Always be careful when performing any delete functions, especially when deleting a Feature Layer. A Feature Layer does not get sent to the […] - [Using ArcPy to check which ArcGIS Pro Extensions are available for use](https://learn.finaldraftmapping.com/using-arcpy-to-check-which-arcgis-pro-extensions-are-available-for-use/): Table of Contents Introduction As of writing this blog post there is not neat ArcPy function to list all the ArcGIS Pro extensions available for a user, if I have completely missed it please point me in the right direction as I have put it up as an idea on the Esri Community forum. Import the ArcPy module ArcPy is a Python site package that enables automation, analysis, and management of geographic data within the ArcGIS software environment. import arcpy Build the extensions code dictionary The CheckExtensions() ArcPy function documentation contains a list of extensions available. We use the information […] - [Get the ArcGIS Pro Version and the License in-use using ArcPy](https://learn.finaldraftmapping.com/get-the-arcgis-pro-version-and-the-license-in-use-using-arcpy/): Table of Contents Introduction A nice little code snippet that will allow you to access the version of ArcGIS Pro running the code and the license level in use. These are often required when you know some of your code will not run with certain versions or without a certain level of license. Import the ArcPy module ArcPy is a Python site package that enables automation, analysis, and management of geographic data within the ArcGIS software environment.  import arcpy Get the GetInstallInfo() dictionary The GetInstallInfo() ArcPy function returns a dictionary containing the “Version” of ArcGIS Pro installed, and the current […] - [Get a List of Unique Attribute Values for a Field using ArcPy](https://learn.finaldraftmapping.com/get-a-list-of-unique-attribute-values-for-a-field-using-arcpy/): Table of Contents Introduction A common task is to get a list of unique attribute values for a field in a feature class or table either for a report or for continuing a a workflow with ArcPy. In this blog post we will look at two alternate ways to use the Search Cursor to return a list of unique values.  Import the ArcPy module ArcPy is a Python site package that enables automation, analysis, and management of geographic data within the ArcGIS software environment.  import arcpy Required input We need the feature class (or table) filepath along with the name […] - [Turn a Group Layer from a WebMap in ArcGIS Online into a Group Layer Item using the ArcGIS API for Python](https://learn.finaldraftmapping.com/turn-a-group-layer-from-a-webmap-in-arcgis-online-into-a-group-layer-item-using-the-arcgis-api-for-python/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating webmaps and feature layers in ArcGIS Online. In this post we will focus on extracting a Group Layer from a WebMap and saving it as a Group Layer item. For this example, I have a WebMap that contains a Group Layer called “Base Layers” as shown below. This Group layer contains Feature Layers across two different Feature Services. The goal is to […] - [Enable and set Feature Layer search capabilities in an ArcGIS Online WebMap using the ArcGIS API for Python](https://learn.finaldraftmapping.com/enable-and-set-feature-layer-search-capabilities-in-an-arcgis-online-webmap-using-the-arcgis-api-for-python/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating components of ArcGIS Online such as WebMap functionality. In this post we will focus on adding Feature Layer search capabilities within the WebMap using teh ArcGIS API for Python. arcgis modules The API provides access to your organisations ArcGIS Online via the GIS class in the gis module. This GIS class is the gateway to ArcGIS Online. We will need to import the WebMap class to create a WebMap object. […] - [Using ArcPy to Allow Assignment of Unique Numeric IDs for Sharing Web Layers in ArcGIS Pro](https://learn.finaldraftmapping.com/using-arcpy-to-allow-assignment-of-unique-numeric-ids-for-sharing-web-layers-in-arcgis-pro/): Table of Contents Introduction The Cartographic Information Model (CIM) is a map content specification for cartographic descriptions of GIS datasets and Project components in ArcGIS Pro. Essentially, it is the JSON that represents specifications for maps, scenes, layouts, layers, symbols, and styles in ArcGIS Pro. The best way to view these JSON specification is to save an element to a .*x file format such as .lyrx or .mapx, and then open the file in a viewer such as Notepad or Notepad++. It is necessary to open these files and get an understanding of the structure of the JSON in these files […] - [Publish a Hosted Feature Service to ArcGIS Online from ArcGIS Pro using ArcPy](https://learn.finaldraftmapping.com/publish-a-hosted-feature-service-to-arcgis-online-from-arcgis-pro-using-arcpy/): Table of Contents The Video Introduction In this post we will provide the code to use ArcPy to access an APRX, select a Map, and publish the layer contents of that Map to ArcGIS Online as a Hosted Feature Service. Import the ArcPy module ArcPy is a Python site package that enables automation, analysis, and management of geographic data within the ArcGIS software environment. Import os from the standard Python library to help with some filepaths. import arcpy import os Define the inputs We need a handful of user inputs to define the filepath to the APRX, the name of […] - [Add Google Street View Link to a Popup in ArcGIS Online with the ArcGIS API for Python](https://learn.finaldraftmapping.com/add-google-street-view-link-to-a-popup-in-arcgis-online-with-the-arcgis-api-for-python/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating components of ArcGIS Online such as WebMap layers. In this post we will focus on manipulating the Popups for a point feature layer in a WebMap and add a field to the Popup that opens up a new browser window in Google Street View at that point location (if Street View is available at that location). The workflow below is advanced in […] - [ArcGIS API for Python - WebMap Object versus Item Object](https://learn.finaldraftmapping.com/arcgis-api-for-python-webmap-object-versus-item-object/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating webmaps and feature layers in ArcGIS Online. In this post we focus on the difference between an Item object that represents a WebMap and a WebMap object instantiated from the WebMap class. The differentiation is important as they represent two different aspects of the WebMap type in ArcGIS Online. The Item object is basically the shell, the information that you see on […] - [Course: ArcPy for Data Management and Geoprocessing with ArcGIS Pro 3.X](https://learn.finaldraftmapping.com/course-arcpy-for-data-management-and-geoprocessing-with-arcgis-pro-3-x/): Table of Contents Students Enrolled Course Duration 10 Hours + Course Category ArcPy Course Level Beginner Course Price Go to course Course Introduction ArcPy is a fantastic ally for all your daily ArcGIS Pro tasks. This course will initially focus on using ArcPy for data management. Data management is often one of the most overlooked aspects of GIS and unfortunately can be the difference between a good GIS and a bad one. Good data practices open up the door for even better automation. Proper data management facilitates smoother automation with geoprocessing tools. Geoprocessing with ArcPy, and the chaining of geoprocessing […] - [Course: ArcGIS Pro Definition Query Masterclass with ArcPy and Python](https://learn.finaldraftmapping.com/course-arcgis-pro-definition-query-masterclass-with-arcpy-and-python/): Table of Contents Free on YouTube Course Introduction Unlock the power of Definition Queries in ArcGIS Pro through this comprehensive course that dives deep into the intricacies of managing and utilizing definition queries with spatial data using ArcPy and Python scripting. Definition Queries provide a dynamic way to filter and display specific subsets of your data, enabling you to create more insightful maps and analyses. In this course, we will focus exclusively on Definition Queries, covering their creation, modification, and application through hands-on exercises and real-world scenarios. Course Details Are you a GIS Professional seeking to enhance their ArcGIS Pro […] - [Course: ArcGIS Online Content Management with the ArcGIS API for Python](https://learn.finaldraftmapping.com/course-arcgis-online-content-management-with-the-arcgis-api-for-python/): Table of Contents Students Enrolled Course Duration 7.5 Hours + Course Category ArcGIS API for Python Course Level Beginner – Intermediate Course Price Go to course Course Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically enhancing efficiencies with content management within your organisation. This comprehensive course not only serves as an in-depth dive into content management with the ArcGIS API for Python but is also an introductory course in nature to get you familiar with utilising the […] - [List All ArcGIS Online Groups an Item is Shared with using the ArcGIS API for Python](https://learn.finaldraftmapping.com/list-all-arcgis-online-groups-an-item-is-shared-with-using-the-arcgis-api-for-python/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and administering content in ArcGIS Online. Groups play a vital role with how content is shared within an Organisation. It can be difficult to keep track of which Item is shared with what Groups. Thankfully, the ArcGIS API for Python has neat functionality to get that information for you. arcgis modules The API provides access to your organisations ArcGIS Online via the GIS class […] - [The ItemProperties Class with the ArcGIS API for Python for ArcGIS Online or Portal](https://learn.finaldraftmapping.com/the-itemproperties-class-with-the-arcgis-api-for-python-for-arcgis-online-or-portal/): Table of Contents Introduction The ArcGIS API for Python as of version 2.1.0.3 added Dataclasses for adding and updating items. These were ItemProperties, CreateServiceParameter, SpatialFilter, and ViewLayerDefParameter. In this post we will assess the ItemProperties class. The item_properties dictionary The usual way to use item properties is to create a dictionary of key-value pairs. add() and update() methods that utilise an item_properties parameter would accept this dictionary, and set object properties such as title, item type, summary, description, and tags for examples. The ContentManager add() method is an instance of this scenario. As of creating this post (25/07/2024), the documentation […] - [Polygon to Line (Data Management) on a Basic License with ArcPy](https://learn.finaldraftmapping.com/polygon-to-line-data-management-on-a-basic-license-with-arcpy/): Table of Contents Introduction The Polygon to Line (Data Management) tool is only available in ArcGIS Pro with an Advanced license. You can check out the Esri documentation for this tool here. For now, we will omit the optional identifying neighbouring information and will revisit in the future. A little about this tool; for each input polygon, the boundary will be written out as an enclosed linear feature. A multipart polygon will become a multipart linear feature in the output feature class. The attributes of the input polygon features will be maintained and transferred to the output feature class with a […] - [Sorting Records in ArcGIS Pro Using Multiple Fields with a Basic License](https://learn.finaldraftmapping.com/sorting-records-in-arcgis-pro-using-multiple-fields-with-a-basic-license/): Table of Contents Introduction The most common approach to creating a Feature Class or Table sorted by a particular field(s) is using the Sort tool in the Data Management toolbox. If you read the documentation for this tool you can see a note that sorting by multiple fields is only available with an Advanced license. If you only had access to a Basic or Standard license there was a struggle to create a Feature Class or Table with the desired multiple field sorting. This frustration went all the way up to ArcGIS Pro 2.9. However, as of ArcGIS Pro 3.0 the Export Features and Export Table tools in the Conversion toolbox come with an optional parameter named sort_field that enables the user to sort based on multiple fields. […] - [Sort (Data Management) on a Basic License with ArcPy](https://learn.finaldraftmapping.com/sort-data-management-on-a-basic-license-with-arcpy/): Table of Contents Introduction The Sort (Data Management) tool has limited functionality on a Basic and Standard licence, you can only sort by one field and cannot use a spatial sort. We saw in this blog post how we can use the Export Features (Conversion) tool to sort a feature class or table by multiple fields, unfortunately that Export tool does not sort spatially, and that’s where Final Draft Mapping comes in to help. In this post we are going to re-create the Sort tool for use with a Basic license. You can check out the Esri documentation for the Sort tool here. […] - [Create Chainage Ticks Along a Line Using ArcPy and ArcGIS Pro](https://learn.finaldraftmapping.com/create-chainage-ticks-along-a-line-using-arcpy-and-arcgis-pro/): Table of Contents Introduction This became a pet project of mine back in 2017 where I first implemented using open source geospatial Python modules, osgeo and shapely. I then converted the workflow to ArcPy before Esri had brought out the Generate Points Along Lines tool. This third iteration of the workflow uses the Generate Points Along Lines tool to reduce the necessary lines of code. You can check out the Esri documentation for the Generate Points Along Lines tool here. Our goal here is to create transects across linear features at specified distances. Chainage values are often required for linear infrastructure projects. The image […] - [Feature Envelope to Polygon (Data Management) on a Basic Licence with ArcPy](https://learn.finaldraftmapping.com/feature-envelope-to-polygon-data-management-on-a-basic-licence-with-arcpy/): Table of Contents Introduction Not the most fanciest of tools but another one none-the-less that you can by-pass the Advanced license requirement and create your own tool using ArcPy. The Feature Envelope To Polygon (Data Management) is only available in ArcGIS Pro with an Advanced license. You can achieve quite similar to this tool using the Minimum Bounding Geometry (Data Management) that is available with a Basic license. Check out the Esri documentation for the Feature Envelope To Polygon tool here, and the Minimum Bounding Geometry tool here. With the latter you cannot choose to build envelopes per multipart like […] - [Extend the Functionality of the Table to Excel tool in ArcGIS Pro with ArcPy](https://learn.finaldraftmapping.com/extend-the-functionality-of-the-table-to-excel-tool-in-arcgis-pro-with-arcpy/): Table of Contents Introduction The Table to Excel tool from the Conversion toolbox is a stalwart amongst Geoprocessing tools but it does have its limitations, namely; you cannot subset the records directly with the tool itself, you cannot subset the columns to be exported and the order that you want them in the spreadsheet, and you cannot sort the output by a column(s) in ascending or descending order. Today, we are going to look at extending the functionality of the Table to Excel tool to overcome the limitations listed above. You can check out the Esri documentation for the Table to Excel tool here. Custom Tool Syntax The syntax […] - [Discuss the Differences Between Geographical Information Systems and Geographical Information Science](https://learn.finaldraftmapping.com/discuss-the-differences-between-geographical-information-systems-and-geographical-information-science/): Table of Contents Introduction I was digging through some material from my MSc in Geocomputation from Maynooth University and came across this exam question. The MSc was fantastic. We had access to the brains of Chris Brunsdon the late Martin Charlton, two of the three people (Stewart Fotheringham, another stalwart in geospatial statistics was the third) that gave us Geographically Weighted Regression. Anyway, you can read my answer from 2015 below, haven’t update or changed a word. Defining GIS and GISci First, let’s set a definition for both Geographical Information Systems (GIS) and Geographical Information Science (GISci) and then delve […] - [Geographic Coordinate Systems Explained](https://learn.finaldraftmapping.com/geographic-coordinate-systems-explained/): Table of Contents Introduction On many occasion I have been handed a file containing geographic coordinates (csv, txt, etc.) to convert to point geometry and view in a GIS and when I plot them they appear anywhere else besides where I expect they should be on the earth. The problem starts with the way the x,y coordinates are perceived. We usually say lat/long coordinates and automatically associate the latitude value with x and the longitude value with y, when in reality it is the other way around. Many GIS software systems ask you to associate a field with the x and y to […] - [Ungroup ArcGIS Online WebMap Layers from a Group Layer using the ArcGIS API for Python](https://learn.finaldraftmapping.com/ungroup-arcgis-online-webmap-layers-from-a-group-layer-using-the-arcgis-api-for-python/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating webmaps and feature layers in ArcGIS Online. In this post we will focus on updating a webmap by altering the definition to ungroup layers and remove the group layer from the WebMap. As of writing this post, there is no neat method for ungrouping a group layer, although I have it under good authority that this functionality is being added to the […] - [Ungroup a Single ArcGIS Online WebMap Layer from a Group Layer using the ArcGIS API for Python](https://learn.finaldraftmapping.com/ungroup-a-single-arcgis-online-webmap-layer-from-a-group-layer-using-the-arcgis-api-for-python/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating webmaps and feature layers in ArcGIS Online. In this post we will focus on removing a single layer from a group layer. As of writing this post, there is no neat method for achieving this, but you can utilise components of the ArcGIS API for Python to achieve the desired result. For this example, I am going to remove the Special Protected […] - [Group ArcGIS Online WebMap Layers using the ArcGIS API for Python](https://learn.finaldraftmapping.com/group-arcgis-online-webmap-layers-using-the-arcgis-api-for-python/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating webmaps and feature layers in ArcGIS Online. In this post we will focus on updating a webmap by creating a group layer from existing layers. As of writing this post, there is no neat method for creating group layers, although I have it under good authority that this functionality is being added to the API before the end of 2024. For this […] - [Reorder ArcGIS Online WebMap Layers with the ArcGIS API for Python and a Custom ArcGIS Pro Tool](https://learn.finaldraftmapping.com/reorder-arcgis-online-webmap-layers-with-the-arcgis-api-for-python-and-a-custom-arcgis-pro-tool/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating webmaps and feature layers in ArcGIS Online. In this post we will focus on updating a webmap by altering the order of layers. While the main workflow is with the ArcGIS API for Python, we will use a sprinkle of ArcPy for the tool input parameters and create a custom tool within ArcGIS Pro to perform the reordering.   arcgis modules The API […] - [Get All Content Item Tags in ArcGIS Online using the ArcGIS API for Python](https://learn.finaldraftmapping.com/get-all-content-item-tags-in-arcgis-online-using-the-arcgis-api-for-python/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating components of ArcGIS Online such as content items. In this post we will use the ArcGIS API for Python to retrieve a list of all content item tags used within the Organisation. Tags in ArcGIS Online are keywords that users can associate with their items, such as maps, apps, feature services, and other resources. These tags help organise and categorise content, making […] - [Read and Write to a CSV Content Item in ArcGIS Online using the ArcGIS API for Python](https://learn.finaldraftmapping.com/read-and-write-to-a-csv-content-item-in-arcgis-online-using-the-arcgis-api-for-python/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating components of ArcGIS Online such as content items. In this post we will use the ArcGIS API for Python to update/edit a CSV content item directly in ArcGIS Online without having to download the CSV file to disk first and re-upload. In our previous blog post we looked at creating a CSV content item directly in ArcGIS Online, this is a follow-up. […] - [Create a CSV Content Item Directly in ArcGIS Online using the ArcGIS API for Python](https://learn.finaldraftmapping.com/create-a-csv-content-item-directly-in-arcgis-online-using-the-arcgis-api-for-python/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating components of ArcGIS Online such as content items. In this post we will use the ArcGIS API for Python to create a CSV content item directly in ArcGIS Online without having to created the CSV file on disk first and uploading. ArcGIS API for Python Training ArcGIS Online Content Management with the ArcGIS API for Python Unlock the full potential of ArcGIS […] - [Adding Delete Protection for ArcGIS Online Content Items with the ArcGIS API for Python](https://learn.finaldraftmapping.com/adding-delete-protection-for-arcgis-online-content-items-with-the-arcgis-api-for-python/): Table of Contents The Video Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, updating, and administering components of ArcGIS Online such as content item capabilities and settings. In this post we will assess protecting your content items to prevent accidental deletion. This is especially important when you are programmatically performing deletions because there will be no “are your sure?” prompt.   arcgis modules The API provides access to your organisations ArcGIS Online via the GIS class […] - [Delete Records in ArcGIS Pro with Identical Geometries based on OID with ArcPy](https://learn.finaldraftmapping.com/delete-records-in-arcgis-pro-with-identical-geometries-based-on-oid-with-arcpy/): Table of Contents Introduction Every week I put time towards answering questions on three main platforms; GIS StackExchange, Esri Communities, and Reddit. I go under the alias Clubdebambos on each of them. This week I helped g3odood on Reddit who was looking to remove duplicate records based on geometry, but needed to keep the records from the duplicate groups that had the lowest OID, while maintaining attributes from the original table. There is currently no out-of-box tool to achieve this. In the end, it was a mixture of ArcPy tools and functions mixed with some basic Python to create the custom tool that enables a user to […] - [Assessing the Categories Schema for ArcGIS Online with the ArcGIS API for Python](https://learn.finaldraftmapping.com/assessing-the-categories-schema-for-arcgis-online-with-the-arcgis-api-for-python/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating components of ArcGIS Online such as content item category schemas. Creating an Item Categories Schema with the ArcGIS API for Python (API) can be somewhat difficult to get your head around, hopefully this blog post will help with simplifying the process. In a nutshell, an Item Categories Schema enables an organization to categorize their items thematically. There can be 3 levels to a Category; the main category, a sub-category of the […] - [The 5 Fundamental ArcPy Foundations You Need to Know!](https://learn.finaldraftmapping.com/the-5-fundamental-arcpy-foundations-you-need-to-know/): Table of Contents Introduction I remember being thrown into the deep end when it came to using ArcPy. The manual tasks were racking up, the human errors in a long-winded workflow were being compounded by fatigue, and let me tell you, it took about 60-90 hours to complete one of the workflows, waiting for the output from one geoprocessing tool to feed into the next over and over again. I eventually whittled those 60+ hours down to 3 hours using ArcPy. It wasn’t an overnight success type of thing, the process was to take parts that were easy to script […] - [Turn On/Off ArcGIS Online WebMap Layer Labels with the ArcGIS API for Python](https://learn.finaldraftmapping.com/turn-on-off-arcgis-online-webmap-layer-labels-with-the-arcgis-api-for-python/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating webmaps and feature layers in ArcGIS Online. In this post we will focus on updating a webmap layer and turning labels off and on! In the video below we have a layer called County Boundaries that have the county names as lables turned on. We will use the ArcGIS API for Python to turn the labels off and back on again. Please […] - [Query ArcGIS Online Point Features in a WebMap based on a Polygon Feature using the ArcGIS API for Python](https://learn.finaldraftmapping.com/query-arcgis-online-point-features-in-a-webmap-based-on-a-polygon-feature-using-the-arcgis-api-for-python/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating webmaps and feature layers in ArcGIS Online. In this post we will focus on updating a webmap by adding in a layer based on a selection! We will get our selected features (points) from an intersection with a polygon from another layer.  arcgis modules The API provides access to your organisations ArcGIS Online via the GIS class in the gis module. This […] - [Polygon-Polygon Overlap Percentage in ArcGIS Pro with Pairwise Intersect and ArcPy](https://learn.finaldraftmapping.com/polygon-polygon-overlap-percentage-in-arcgis-pro-with-pairwise-intersect-and-arcpy/): Table of Contents Introduction A common task is to calculate the percentage overlap between a polygon feature class overlaying another polygon feature class. One general workflow is to use the (Pairwise) Intersect tool with the Join Attributes parameter set to Only feature IDs, add a field to store the percentage overlap attributes, join the underlay polygons to the output based on Feature IDs, and then use Field Calculator and divide the Shape_Area for the Intersect output by the Shape_Area from the original underlay polygon. Simple stuff really but manually time consuming if you need to perform routinely. Let’s enhance using ArcPy and the Pairwise Intersect tool for ArcGIS Pro to achieve the output from the workflow described […] - [Add/Update Feature Layer Filter in ArcGIS Online with the ArcGIS API for Python](https://learn.finaldraftmapping.com/add-update-feature-layer-filter-in-arcgis-online-with-the-arcgis-api-for-python/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating webmaps and feature layers in ArcGIS Online. In this post we will focus on updating a filter in a webmap layer!  arcgis modules The API provides access to your organisations ArcGIS Online via the GIS class in the gis module. This GIS class is the gateway to ArcGIS Online. We will need to import the WebMap class to create a WebMap object. […] - [How to use Custom Tools in a Python Script with ArcPy](https://learn.finaldraftmapping.com/how-to-use-custom-tools-in-a-python-script-with-arcpy/): Table of Contents Introduction If you head over to the this page you will find a couple of custom toolboxes that we have been creating. These are great, you can access via ArcGIS Pro and use to perform their intended tasks. But what if you want to add these to chained workflows in a Python script? There’s a very simple way to do that. Toolbox Alias Accessing tools with ArcPy requires a toolbox alias. You can manually add one or you can use one on the fly when scripting. Let’s first look adding manually. We will use the Advanced Tool with a Basic […] - [Update Split/Merge Policy for a Domain in an ArcGIS Online Hosted Feature Service with the ArcGIS API for Python](https://learn.finaldraftmapping.com/update-split-merge-policy-for-a-domain-in-an-arcgis-online-hosted-feature-service-with-the-arcgis-api-for-python/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating hosted feature services in ArcGIS Online. You may come across a couple of scenarios…1. You have published a hosted feature service to ArcGIS Online (AGOL) with domains and the dataset has matured with edits. You do not want unshare, export, download, and republish to overwrite the feature service but you need to update the split/merge policy to make edits easier and to […] - [Sequentially Increment Numbered Values in ArcGIS Pro with ArcPy](https://learn.finaldraftmapping.com/sequentially-increment-numbered-values-in-arcgis-pro-with-arcpy/): Table of Contents Introduction Many years ago I came across the How to Create Sequential Numbers in a Field in ArcMap using Python in the Field Calculator from Esri Technical Support and I have used this as the basis for more complex numbering throughout the years for various different projects. Our workflow for this blog post will use a tailored code block based on the code block from original article, and add some extra functionality so we can see how ArcPy can be employed to rapidly assign a custom incremented ID attribute to a feature class or table. We will offer the […] - [Add Layer/Table Definition Query in ArcGIS Pro Based on Selection with ArcPy](https://learn.finaldraftmapping.com/add-layer-table-definition-query-in-arcgis-pro-based-on-selection-with-arcpy/): Table of Contents Introduction You have made a selection based on attributes or location in ArcGIS Pro (or via a script or tool) and you want to set a definition query that only shows the selected records. Let’s walk through making that tool in ArcGIS Pro with ArcPy Custom Tool Syntax The syntax for the Definition Query from Selection tool is as follows… defQueryFromSelection( in_table, fld, {delete_dq} ) The in_table parameter represents the layer or table in ArcGIS Pro. fld is the field to base the definition query on, and delete_dq is optional and will delete any previous definition queries for the in_table. Import […] - [Updating Single Symbology in ArcGIS Pro with Python CIM Access](https://learn.finaldraftmapping.com/updating-single-symbology-in-arcgis-pro-with-python-cim-access/): Table of Contents Introduction The Cartographic Information Model (CIM) is a map content specification for cartographic descriptions of GIS datasets and Project components in ArcGIS Pro. Essentially, it is the JSON that represents specifications for maps, scenes, layouts, layers, symbols, and styles in ArcGIS Pro. The best way to view these JSON specification is to save an element to a .*x file format such as .lyrx or .mapx, and then open the file in a viewer such as Notepad or Notepad++. It is necessary to open these files and get an understanding of the structure of the JSON in these files […] - [Split Line at Point (Data Management) on a Basic License with ArcPy](https://learn.finaldraftmapping.com/split-line-at-point-data-management-on-a-basic-license-with-arcpy/): Table of Contents Introduction This one re-uses plenty of lines of code from the Split Line at Vertices tool. The Split Line at Point (Data Management) geoprocessing tool is only available in ArcGIS Pro with an Advanced license. Here’s how you can use ArcPy to achieve a similar output (if not the exact same for this one!). Check out the Esri documentation for more information on the tool here. This workflow was created using ArcGIS Pro 3.2.2. Syntax The syntax for the Split Line at Point tool is as follows with three required parameters; in_features, point_features, and out_feature_class, and one optional parameter; search_radius. […] - [Feature Vertices to Points (Data Management) on a Basic License with ArcPy](https://learn.finaldraftmapping.com/feature-vertices-to-points-data-management-on-a-basic-license/): Table of Contents Introduction This was a fun and challenging one to do! The Feature Vertices to Points (Data Management) geoprocessing tool is only available in ArcGIS Pro with an Advanced license. Here’s how you can use ArcPy to achieve a similar output. Check out the Esri documentation for more information on the tool here. This workflow was created using ArcGIS Pro 3.2.2.  Syntax The syntax for the Feature Vertices to Points tool is as follows with two required parameters; in_features and out_feature_class, and one optional parameter; point_location. arcpy.management.FeatureVerticesToPoints( in_features, out_feature_class, {point_location} ) Import the ArcPy module ArcPy is a […] - [Update ArcGIS Online WebMap Extent Based on Feature Geometry with the ArcGIS API for Python](https://learn.finaldraftmapping.com/update-arcgis-online-webmap-extent-based-on-feature-geometry-with-the-arcgis-api-for-python/): Table of Contents The Video Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating webmaps in ArcGIS Online. If you have ever had to reset the extent of a WebMap after it has been let out in the wild for a while, then this workflow is for you. Here, we will focus in updating the extent for one WebMap, but you could certainly iterate through as many as required and update each extent individually […] - [Create Line from Point to Nearest Point on a Line in ArcGIS Pro with ArcPy](https://learn.finaldraftmapping.com/create-line-from-point-to-nearest-point-on-a-line-in-arcgis-pro-with-arcpy/): Table of Contents The Video Subscribe Introduction A common workflow is to create a line from each point in a point dataset to the nearest corresponding point on a linear dataset.   Custom Tool Syntax The syntax for the Create Random Points tool is as follows… createLineFromPointToNearestLine( pt_features, ln_features, {max_distance}, {create_new_fc}, {out_feature_class} ) We’re going to take a different direction from the Create Random Points syntax and use three required parameters; in_features, the features you wish to generate random points for, these can be Point, Polyline, or Polygon; out_feature_class, the output Point feature class to create containing the random points; and number_of_points, the number of points […] - [Create Random Points (Data Management) on a Basic License with ArcPy](https://learn.finaldraftmapping.com/create-random-points-data-management-on-a-basic-license-with-arcpy/): Table of Contents Introduction The Create Random Points (Data Management) tool is available with an Advanced license or on a Basic or Standard license if you have 3D Analyst or Spatial Analyst. In this post we will look at creating the tool for use with a Basic license. We’ll keep it simple for now and just generate the desired amount of points per feature. Check out the Esri documentation for the Create Random Points tool. This workflow was created using ArcGIS Pro 3.2.2.  Syntax The syntax for the Create Random Points tool is as follows… arcpy.management.CreateRandomPoints( out_path, out_name, {constraining_feature_class}, {constraining_extent}, {number_of_points_or_field}, {minimum_allowed_distance}, […] - [Split Line at Vertices (Data Management) on a Basic License with ArcPy](https://learn.finaldraftmapping.com/split-line-at-vertices-data-management-on-a-basic-license-with-arcpy/): Table of Contents The Video Subscribe Introduction The Split Line at Vertices (Data Management) geoprocessing tool is only available in ArcGIS Pro with an Advanced license. Here’s how you can use ArcPy to achieve a similar output. While the Advanced tool will take a linear or polygon feature class as input, here, we will only look at splitting linear features and will revisit for a polygon at a later date. Check out the Esri documentation for more information on the tool here. This workflow was created using ArcGIS Pro 3.4.0.  Syntax The Split Lines at Vertices tool takes two required […] - [Get Field Domain Information from ArcGIS Online with the ArcGIS API for Python](https://learn.finaldraftmapping.com/get-field-domain-information-from-arcgis-online-with-the-arcgis-api-for-python/): Table of Contents Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically interacting with Feature Layers, their attributes, and getting even more granular, down to their fields and data schema. Domains are an integral part of data integrity. The API provides a mechanism to extract domain information for Referenced Feature Services in an Enterprise setting (ArcGIS Portal) using query_domains(), but the function does not comply with Hosted Feature Services, unfortunately. We will provide a workaround in this post […] - [What BaseMaps are Available for my WebMaps in ArcGIS Online using the ArcGIS API for Python?](https://learn.finaldraftmapping.com/what-basemaps-are-available-for-my-webmaps-in-arcgis-online-using-the-arcgis-api-for-python/): Table of Contents The Video Subscribe Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating webmaps in ArcGIS Online. In an earlier post we focused on the first of those – creating! We created a simple and empty webmap in ArcGIS Online with the gray-vector basemap. In this post, we will take a look at listing all the available basemaps for your WebMaps. At ArcGIS API for Python version 2.4.0 there was a major […] - [Add Table from Hosted Feature Service to Another in ArcGIS Online and Create a Relationship using the ArcGIS API for Python](https://learn.finaldraftmapping.com/add-table-from-hosted-feature-service-to-another-in-arcgis-online-and-create-a-relationship-using-the-arcgis-api-for-python/): Table of Contents Introduction Data can often be provided as a Shapefile with an accompanying file containing the attribute information, or surplus attributes to compliment those in the Shapefile, such as a CSV for example. This is the case for Census Data in Ireland, provided by the Central Statistics Office (CSO), results are available in CSV format and can be related to various boundary types in a polygon Shapefile. This blog will use a subset of the data for illustration purposes, we will focus on Electoral Divisions in County Kildare. The fields have been clipped from 799 available to the first 10, I’m not even sure AGOL could […] - [Extracting from an ArcGIS Online Feature Service to a File Geodatabase](https://learn.finaldraftmapping.com/extracting-from-an-arcgis-online-feature-service-to-a-file-geodatabase/): Table of Contents Introduction In this blog post we will assess the options for extracting layers and tables from an ArcGIS Online Feature Service to Feature Classes and Tables in a File Geodatabase. We will use ArcPy, the ArcGIS API for Python, and a combination of both. Here are the options we will assess: Export Layer to Feature Class using ArcPy Export all Layers and Tables using ArcGIS API for Python & ArcPy Download Feature Service as a File Geodatabase using the ArcGIS API for Python Export a Layer to Feature Class using the ArcGIS API for Python Export all […] - [The ArcPy Search Cursor Spatial Filter Parameter with ArcGIS Pro](https://learn.finaldraftmapping.com/the-arcpy-search-cursor-spatial-filter-parameter-with-arcgis-pro/): Table of Contents Introduction ArcGIS Pro 3.2 added three new parameters to the Search Cursor (and Update Cursor) with ArcPy. These parameters are named spatial_filter, spatial_relationship, and search_order. Here, we will discuss the first two. The search_order parameter can only be used with an enterprise geodatabase. As of ArcGIS Pro 3.2 the Search Cursor syntax is as follows… arcpy.da.SearchCursor ( in_table, field_names, {where_clause}, {spatial_reference}, {explode_to_points}, {sql_clause}, {datum_transformation}, {spatial_filter}, {spatial_relationship}, {search_order} ) You can find out more about the SearchCursor with the Esri documentation here. The SearchCursor is drom the Data Access module (the .da), you can find out more about […] - [Create a WebMap in ArcGIS Online with the ArcGIS API for Python](https://learn.finaldraftmapping.com/create-a-webmap-in-arcgis-online-with-the-arcgis-api-for-python/): Table of Contents Video Subscribe Introduction The ArcGIS API for Python is a powerful Python library that allows users to interact with and automate tasks in ArcGIS Online (or Portal). The API is excellent for programmatically creating, maintaining, and updating webmaps in ArcGIS Online. In this post we will focus on the first of those – creating! We will create a simple and empty webmap in ArcGIS Online. At ArcGIS API for Python version 2.4.0 there was a major change with the removal of the WebMap class and the Map class taking its place. The code snippets below cater for […] ## Pages - [EmbedTesting](https://learn.finaldraftmapping.com/embedtesting/) - [ArcGIS Pro Toolboxes](https://learn.finaldraftmapping.com/resources/arcgis-pro-toolboxes/): ArcGIS Pro Toolboxes From our technical blog series. Advanced Toolbox Advanced Tools on a Basic License with ArcPy. ArcGIS Pro tools from our Advanced Tools with Basic License blog series. Download Custom Toolbox ArcGIS Pro tools from our ArcPy blog series. Sometimes out-of-the-box geoprocessing tools can be limited, we can break through that limitation. Download - [Resources](https://learn.finaldraftmapping.com/resources/): Resources Technical resources, free to use. Blog Take Me There ArcGIS Pro Toolboxes Take Me There - [Blog](https://learn.finaldraftmapping.com/resources/blog/): Our Blog Geospatial technical content and more… All Advanced Tools with a Basic License ArcGIS API for Python ArcPy Split Line at Point (Data Management) on a Basic License with ArcPy Split Line at Point (Data Management) on a Basic License with ArcPy Glen Bambrick • Advanced Tools with a Basic License, ArcPy Feature Vertices to Points (Data Management) on a Basic License with ArcPy Feature Vertices to Points (Data Management) on a Basic License with ArcPy Glen Bambrick • Advanced Tools with a Basic License, ArcPy Update ArcGIS Online WebMap Extent Based on Feature Geometry with the ArcGIS API […] - [Virtual](https://learn.finaldraftmapping.com/virtual/): ENHANCE YOUR GIS SKILLS WITH VIRTUAL GEOSPATIAL TRAINING We build a course specific to your requirements so you get the best value out of each training session and deliver the content via Zoom. CONTACT US ArcGIS Pro ArcGIS Online Python Programming ArcPy ArcGIS API for Python GIS Virtual Training Our virtual training session are available worldwide. Tailored We will sit with you and listen to create an engaging course fit for your requirements. Delivered Your training will be delivered online via Zoom at a time that suits you. Support Our relationship doesn’t end after delivery. We are here to support […] - [On-site](https://learn.finaldraftmapping.com/on-site/): ENHANCE YOUR GIS SKILLS WITH ON-SITE GEOSPATIAL TRAINING We build a course specific to your requirements so you get the best value out of each training session. CONTACT US ArcGIS Pro ArcGIS Online Python Programming ArcPy ArcGIS API for Python GIS On-site Training Available in Ireland and the UK. Tailored We will sit with you and listen to create an engaging course fit for your requirements. Delivered Your training will be delivered on-site with material dissected for ease of information consumption. Support Our relationship doesn’t end when the school bell rings. We are here to support your continued growth. Enquire […] - [Check-out](https://learn.finaldraftmapping.com/check-out/): Billing Details First Name * Last Name * Company Name (optional) Country / Region *Select a country / region…AfghanistanÅland IslandsAlbaniaAlgeriaAmerican SamoaAndorraAngolaAnguillaAntarcticaAntigua and BarbudaArgentinaArmeniaArubaAustraliaAustriaAzerbaijanBahamasBahrainBangladeshBarbadosBelarusBelauBelgiumBelizeBeninBermudaBhutanBoliviaBonaire, Saint Eustatius and SabaBosnia and HerzegovinaBotswanaBouvet IslandBrazilBritish Indian Ocean TerritoryBruneiBulgariaBurkina FasoBurundiCambodiaCameroonCanadaCape VerdeCayman IslandsCentral African RepublicChadChileChinaChristmas IslandCocos (Keeling) IslandsColombiaComorosCongo (Brazzaville)Congo (Kinshasa)Cook IslandsCosta RicaCroatiaCubaCuraçaoCyprusCzech RepublicDenmarkDjiboutiDominicaDominican RepublicEcuadorEgyptEl SalvadorEquatorial GuineaEritreaEstoniaEswatiniEthiopiaFalkland IslandsFaroe IslandsFijiFinlandFranceFrench GuianaFrench PolynesiaFrench Southern TerritoriesGabonGambiaGeorgiaGermanyGhanaGibraltarGreeceGreenlandGrenadaGuadeloupeGuamGuatemalaGuernseyGuineaGuinea-BissauGuyanaHaitiHeard Island and McDonald IslandsHondurasHong KongHungaryIcelandIndiaIndonesiaIranIraqIrelandIsle of ManIsraelItalyIvory CoastJamaicaJapanJerseyJordanKazakhstanKenyaKiribatiKuwaitKyrgyzstanLaosLatviaLebanonLesothoLiberiaLibyaLiechtensteinLithuaniaLuxembourgMacaoMadagascarMalawiMalaysiaMaldivesMaliMaltaMarshall IslandsMartiniqueMauritaniaMauritiusMayotteMexicoMicronesiaMoldovaMonacoMongoliaMontenegroMontserratMoroccoMozambiqueMyanmarNamibiaNauruNepalNetherlandsNew CaledoniaNew ZealandNicaraguaNigerNigeriaNiueNorfolk IslandNorth KoreaNorth MacedoniaNorthern Mariana IslandsNorwayOmanPakistanPalestinian TerritoryPanamaPapua New GuineaParaguayPeruPhilippinesPitcairnPolandPortugalPuerto RicoQatarReunionRomaniaRussiaRwandaSão Tomé and PríncipeSaint BarthélemySaint HelenaSaint Kitts and NevisSaint LuciaSaint Martin (Dutch part)Saint Martin (French part)Saint Pierre and MiquelonSaint Vincent and the GrenadinesSamoaSan MarinoSaudi ArabiaSenegalSerbiaSeychellesSierra LeoneSingaporeSlovakiaSloveniaSolomon IslandsSomaliaSouth AfricaSouth Georgia/Sandwich IslandsSouth […] - [My Courses](https://learn.finaldraftmapping.com/my-courses/): My Courses Where your geospatial technical skills grow. - [Profile](https://learn.finaldraftmapping.com/profile/) - [Reset Password](https://learn.finaldraftmapping.com/reset-password/): Home My Account Logout Reset Password Geospatial Academy - [Registration Success](https://learn.finaldraftmapping.com/registration-success/): Welcome - [Registration](https://learn.finaldraftmapping.com/registration/): GEOSPATIAL ACADEMY REGISTRATION Create an account to access content. - [My Account](https://learn.finaldraftmapping.com/my-account/): Edit Account My Orders - [Checkout](https://learn.finaldraftmapping.com/checkout/) - [Cart](https://learn.finaldraftmapping.com/cart/) - [Shop](https://learn.finaldraftmapping.com/shop/) - [Contact](https://learn.finaldraftmapping.com/contact/): Contact Us Let us know how we can help? Contact Info Location Clane, Co. Kildare, Ireland Email Us info@finaldraftmapping.com​ Call Us +353 83 357 0990 Follow Us Twitter Linkedin Youtube - [All Courses](https://learn.finaldraftmapping.com/all-courses/): Course Catalogue Get stuck into Python, ArcPy, and the ArcGIS API for Python! - [About](https://learn.finaldraftmapping.com/about/): About Us Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis. Lisa Green – CMO Dr. John Smith — Founder & CEO. Our Story Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin placerat, neque nec posuere tincidunt, dolor libero pharetra ex, nec iaculis metus nibh a libero. Suspendisse laoreet neque et commodo viverra. Nullam vestibulum urna sed turpis fringilla, ac sollicitudin augue interdum. Proin congue enim imperdiet tincidunt vulputate. Donec hendrerit, neque nec condimentum posuere, metus ipsum lacinia quam, eget porta nibh purus vel risus.u00a0 Meet Our Lead Instructors Lorem ipsum dolor sit […] - [Home](https://learn.finaldraftmapping.com/): ENHANCE YOUR GIS SKILLS WITH TECHNICAL GEOSPATIAL TRAINING Check out our specialty courses for ArcPy with ArcGIS Pro and the ArcGIS API for Python with ArcGIS Online. All Courses Start here and learn Python for Free! An Introduction to Python Programming with a GIS Focus This self-paced course is designed to instill the basics of Python Programming by incrementally increasing your knowledge section-upon-section. Each section has a corresponding chapter of a workbook to fill out and by the end of this course you will have your very own Python reference handbook. So how does this course have a GIS focus? […] ## Products - [Essential ArcGIS Online WebMap Interactions with the ArcGIS API for Python 2.3.0 - Deprecated](https://learn.finaldraftmapping.com/product/essential-arcgis-online-webmap-interactions-with-the-arcgis-api-for-python-2-3-0-deprecated/): This course has been deprecated, see here for latest course., A comprehensive self-paced course detailing the essential components of the ArcGIS API for Python for WebMap interactions up to version 2.3.0 - [ArcPy for Data Management and Geoprocessing with ArcGIS Pro 3.X](https://learn.finaldraftmapping.com/product/arcpy-for-data-management-and-geoprocessing-with-arcgis-pro/): Gaining proficiency in ArcPy can significantly enhance your geospatial data management, manipulation, and analysis skills, making you more noticeable in the GIS field. This course focuses on using ArcPy for data management, including creating and managing lists of objects, enforcing data integrity with domains and subtypes, and standardizing data structures. You'll learn to automate tasks such as creating feature classes, managing fields, converting data between Excel and GIS formats, and using cursors for attribute and geometry manipulation. The course also covers general data tools, analysis tools like buffers, and selecting data for geoprocessing tasks, culminating in the creation of custom ArcTools. With a focus solely on ArcPy, this course requires a basic ArcGIS Pro license, available via a free trial or personal use license. Ideal for those with some Python and ArcGIS Pro knowledge, the course promises to equip you with essential ArcPy skills for effective geospatial data management and automation. - [Essential ArcGIS Online WebMap Interactions with the ArcGIS API for Python](https://learn.finaldraftmapping.com/product/essential-arcgis-online-webmap-interactions-with-the-arcgis-api-for-python/): A comprehensive self-paced course detailing the essential components of the ArcGIS API for Python for WebMap interactions. You will have lifetime access to the course which will update as the API evolves. Please note that there were major changes to the ArcGIS API for Python as of version 2.4.0. This courses covers from 2.4.0 onwards. - [Mastering ArcGIS Pro ArcPy Search, Insert, & Update Cursors](https://learn.finaldraftmapping.com/product/mastering-arcgis-pro-arcpy-search-insert-update-cursors/): Unlock the full potential of ArcPy Cursors with our intensive and in-depth course. Designed for GIS professionals, analysts, and enthusiasts, this course delves into the intricacies of Search, Insert, and Update Cursors in the ArcPy library, empowering you to manipulate and manage spatial data with precision and efficiency. Check below for more details. - [An Introduction to Python Programming with a GIS Focus](https://learn.finaldraftmapping.com/product/an-introduction-to-python-programming-with-a-gis-focus/): This is a self-paced course. You will incrementally learn the basics of Python over the duration of the course. See more details below by watching the course introduction video, checking out the course content and timeline, and you can also download a PDF of the course content. - [ArcGIS Online Content Management with the ArcGIS API for Python](https://learn.finaldraftmapping.com/product/arcgis-online-content-management-with-the-arcgis-api-for-python/): This introductory course on the ArcGIS API for Python provides a solid foundation for automating content management workflows and tasks with ArcGIS Online or Portal. The course covers essential topics, including the use of the GIS class to access ArcGIS Online, adding and publishing data as Hosted Feature Services, organizing content with folders and groups, and managing properties and settings for content items. It also delves into search capabilities and various ContentManager methods, offering practical, real-life examples. By the end of the course, you will be equipped to use the ArcGIS API for Python in your workflows, enhancing efficiency and automation in ArcGIS Online. This self-paced course is packed with over 6 hours of technical content. [comment]: # (Generated by Hostinger Tools Plugin)