AnsweredAssumed Answered

Problem with curbapproach

Question asked by croemer on Oct 15, 2015
Latest reply on Oct 15, 2015 by croemer

Hi, i have problem setting the curbapproach for some points while loading them with loadlocations in C#.

The code runs unter ArcGIS Desktop und Engine 10.2.1.

We want to calculate routes with curbapproach right for main roads and right/left for side roads.

In my sample i just wanted to test all my points mit curbaprroach right, i couldn't find sample code except for old c++ code i couldnt get through. i tried the set_DefaultValue("CurbApproach", "?") with 1 and "Right side of vehicle".

The result is always that the my assigned curbapproach ist not inherited.




public int LoadNALocations(ICursor inputPointFeatureCursor, INAContext naContext, string naClassName, string KeyfeldLayer)


       if(inputPointFeatureCursor == null)


           return 0;



       INAClassLoader2 naClassLoader = new NAClassLoaderClass() as INAClassLoader2;


       var listOfAgents = new List<ESRI.ArcGIS.NetworkAnalyst.INALocatorAgent>();

    naClassLoader.Initialize(naContext, naClassName, inputPointFeatureCursor);


       int rowsIn = 0;

       int rowsOut = 0;


    naClassLoader.FieldMap.set_MappedField("Name", "Stuetzpunkte.ID");


    naClassLoader.FieldMap.set_DefaultValue("CurbApproach", "Right side of vehicle"); 


       int agentCount = naContext.Locator.LocatorAgentCount;

       for (int locIndex = 0; locIndex < agentCount; locIndex++)




  // Remove the existing locator agents from the locator. This for loop is done in reverse order, because agents are being removed as the loop executes

       for (int locIndex = agentCount - 1; locIndex >= 0; locIndex--)




       INALocatorLocationFieldsAgent naLocFAgent = new NALocatorLocationFieldsAgentClass();


    naLocFAgent.OIDFieldName = "Stuetzpunkte.SOURCEOID";

    naLocFAgent.SourceIDFieldName = "Stuetzpunkte.SOURCEID";

    naLocFAgent.PositionFieldName = "Stuetzpunkte.POSALONG";

    naLocFAgent.SideFieldName = "Stuetzpunkte.SIDEOFEDGE";


    ((INALocatorAgent)naLocFAgent).Bind(naContext.NetworkDataset, null);


    naContext.Locator.AddLocatorAgent(naLocFAgent as INALocatorAgent);




      naClassLoader.Load(inputPointFeatureCursor, null, ref rowsIn, ref rowsOut);


       catch(Exception ex)


      Prot.Meldung("Beim Laden der Stützpunkte ist ein Fehler aufgetreten:\n" + ex.ToString(), true);

           return 0;




       if (naContext.Locator.LocatorAgentCount == 1)


            // Now remove the custom fields agent and add back the stored agents


            foreach (var agent in listOfAgents)





       return rowsOut;