Receive the latest news from Esri, a leader in GIS software solutions.  Digital Data Services is a Silver Partner for Esri and offers a wide-variety of Esri based software and service solutions. More information about DDS's Esri based solutions can be found at

Subcategories from this category:

Esri Support Center Feed

Three Methods for Clipping a Network Dataset in ArcGIS Desktop

Imagine this: you’ve been assigned a project where you must find the drive times (at 5 minutes, 10 minutes, and 30 minutes) for 100 different customers and the best routes to deliver supplies to all customers. On top of that, you’ll need to do it for many different datasets. The result of each analysis, along with the underlying data used to produce those results, must be sent to the client.

ArcGIS Network Analyst is the best option, but you’ll need your own network dataset. So, you reach out to a colleague or friend. They’d be happy to give you a network dataset, but it contains data for a much larger area than needed. While it may work for your analyses, you can’t send the client the whole dataset.

A network dataset containing turn features, sign features, and/or traffic data can be difficult to clip. Using a regular Clip operation on the streets can break connectivity between the streets, as well as break the link between the network edges and the turns, signs, and traffic data.

So, the question is how can you clip the network dataset to a manageable size and keep all the connectivity between the streets, turns, signs, and even the traffic data?

There are a few ways to accomplish this, as outlined in this post.

Using Extracted Data from the Distributed Geodatabase Toolbar in ArcMap:

From the Distributed Geodatabase toolbar, select Extract Data.  In the Extract Data Wizard, check the box to ‘Show advanced options for overriding data extraction defaults when I click Next’.
Click Next. Choose the extent of the data to extract to a new geodatabase (when using an extent smaller than the full extent of the network dataset, the network dataset will be clipped to that extent during the extraction). Choose the feature classes to extract. By default, all feature classes in the map are checked, and the network dataset is one of those layers. Click Next > Finish.

Using the Consolidate Layer Geoprocessing Tool in ArcMap or ArcGIS Pro:

In the Data Management toolbox, select Package toolset > Consolidate Layer. Choose the input layers and the output folder. Choosing the network dataset layer (for example, Streets_ND) brings all source layers with it. Choose the output format. Choose the extent of the data to extract to a new geodatabase (when using an extent smaller than the full extent of the network dataset, the network dataset will be clipped to that extent during the extraction).

Create Mobile Map Packaging Tool in ArcGIS Pro:

Note: This is the best option if you plan to use routing in Navigator for ArcGIS.

Choose the input map(s) and the output location. Optional: Choose an input locator. If you want to use data in Navigator for ArcGIS, you must use an input locator other than the World Geocoding Service or the default XY locator. Choose the appropriate extent (when using an extent smaller than the full extent of the network dataset, the network dataset will be clipped to that extent during the extraction). Check the box to Clip Features.

With all methods above, your data will still allow routing and other network analysis, but will now be a much more manageable size for sharing with others.

Rachel A. – Desktop Support Analyst

Original author: Rachel


© Esri

Continue reading
39 Hits

JavaScript Debugging Tips Part III – Advanced Google Chrome Developer Tools

This blog post is the third in a series of JavaScript debugging tips and tricks to help you on your way. See JavaScript Debugging Tips Part I  and also JavaScript Debugging Tips Part II for our previous segments.

In the past two JavaScript Debugging Tips posts on the Esri Support blog, we looked at the Network Tab and the Console Tab as part of the Google Chrome Developer Tools. While most modern browsers have some form of developer tools, here we use Chrome for our examples.

Our goal for this third blog post in the series is to introduce more advanced tips and tricks to enable you to more effectively debug and troubleshoot your JavaScript code. Specifically, we will focus on three areas: enhanced messaging to the console, better ways to set breakpoints using conditions specified at runtime, and a more efficient way of stepping through breakpoints in the Sources tab with a method called blackboxing.

Part 1: Console.table

Console.log is our primary debugging function, but this function’s output can be a bit difficult to read (especially when viewing a lot of data). One way to enhance our console log messaging and view data more easily is to display a list of objects as a table, which is accomplished using the console.table function. This function takes one mandatory argument, which must be an array or an object, and one additional optional parameter. Each element in the array is a row in the table.

Let’s take a look at the Console Table sample.

1. Open the Chrome Developer Tools by using shortcut keys (Windows: Control + Shift + I, and Mac: Command + Option + I), or by navigating to the top right-hand pane of the browser, clicking the three grey vertical dots, and choosing “More tools” > “Developer tools”.

2. Select the console tab.

3. Click “Perform Query” in the sample application. This performs a query task to view all counties in Connecticut. The code uses the console.table to print the results in a table as shown below.


Every row in the table shows all attributes for a specific county. Next, we use the console.log to compare the console.log and console.table. This function will print a line with an array of objects.


Once we expand the array, we can view the objects in a list.

console.log expanded

To view the attributes, we must expand the objects in the list.

console.log expanded with attributes

While we can access the attributes of one feature when using console.log, we can view all attributes for all features at once using console.table! The image below shows both functions in the console window.

console.table & console.log

