<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic How to load network locations based on network fields (not geometry) (.NET/C#) in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/how-to-load-network-locations-based-on-network/m-p/28088#M745</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Network Analyst, C# ArcObjects&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I would like to load network features (e.g. facilities, point barriers).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I cannot get 'load using network fields' to work (I can load based on geometry, but this isn't what I want).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am using the exact code from (below) from this .NET help topic. I am using 10.2.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;How to load data into a network analysis problem&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://resources.arcgis.com/en/help/arcobjects-net/conceptualhelp/0001/00010000023q000000.htm" rel="nofollow noopener noreferrer" target="_blank"&gt;http://resources.arcgis.com/en/help/arcobjects-net/conceptualhelp/0001/00010000023q000000.htm&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;rowsLocated is always coming back as 0. rowsIn shows that there are indeed rows in my input cursor. I have tried on a couple feature classes, but always the same result.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any ideas what could cause this to not work? I can load from the same feature classes using ArcMap. Works fine.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm not doing anything with GP&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-Cory&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;public void LoadAnalysisObjectsByField(ESRI.ArcGIS.Geodatabase.ITable inputClass,
&amp;nbsp;&amp;nbsp;&amp;nbsp; string naClassName, ESRI.ArcGIS.NetworkAnalyst.INAContext naContext)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Both Initialize and Load take a cursor from the input class
&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.Geodatabase.ICursor cursor = inputClass.Search(null, false)as
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.Geodatabase.ICursor;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.NetworkAnalyst.INAClassLoader2 naClassLoader = new
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.NetworkAnalyst.NAClassLoaderClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp; naClassLoader.Initialize(naContext, naClassName, cursor);

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Store the current set of locator agents, so they can be added back later
&amp;nbsp;&amp;nbsp;&amp;nbsp; int agentCount = naContext.Locator.LocatorAgentCount;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var listOfAgents = new System.Collections.Generic.List &amp;lt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.NetworkAnalyst.INALocatorAgent &amp;gt; ();
&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int locIndex = 0; locIndex &amp;lt; agentCount; locIndex++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; listOfAgents.Add(naContext.Locator.get_LocatorAgent(locIndex));

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Remove the existing locator agents from the locator
&amp;nbsp;&amp;nbsp;&amp;nbsp; // This for loop is done in reverse order, because agents are being removed as the loop executes
&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int locIndex = agentCount - 1; locIndex &amp;gt;= 0; locIndex--)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; naContext.Locator.RemoveLocatorAgent(locIndex);

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Create and add a fields agent
&amp;nbsp;&amp;nbsp;&amp;nbsp; var fieldsAgent = new
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.NetworkAnalyst.NALocatorLocationFieldsAgentClass()as
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.NetworkAnalyst.INALocatorLocationFieldsAgent2;

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Set the field names appropriately based on input data and NAClass
&amp;nbsp;&amp;nbsp;&amp;nbsp; var naClass = naContext.NAClasses.get_ItemByName(naClassName)as
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.NetworkAnalyst.INAClass;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var naFeatureClass = naClass as ESRI.ArcGIS.Geodatabase.IFeatureClass;

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Check to see if the NAClass is of type NALocation or NALocationRanges
&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.esriSystem.UID naLocationFeatureUID = new
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.esriSystem.UIDClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp; naLocationFeatureUID.Value = "esriNetworkAnalyst.NALocationFeature";
&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.esriSystem.UID naLocationFeatureRangesUID = new
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.esriSystem.UIDClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp; naLocationFeatureRangesUID.Value = "esriNetworkAnalyst.NALocationRangesFeature";
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (naFeatureClass.CLSID.Compare(naLocationFeatureUID))
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The field names listed below are the names used in ArcGIS Network Analyst extension classes to represent NALocations.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp; These are also the names of fields added by the CalculateLocations geoprocessing tool
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldsAgent.OIDFieldName = "SourceOID";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldsAgent.SourceIDFieldName = "SourceID";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldsAgent.PositionFieldName = "PosAlong";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldsAgent.SideFieldName = "SideOfEdge";
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (naFeatureClass.CLSID.Compare(naLocationFeatureRangesUID))
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The location ranges input field must be of type BLOB
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldsAgent.LocationRangesFieldName = "Locations";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var blobField = inputClass.Fields.get_Field(inputClass.FindField
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (fieldsAgent.LocationRangesFieldName));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (blobField.Type !=
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeBlob)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Windows.Forms.MessageBox.Show(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Loading location ranges by field requires a blob field");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; naContext.Locator.AddLocatorAgent(fieldsAgent as
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.NetworkAnalyst.INALocatorAgent);

