<?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 Re: Build Network Dataset with python comtypes and ArcObjects in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/build-network-dataset-with-python-comtypes-and/m-p/3604#M311</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Just found one flaw, I should be using the value 19 for &lt;STRONG&gt;esriDTNetworkDataset. &lt;/STRONG&gt;Changing that fixed that issue, but now I'm having other problems.&amp;nbsp; I am almost there.&amp;nbsp; It is creating the network dataset but now it is choking on adding the sources and sinks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 07 Aug 2014 16:08:45 GMT</pubDate>
    <dc:creator>Anonymous User</dc:creator>
    <dc:date>2014-08-07T16:08:45Z</dc:date>
    <item>
      <title>Build Network Dataset with python comtypes and ArcObjects</title>
      <link>https://community.esri.com/t5/python-questions/build-network-dataset-with-python-comtypes-and/m-p/3603#M310</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I know this isn't possible in arcpy, so I thought I'd give it a stab using comtypes and a modified version of the &lt;A href="https://bitbucket.org/maphew/canvec/src/eaf2678de06f/Canvec/Scripts/parco.py" rel="nofollow noopener noreferrer" target="_blank"&gt;Snippets&lt;/A&gt; module. I am trying to translate some of the VB.NET code to create a network dataset from the &lt;A href="http://resources.arcgis.com/en/help/arcobjects-net/conceptualhelp/index.html#/How_to_create_a_network_dataset/0001000000w7000000/" rel="nofollow noopener noreferrer" target="_blank"&gt;help docs.&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm trying to automate this process for an engineer as he is not very experienced with GIS. He will always be using a file geodatabase with one line feature class as edge features (fc name will vary) and two point feature classes as junction features (sources and sinks to act as origins and destinations). Once the network is built, he can use other script tools I am providing him to do the whole analysis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think I am pretty close as I am able to create the edge and junction features, but my code is failing at one of the last steps which is getting the extension for the IFeatureDatasetExtensionContainer interface via the &lt;A href="http://resources.arcgis.com/en/help/arcobjects-net/componenthelp/index.html#//0025000002ww000000" rel="nofollow noopener noreferrer" target="_blank"&gt;FindExtension&lt;/A&gt; method. The help docs say I can use the esriGeoDatabase.esriDatasetType constant but this seems to be causing an error.&amp;nbsp; Here is the snippet that is failing:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;

&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;CODE&gt;&lt;SPAN class="str"&gt;&lt;CODE&gt;&lt;SPAN class="com"&gt;# create network data set based on data element&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
fdxc &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="typ"&gt;CType&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;fdsGDS&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; esriGeoDatabase&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;IFeatureDatasetExtensionContainer&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;)&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
fdx &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; fdxc&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;FindExtension&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;esriGeoDatabase&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;esriDatasetType&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="lit"&gt;7&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;))&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="com"&gt;# get error here&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
dsc &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="typ"&gt;CType&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;fdx&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; esriGeoDatabase&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;IDatasetContainer2&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;)&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
netds &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="typ"&gt;CType&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;dsc&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;CreateDataset&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;nd&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;),&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; esriGeoDatabase&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;INetworkDataset&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;)&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/SPAN&gt;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And here his my error:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="typ"&gt;Traceback&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;most recent call last&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;):&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="typ"&gt;File&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"\\arcserver1\GIS\_Resources\ESRI\Python\BMI_Library\arcobjects\network_dataset.py"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; line &lt;/SPAN&gt;&lt;SPAN class="lit"&gt;114&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;in&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;module&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
&amp;nbsp; create_nd&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;gdb&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;)&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="typ"&gt;File&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;"\\arcserver1\GIS\_Resources\ESRI\Python\BMI_Library\arcobjects\network_dataset.py"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; line &lt;/SPAN&gt;&lt;SPAN class="lit"&gt;98&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;in&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; create_nd
&amp;nbsp; fdx &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; fdxc&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;FindExtension&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;esriGeoDatabase&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;esriDatasetType&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="lit"&gt;7&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;))&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;
&lt;/SPAN&gt;&lt;SPAN class="typ"&gt;COMError&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(-&lt;/SPAN&gt;&lt;SPAN class="lit"&gt;2147220729&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;None&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;(&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;u&lt;/SPAN&gt;&lt;SPAN class="str"&gt;'The specified feature dataset extension type was not found.'&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; u&lt;/SPAN&gt;&lt;SPAN class="str"&gt;'Esri GeoDatabase'&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; u&lt;/SPAN&gt;&lt;SPAN class="str"&gt;'esri_csGeoDatabase.hlp'&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="lit"&gt;0&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="kwd"&gt;None&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;))&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;And here is my full code if that helps:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;