Part 2: Conditional Breakpoints

In JavaScript Debugging Tips Part II, we talked about setting a breakpoint in the Sources tab, refreshing the application, and pausing the application at that line of code. This is a great way to examine your code and how functions are called, and where potential areas of trouble could arise.

However, sometimes we don’t want the breakpoint to be reached every time. Sometimes we only want the breakpoint to be reached if certain conditions are met. While we could write some logic code in the form of a loop to check for values, there is an easier way to do this at runtime.

For example, let’s look at a sample.

1. Open the Edit Features sample and the Chrome Developer Tools.

2. Navigate to the Sources tab, and left-click line 301 to set a breakpoint there.

3. After the breakpoint is set, right-click the breakpoint and select “Edit breakpoint…”.

Edit Breakpoint

Note: We could also get here by first right-clicking line 301 and selecting “Add conditional breakpoint…”.

Add Conditional Breakpoint

4. Set a condition whereby the breakpoint will be reached only if the user inputs “test” into the “Contact:” field when updating a feature. Here is the code: editFeature.attributes["Incident_Address"] == “test”

Note: We do not want to use “=” because this assigns a value and thus always returns true, so we must use “==”.

Breakpoint Expression

5. If we input “test” for the “Contact:” and click “Update incident info”, the breakpoint will be reached and the application pauses.

Condition Met

These conditional breakpoints can be useful for testing when you want to ensure data is sent back to the server correctly, or for error handling when you want the application to pause so you can inspect the object(s) of interest rather than letting your error handling code take over.

Part 3: Blackboxing

While setting breakpoints is a great way to make friends and go through your code, this process can occasionally kick you out of the file of interest and into another source file or into a third-party JavaScript library.

For example, let’s look at a sample.