&amp;nbsp;&amp;nbsp;&amp;nbsp; // After Loading is complete, the rowsIn and rowsLocated variable can be used to verify
&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp; that every row from the input feature class has been loaded into the network analysis class
&amp;nbsp;&amp;nbsp;&amp;nbsp; int rowsIn = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int rowsLocated = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; naClassLoader.Load(cursor, null, ref rowsIn, ref rowsLocated);

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Now remove the custom fields agent and add back the stored agents
&amp;nbsp;&amp;nbsp;&amp;nbsp; naContext.Locator.RemoveLocatorAgent(0);
&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (var agent in listOfAgents)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; naContext.Locator.AddLocatorAgent(agent);
}&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 10 Dec 2021 21:08:05 GMT</pubDate>
    <dc:creator>deleted-user-Ohz6rwd1kavx</dc:creator>
    <dc:date>2021-12-10T21:08:05Z</dc:date>
    <item>
      <title>How to load network locations based on network fields (not geometry) (.NET/C#)</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/how-to-load-network-locations-based-on-network/m-p/28088#M745</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Network Analyst, C# ArcObjects&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I would like to load network features (e.g. facilities, point barriers).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I cannot get 'load using network fields' to work (I can load based on geometry, but this isn't what I want).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am using the exact code from (below) from this .NET help topic. I am using 10.2.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;How to load data into a network analysis problem&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://resources.arcgis.com/en/help/arcobjects-net/conceptualhelp/0001/00010000023q000000.htm" rel="nofollow noopener noreferrer" target="_blank"&gt;http://resources.arcgis.com/en/help/arcobjects-net/conceptualhelp/0001/00010000023q000000.htm&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;rowsLocated is always coming back as 0. rowsIn shows that there are indeed rows in my input cursor. I have tried on a couple feature classes, but always the same result.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any ideas what could cause this to not work? I can load from the same feature classes using ArcMap. Works fine.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm not doing anything with GP&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-Cory&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;public void LoadAnalysisObjectsByField(ESRI.ArcGIS.Geodatabase.ITable inputClass,
&amp;nbsp;&amp;nbsp;&amp;nbsp; string naClassName, ESRI.ArcGIS.NetworkAnalyst.INAContext naContext)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Both Initialize and Load take a cursor from the input class
&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.Geodatabase.ICursor cursor = inputClass.Search(null, false)as
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.Geodatabase.ICursor;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.NetworkAnalyst.INAClassLoader2 naClassLoader = new
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.NetworkAnalyst.NAClassLoaderClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp; naClassLoader.Initialize(naContext, naClassName, cursor);

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Store the current set of locator agents, so they can be added back later
&amp;nbsp;&amp;nbsp;&amp;nbsp; int agentCount = naContext.Locator.LocatorAgentCount;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var listOfAgents = new System.Collections.Generic.List &amp;lt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.NetworkAnalyst.INALocatorAgent &amp;gt; ();
&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int locIndex = 0; locIndex &amp;lt; agentCount; locIndex++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; listOfAgents.Add(naContext.Locator.get_LocatorAgent(locIndex));

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Remove the existing locator agents from the locator
&amp;nbsp;&amp;nbsp;&amp;nbsp; // This for loop is done in reverse order, because agents are being removed as the loop executes
&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int locIndex = agentCount - 1; locIndex &amp;gt;= 0; locIndex--)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; naContext.Locator.RemoveLocatorAgent(locIndex);

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Create and add a fields agent
&amp;nbsp;&amp;nbsp;&amp;nbsp; var fieldsAgent = new
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.NetworkAnalyst.NALocatorLocationFieldsAgentClass()as
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.NetworkAnalyst.INALocatorLocationFieldsAgent2;

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Set the field names appropriately based on input data and NAClass
&amp;nbsp;&amp;nbsp;&amp;nbsp; var naClass = naContext.NAClasses.get_ItemByName(naClassName)as
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.NetworkAnalyst.INAClass;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var naFeatureClass = naClass as ESRI.ArcGIS.Geodatabase.IFeatureClass;

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Check to see if the NAClass is of type NALocation or NALocationRanges
&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.esriSystem.UID naLocationFeatureUID = new
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.esriSystem.UIDClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp; naLocationFeatureUID.Value = "esriNetworkAnalyst.NALocationFeature";
&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.esriSystem.UID naLocationFeatureRangesUID = new
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.esriSystem.UIDClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp; naLocationFeatureRangesUID.Value = "esriNetworkAnalyst.NALocationRangesFeature";
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (naFeatureClass.CLSID.Compare(naLocationFeatureUID))
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The field names listed below are the names used in ArcGIS Network Analyst extension classes to represent NALocations.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp; These are also the names of fields added by the CalculateLocations geoprocessing tool
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldsAgent.OIDFieldName = "SourceOID";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldsAgent.SourceIDFieldName = "SourceID";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldsAgent.PositionFieldName = "PosAlong";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldsAgent.SideFieldName = "SideOfEdge";
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (naFeatureClass.CLSID.Compare(naLocationFeatureRangesUID))
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The location ranges input field must be of type BLOB
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldsAgent.LocationRangesFieldName = "Locations";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var blobField = inputClass.Fields.get_Field(inputClass.FindField
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (fieldsAgent.LocationRangesFieldName));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (blobField.Type !=
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeBlob)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Windows.Forms.MessageBox.Show(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Loading location ranges by field requires a blob field");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; naContext.Locator.AddLocatorAgent(fieldsAgent as
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ESRI.ArcGIS.NetworkAnalyst.INALocatorAgent);

&amp;nbsp;&amp;nbsp;&amp;nbsp; // After Loading is complete, the rowsIn and rowsLocated variable can be used to verify
&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp; that every row from the input feature class has been loaded into the network analysis class
&amp;nbsp;&amp;nbsp;&amp;nbsp; int rowsIn = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int rowsLocated = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; naClassLoader.Load(cursor, null, ref rowsIn, ref rowsLocated);

&amp;nbsp;&amp;nbsp;&amp;nbsp; // Now remove the custom fields agent and add back the stored agents
&amp;nbsp;&amp;nbsp;&amp;nbsp; naContext.Locator.RemoveLocatorAgent(0);
&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (var agent in listOfAgents)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; naContext.Locator.AddLocatorAgent(agent);
}&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 21:08:05 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/how-to-load-network-locations-based-on-network/m-p/28088#M745</guid>
      <dc:creator>deleted-user-Ohz6rwd1kavx</dc:creator>
      <dc:date>2021-12-10T21:08:05Z</dc:date>
    </item>
  </channel>
</rss>