from arcobjects import * #my modified version of Snippets (has CType and NewObj functions)


import arcpy, os





def create_nd(gdb):


&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CheckOutExtension('Network')


&amp;nbsp;&amp;nbsp;&amp;nbsp; getModule('esriGeoDatabase.olb')


&amp;nbsp;&amp;nbsp;&amp;nbsp; getModule('esriDataSourcesGDB.olb')


&amp;nbsp;&amp;nbsp;&amp;nbsp; import comtypes.gen.esriGeoDatabase as esriGeoDatabase


&amp;nbsp;&amp;nbsp;&amp;nbsp; import comtypes.gen.esriDataSourcesGDB as esriDataSourcesGDB





&amp;nbsp;&amp;nbsp;&amp;nbsp; # create new empty data element for buildable network dataset


&amp;nbsp;&amp;nbsp;&amp;nbsp; nd = NewObj(esriGeoDatabase.DENetworkDataset,


&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; esriGeoDatabase.IDENetworkDataset2)


&amp;nbsp;&amp;nbsp;&amp;nbsp; nd.Buildable = True


&amp;nbsp;&amp;nbsp;&amp;nbsp; nd.NetworkType = esriGeoDatabase.esriNetworkDatasetType(1)





&amp;nbsp;&amp;nbsp;&amp;nbsp; # open feature dataset and create IGeoDataset interface


&amp;nbsp;&amp;nbsp;&amp;nbsp; pWSF = NewObj(esriDataSourcesGDB.FileGDBWorkspaceFactory, esriGeoDatabase.IWorkspaceFactory)


&amp;nbsp;&amp;nbsp;&amp;nbsp; gdbWSF = CType(pWSF, esriGeoDatabase.IWorkspaceFactory)


&amp;nbsp;&amp;nbsp;&amp;nbsp; print gdbWSF.WorkspaceDescription, gdbWSF.WorkspaceType


&amp;nbsp;&amp;nbsp;&amp;nbsp; gdbFWS = CType(gdbWSF.OpenFromFile(gdb, 0), esriGeoDatabase.IFeatureWorkspace)


&amp;nbsp;&amp;nbsp;&amp;nbsp; print gdbFWS


&amp;nbsp;&amp;nbsp;&amp;nbsp; openFWS = gdbFWS.OpenFeatureDataset('FlowNet')


&amp;nbsp;&amp;nbsp;&amp;nbsp; fdsGDS = CType(openFWS, esriGeoDatabase.IGeoDataset)


&amp;nbsp;&amp;nbsp;&amp;nbsp; print fdsGDS





&amp;nbsp;&amp;nbsp;&amp;nbsp; # copy feature dataset's extent and spatial reference to network dataset element


&amp;nbsp;&amp;nbsp;&amp;nbsp; deGDS = CType(nd, esriGeoDatabase.IDEGeoDataset)


&amp;nbsp;&amp;nbsp;&amp;nbsp; deGDS.Extent = fdsGDS.Extent


&amp;nbsp;&amp;nbsp;&amp;nbsp; deGDS.SpatialReference = fdsGDS.SpatialReference