1. Open the Query SceneLayerView sample to follow along (this is similar to the sample found on

2. Open the Chrome Developer Tools, select the Sources tab, and left-click line 49 to set a breakpoint.

3. Refresh the page so the debugger pauses on line 49. From here, a “Paused in debugger” message appears (next to a ”Play” button and a “Step Over” button). See below for a screenshot.

Paused At Line 49

4. If you click the “Step Over” button about five times, you exit out of the main .html file and into the init.js file of the ArcGIS API for JavaScript. You can explore the init.js file, but we want to focus on the code that we wrote. Click the “Play” button to get home safely.

Debugger in init.js file

Enter blackboxing to save the day. Blackboxing is a method to exclude files and libraries from the debugger, so that your focus remains on your file(s) of interest. Let’s take a look at how we can blackbox the ArcGIS API for JavaScript library so we can just step through the main file of interest.

1. With the Developer Tools open, click the three vertical dots in the far right-hand pane of the window and select Settings.

Developer Tool Settings

Developer Tool Settings

2. On the left-hand side of the window, click “Blackboxing” to open the “Framework Blackbox Patterns”.


3. Click the “Add pattern…” button, and enter this framework pattern:*\.js

Blackboxing Pattern

4. Click “Add” and check the box above the pattern input to “Blackbox content scripts”.

5. Close the Settings window and return to the Sources tab.

6. Refresh the page so the debugger pauses on line 49.

7. If you click the “Step Over” button about five times, you exit out of the main .html file and into the debugger:///VM file (this is an empty function which you can safely ignore, or read more about here), as well as complete one more “Step Over” operation into the application. Now rather than debugging unnecessary, ancillary libraries, you can focus on debugging the code you wrote or are trying to understand.

One last point worth mentioning is that blackboxing applies to the browser, not just to the webpage or web app of interest. After testing completes, feel free to remove the blackboxed pattern(s) to ensure a conventional web browsing experience.

This concludes our blog about advanced tips for using the Google Chrome Developer Tools with examples from the ArcGIS API for JavaScript. We hope you found the above tips useful and entertaining. For more information about debugging tips with JavaScript applications, here are a couple additional resources from the past several years:

Additional Resources

Join us next time as we continue to delve ever deeper into Developer Tools and learn some valuable lessons. Happy debugging!

Artemis F. and Noah S. – Esri SDK Support

Original author: Noah


© Esri

Continue reading
110 Hits

Declining Decimal Degrees in Survey123 for ArcGIS

Whether you are a new user or a power user of Survey123 for ArcGIS, you know it is an extremely useful and powerful tool for collecting data in a form-based environment. In typical workflows, Survey123 for ArcGIS is used to store a spatial component of your data. In this post, I’ll provide a brief introduction for using calculations in Survey123 for ArcGIS to convert decimal degrees (DD) to degrees-minutes-seconds (DMS) and extend the application to better fit all survey requirements.

When we create our surveys in Survey123 Connect, the desktop application, we have the option to choose the display format of the coordinate. We can do this for both the preview map and the detailed map. However, this is solely a display functionality because the data is saved to ArcGIS Online. The default coordinate system for services published by Survey123 is WGS 1984 Web Mercator, meaning all data is saved in DD regardless of how it appears in our map viewer. While DD may look nice and evenly spaced online, we in the GIS world know that this doesn’t always meet every need.

There is no way to change our coordinate system of the data in ArcGIS Online hosted feature services, and the the pulldata(”@geopoint”) function will only capture DD. However, we can take full advantage of the Survey123 for ArcGIS’s calculation fields to determine both DMS and decimal minutes (DDM) coordinates for our data. Since we determine DDM and DMS values in our survey, we can create this information on-the-fly and save it into the form response. While this process doesn’t change the coordinate format, you can save valuable time should you need this information.

As these calculations can be quite complex, here’s a sample survey that does everything for you! Copy and paste the sections you need to add DDM or DMS values to your survey. On your survey form, a new field depicting the value you want appears. Due to how the application is making these calculations, all our in-between steps appear in the data. Happy survey-ing!

Sample Survey

Andy S. – Desktop Support Analyst

This entry was posted in ArcGIS Mobile and tagged , , . Bookmark the permalink.
Original author: ashoemaker


© Esri

Continue reading
108 Hits

Recover Lost Licenses from My Esri

Nobody likes to talk about it, but sometimes computers can crash.  Yup, the entire thing just fails and nothing at all can be recovered (if you haven’t backed up your data, go do it now!) Or what if your laptop is stolen, or you flipped your kayak and your machine sank to the bottom of Lake Superior?  You just don’t have it anymore and there is absolutely nothing you can do to get it back. When these types of things happen, any Esri licenses that were authorized on the machine may be lost, too.

In the past, an authorized maintenance contact had to call Esri Technical Support to submit a license appeal and recover the lost licenses.  Now, this functionality is built in to My Esri, empowering your organization with self-service functionality and enabling you to get back up and running quickly.

I wanted to make sure that our customers are aware of this great new functionality and walk through how you’d go about getting your licenses back in the event of a catastrophic failure or loss as described above – though I really hope that never happens.

To perform the following steps, you will either need “Esri Admin” permission or the “Take Licensing Actions” permission. Sensitive information such as machine IDs, license numbers, and other personal information have been replaced with asterisks in the following screenshots.

First, log in to My Esri and click the My Organizations tab.

Please note that I’m demonstrating the steps in a QA environment and that your experience won’t include the green QA…

My Esri's My Organization Tab

Click the Licensing tab.

Licensing Overview

This will bring up the Licensing Overview page and if you have the correct permissions, you should see the Recover Lost Licenses option both in the Licensing panel as well as a card.

Next, click Recover Lost Licenses.

The Recover Lost Licenses screen explains that this is a process to retrieve licenses from a machine that is no longer accessible due to system failure, system loss, or destruction. The License Recovery process requires the signature of the organization’s License Administrator in a Certificate of Destruction. This process is irreversible and should only be used as the absolute last option when all other solutions to rectify the problem have failed.

An example of when you would not use the Recover Lost Licenses option is if you can still access the machine and deauthorize the licenses normally. The instructions provided describe how to perform standard license deauthorization:

Once you’ve determined that it really isn’t feasible to scuba dive to the bottom of Lake Superior to recover your machine (and hence, its licenses), follow the steps outlined below to complete the recovery.

Step 1: Find Your Machine

To proceed with license recovery, select how you would like to find the machine. There is an option to search by products on the machine or use the machine’s UMN IDs if you know those.

Step 1. Find Your Machine

Step 2

Option A: Search for machine by product

Search for the machine by populating the dropdown boxes.

Search For Machine

Click Search.

We see that the search for ArcGIS Desktop Advanced Concurrent Use licenses for this organization returns five machines.

Selecting the machine from which the licenses need to be recovered will take you to Step 3.

Option B: Select Machine using the UMN

Enter the UMN for the machine and click Search.  Since the UMN by definition is associated with a single machine, you should get only one result in this case, as opposed to searching for a machine by product.

Click Select to take you to Step 3.

Step 3: Review Selected Machine

This step will show you a list of products our records show were activated for the selected machine.

After reviewing the selected machine, you have the option to go back if this is not the correct machine or proceed with the license recovery process.

Step 4: Accept Terms and Conditions

Review and agree to the terms and conditions, and click Next.

Step 4. Accept Terms and Conditions

Step 5: Summary to process License Return

This step gives you another opportunity to fully review the selected licenses to return. If the selection is correct, click the “Process Return” button near the bottom of the page.

You’ll receive a confirmation screen showing the status of each license return.

And that’s it.  You are now able to authorize these licenses on a new, dry machine!

In the event that not all licenses are returned successfully, you will be presented with a summary of which licenses were returned and which were not. These should be exceptions; not the norm. In these cases, please work with Esri Customer Service or your local distributor to finalize the recovery process.

Kory K. – Customer Advocacy Lead

Original author: Kory K


© Esri

Continue reading
130 Hits

Creating a Custom Widget for Web AppBuilder for ArcGIS using the Report Class

Creating a Custom Widget for Web AppBuilder for ArcGIS using the Report Class | Support Services Blog

Esri is an equal opportunity employer (EOE) supporting diversity in the workforce.

Original author: Artemis F.


© Esri

Continue reading
384 Hits