&amp;nbsp;&amp;nbsp;&amp;nbsp; print deGDS.Extent





&amp;nbsp;&amp;nbsp;&amp;nbsp; # get flow lines


&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.env.workspace = os.path.join(gdb, 'FlowNet')


&amp;nbsp;&amp;nbsp;&amp;nbsp; lines = arcpy.ListFeatureClasses('*', 'Polyline')[0]&amp;nbsp; 





&amp;nbsp;&amp;nbsp;&amp;nbsp; # create data element


&amp;nbsp;&amp;nbsp;&amp;nbsp; dataElement = CType(nd, esriGeoDatabase.IDataElement)


&amp;nbsp;&amp;nbsp;&amp;nbsp; dataElement.Name = 'FlowNetwork'


&amp;nbsp;&amp;nbsp;&amp;nbsp; print dataElement.Name





&amp;nbsp;&amp;nbsp;&amp;nbsp; # specify edge features


&amp;nbsp;&amp;nbsp;&amp;nbsp; edgeNet = NewObj(esriGeoDatabase.EdgeFeatureSource,


&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;&amp;nbsp;&amp;nbsp; esriGeoDatabase.INetworkSource)


&amp;nbsp;&amp;nbsp;&amp;nbsp; edgeNet.Name = lines


&amp;nbsp;&amp;nbsp;&amp;nbsp; edgeNet.ElementType = esriGeoDatabase.esriNetworkElementType(2)


##&amp;nbsp;&amp;nbsp;&amp;nbsp; edgeNet.SourceType = esriGeoDatabase.esriNetworkSourceType(3)


##&amp;nbsp;&amp;nbsp;&amp;nbsp; edgeNet.UsesGeometryInConnectivity = True





&amp;nbsp;&amp;nbsp;&amp;nbsp; #set edge feature's connectivity (Any Vertex)


&amp;nbsp;&amp;nbsp;&amp;nbsp; edgeFS = CType(edgeNet, esriGeoDatabase.IEdgeFeatureSource)


&amp;nbsp;&amp;nbsp;&amp;nbsp; edgeFS.UsesSubtypes = False


&amp;nbsp;&amp;nbsp;&amp;nbsp; edgeFS.ClassConnectivityGroup = 1


&amp;nbsp;&amp;nbsp;&amp;nbsp; edgeFS.ClassConnectivityPolicy = esriGeoDatabase.esriNetworkEdgeConnectivityPolicy(0) # any vertex


&amp;nbsp;&amp;nbsp;&amp;nbsp; 





&amp;nbsp;&amp;nbsp;&amp;nbsp; # add sources and sinks as junctions


&amp;nbsp;&amp;nbsp;&amp;nbsp; # make origins


&amp;nbsp;&amp;nbsp;&amp;nbsp; sinkNet = NewObj(esriGeoDatabase.JunctionFeatureSource,


&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;&amp;nbsp;&amp;nbsp; esriGeoDatabase.INetworkSource)


&amp;nbsp;&amp;nbsp;&amp;nbsp; sinkNet.Name = 'Sinks'


&amp;nbsp;&amp;nbsp;&amp;nbsp; sinkNet.ElementType = esriGeoDatabase.esriNetworkElementType(1)


##&amp;nbsp;&amp;nbsp;&amp;nbsp; sinkNet.SourceType = esriGeoDatabase.esriNetworkSourceType(2)


##&amp;nbsp;&amp;nbsp;&amp;nbsp; sinkNet.UsesGeometryInConnectivity = True





&amp;nbsp;&amp;nbsp;&amp;nbsp; # set connectivity


&amp;nbsp;&amp;nbsp;&amp;nbsp; sinkElm = CType(sinkNet, esriGeoDatabase.IJunctionFeatureSource)


&amp;nbsp;&amp;nbsp;&amp;nbsp; sinkElm.UsesSubtypes = False


&amp;nbsp;&amp;nbsp;&amp;nbsp; sinkElm.ClassConnectivityGroup = 1


&amp;nbsp;&amp;nbsp;&amp;nbsp; sinkElm.ClassConnectivityPolicy = esriGeoDatabase.esriNetworkJunctionConnectivityPolicy(0) # honor





&amp;nbsp;&amp;nbsp;&amp;nbsp; # make destinations


&amp;nbsp;&amp;nbsp;&amp;nbsp; sourceNet = NewObj(esriGeoDatabase.JunctionFeatureSource,


&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;&amp;nbsp;&amp;nbsp; esriGeoDatabase.INetworkSource)


&amp;nbsp;&amp;nbsp;&amp;nbsp; sourceNet.Name = 'Sources'


&amp;nbsp;&amp;nbsp;&amp;nbsp; sourceNet.ElementType = esriGeoDatabase.esriNetworkElementType(1)


##&amp;nbsp;&amp;nbsp;&amp;nbsp; sourceNet.SourceType = esriGeoDatabase.esriNetworkSourceType(2)


##&amp;nbsp;&amp;nbsp;&amp;nbsp; sourceNet.UsesGeometryInConnectivity = True





&amp;nbsp;&amp;nbsp;&amp;nbsp; # set connectivity


&amp;nbsp;&amp;nbsp;&amp;nbsp; sourceElm = CType(sourceNet, esriGeoDatabase.IJunctionFeatureSource)


&amp;nbsp;&amp;nbsp;&amp;nbsp; sourceElm.UsesSubtypes = False


&amp;nbsp;&amp;nbsp;&amp;nbsp; sourceElm.ClassConnectivityGroup = 1


&amp;nbsp;&amp;nbsp;&amp;nbsp; sourceElm.ClassConnectivityPolicy = esriGeoDatabase.esriNetworkJunctionConnectivityPolicy(0) # honor


&amp;nbsp;&amp;nbsp;&amp;nbsp; 


&amp;nbsp;&amp;nbsp;&amp;nbsp; # add attributes (Length, Cost, Units)


&amp;nbsp;&amp;nbsp;&amp;nbsp; evalNetAttr = NewObj(esriGeoDatabase.EvaluatedNetworkAttribute,


&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; esriGeoDatabase.IEvaluatedNetworkAttribute)


&amp;nbsp;&amp;nbsp;&amp;nbsp; newAttr2 = CType(evalNetAttr, esriGeoDatabase.INetworkAttribute2)


&amp;nbsp;&amp;nbsp;&amp;nbsp; newAttr2.Name = 'Length'


&amp;nbsp;&amp;nbsp;&amp;nbsp; newAttr2.UsageType = esriGeoDatabase.esriNetworkAttributeUsageType(0) # cost


&amp;nbsp;&amp;nbsp;&amp;nbsp; newAttr2.DataType = esriGeoDatabase.esriNetworkAttributeDataType(2) # double


&amp;nbsp;&amp;nbsp;&amp;nbsp; newAttr2.Units = esriGeoDatabase.esriNetworkAttributeUnits(3)&amp;nbsp; # feet


&amp;nbsp;&amp;nbsp;&amp;nbsp; newAttr2.UseByDefault = True





&amp;nbsp;&amp;nbsp;&amp;nbsp; # create network data set based on data element


&amp;nbsp;&amp;nbsp;&amp;nbsp; fdxc = CType(fdsGDS, esriGeoDatabase.IFeatureDatasetExtensionContainer)


&amp;nbsp;&amp;nbsp;&amp;nbsp; fdx = fdxc.FindExtension(esriGeoDatabase.esriDatasetType(7))


&amp;nbsp;&amp;nbsp;&amp;nbsp; dsc = CType(fdx, esriGeoDatabase.IDatasetContainer2)


&amp;nbsp;&amp;nbsp;&amp;nbsp; netds = CType(dsc.CreateDataset(nd), esriGeoDatabase.INetworkDataset)





&amp;nbsp;&amp;nbsp;&amp;nbsp; # build network dataset now that it's created


&amp;nbsp;&amp;nbsp;&amp;nbsp; netBuild = CType(netds, esriGeoDatabase.INetworkBuild)


&amp;nbsp;&amp;nbsp;&amp;nbsp; for item in [edgeNet, sinkNet, sourceNet]:


&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; netBuild.AddSource(item)


&amp;nbsp;&amp;nbsp;&amp;nbsp; netBuild.AddAttribute(newAttr2)


&amp;nbsp;&amp;nbsp;&amp;nbsp; netBuild.BuildNetwork(fsdGDS.Extent)


&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CheckInExtension('Network')


&amp;nbsp;&amp;nbsp;&amp;nbsp; return





if __name__ == '__main__':





&amp;nbsp;&amp;nbsp;&amp;nbsp; gdb = r'C:\Users\calebma\Desktop\NA_Testing\test2.gdb'


&amp;nbsp;&amp;nbsp;&amp;nbsp; create_nd(gdb)


&amp;nbsp;&amp;nbsp;&amp;nbsp; print 'done'

&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 20:09:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/build-network-dataset-with-python-comtypes-and/m-p/3603#M310</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2021-12-10T20:09:15Z</dc:date>
    </item>
    <item>
      <title>Re: Build Network Dataset with python comtypes and ArcObjects</title>
      <link>https://community.esri.com/t5/python-questions/build-network-dataset-with-python-comtypes-and/m-p/3604#M311</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Just found one flaw, I should be using the value 19 for &lt;STRONG&gt;esriDTNetworkDataset. &lt;/STRONG&gt;Changing that fixed that issue, but now I'm having other problems.&amp;nbsp; I am almost there.&amp;nbsp; It is creating the network dataset but now it is choking on adding the sources and sinks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Aug 2014 16:08:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/build-network-dataset-with-python-comtypes-and/m-p/3604#M311</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2014-08-07T16:08:45Z</dc:date>
    </item>
    <item>
      <title>Re: Build Network Dataset with python comtypes and ArcObjects</title>
      <link>https://community.esri.com/t5/python-questions/build-network-dataset-with-python-comtypes-and/m-p/3605#M312</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What is the new error?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Aug 2014 16:50:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/build-network-dataset-with-python-comtypes-and/m-p/3605#M312</guid>
      <dc:creator>ThomasStanley-Jones</dc:creator>
      <dc:date>2014-08-07T16:50:42Z</dc:date>
    </item>
    <item>
      <title>Re: Build Network Dataset with python comtypes and ArcObjects</title>
      <link>https://community.esri.com/t5/python-questions/build-network-dataset-with-python-comtypes-and/m-p/3606#M313</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry, I should have posted that.&amp;nbsp; Here is my error:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;
&lt;P&gt;Traceback (most recent call last):&lt;/P&gt;
&lt;P&gt;&amp;nbsp; File "\\arcserver1\GIS\_Resources\ESRI\Python\BMI_Library\arcobjects\network_dataset.py", line 128, in &amp;lt;module&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; create_nd(gdb)&lt;/P&gt;
&lt;P&gt;&amp;nbsp; File "\\arcserver1\GIS\_Resources\ESRI\Python\BMI_Library\arcobjects\network_dataset.py", line 120, in create_nd&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; netBuild.AddSource(item)&lt;/P&gt;
&lt;P&gt;COMError: (-2147024809, 'The parameter is incorrect.', (u'A network source with the specified name does not exist.', u'Esri GeoDatabase', u'esri_csGeoDatabase.hlp', 0, None))&lt;/P&gt;
&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;It is successfully creating the network dataset adding the edge features with Any Vertex as the connectivity policy , but it does not like my junction features for some reason.&amp;nbsp; I do not know if I will be able to get this to work as I expected.&amp;nbsp; It is too messy with Python.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Aug 2014 17:10:13 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/build-network-dataset-with-python-comtypes-and/m-p/3606#M313</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2014-08-07T17:10:13Z</dc:date>
    </item>
    <item>
      <title>Re: Build Network Dataset with python comtypes and ArcObjects</title>
      <link>https://community.esri.com/t5/python-questions/build-network-dataset-with-python-comtypes-and/m-p/3607#M314</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm obviously not familiar with the data your working with, but a few observations:&lt;/P&gt;&lt;P&gt;- Have you tried putting in print() statements to see if the values are what you would expect?&amp;nbsp; I would suggest putting a bunch of them between line 104 and 105 to print the various attributes of the "item" variable.&amp;nbsp; Something might come to light there.&lt;/P&gt;&lt;P&gt;- Also, I noticed that on line 45 you wrote&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;SPAN style="color: #000000; font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12.222222328186035px;"&gt;edgeNet.Name = lines&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;I think lines is a list, no?&amp;nbsp; But&amp;nbsp; &lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;
&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12.222222328186035px;"&gt;sinkNet.Name = &lt;/SPAN&gt;&lt;SPAN class="string" style="font-size: 12.222222328186035px; font-family: Consolas, 'Courier New', Courier, mono, serif; color: blue;"&gt;'Sinks'&lt;/SPAN&gt;&lt;/P&gt;
&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BLOCKQUOTE&gt;&lt;BLOCKQUOTE&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;
&lt;P&gt;&lt;SPAN style="color: #000000; font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12.222222328186035px;"&gt;sourceNet.Name = &lt;/SPAN&gt;&lt;SPAN class="string" style="font-size: 12.222222328186035px; font-family: Consolas, 'Courier New', Courier, mono, serif; color: blue;"&gt;'Sources'&lt;/SPAN&gt;&lt;SPAN style="font-size: 12.222222328186035px; font-family: Consolas, 'Courier New', Courier, mono, serif; color: #000000;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;These are strings.&amp;nbsp; Is this expected?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Aug 2014 18:31:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/build-network-dataset-with-python-comtypes-and/m-p/3607#M314</guid>
      <dc:creator>ThomasStanley-Jones</dc:creator>
      <dc:date>2014-08-07T18:31:22Z</dc:date>
    </item>
    <item>
      <title>Re: Build Network Dataset with python comtypes and ArcObjects</title>
      <link>https://community.esri.com/t5/python-questions/build-network-dataset-with-python-comtypes-and/m-p/3608#M315</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Thomas.&amp;nbsp; I have added some print statements for testing along the way.&amp;nbsp; To answer your questions:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My lines variable is actually returned as a string, but it is indeed made from a list.&amp;nbsp; My user will be using a script tool before setting up the network (one that will create the file GDB and add the necessary feature classes).&amp;nbsp; I am creating the sources and sinks from the script tool so I have them named as 'Sinks' and 'Sources'.&amp;nbsp; The lines feature class will most likely be named something different every time, so I am using arcpy.ListFeatureClasses() to list out any polylines feature classes in the gdb.&amp;nbsp; There should only be one, so I'm just grabbing that first value from the list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the code samples the INetworkSource interface's name property is indeed supposed to be a string. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I commented out the part to add the two junction features and my script does create a new Network Dataset and properly references the line work as the edge features and sets the connection policy to "Any Vertex".&amp;nbsp; I must not be setting up the junction features correctly. I may just put this on the backburner for now and give him a word document with screenshots showing how to create the network using the wizard.&amp;nbsp; It is pretty easy, I was just hoping to get that small piece automated as well. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is quite messy with Python and it its not properly creating some of the objects.&amp;nbsp; I am having difficulty setting the attributes for the network dataset as well.&amp;nbsp; I appreciate you looking at this though!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Aug 2014 19:04:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/build-network-dataset-with-python-comtypes-and/m-p/3608#M315</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2014-08-07T19:04:35Z</dc:date>
    </item>
  </channel>
</rss>

