# E:\Ryman\scratch\cm_net01\network_trunc_lc.txt # setup geoprocessor GP = cm.gp_init() # G: = \\nicknet.env.duke.edu\network\research\lel\GraphGroup # G:\chapel_hill\network\full_lc\network_lc.txt # easy_install -U networkx # got networkx-0.35.1 # E:\code\connmod\branches\ch\data\net2010\network_euc_na.txt # get arguments in_network_txt = sys.argv[1] # initialize logging log = '%s/log_centrality.txt' % os.path.dirname(in_network_txt) cm.log_init(log) cm.log('Reading network configuration') F = cm.read_network(in_network_txt) # read in full network nodes_shp = F.config[('shapefile', 'nodes')] lcpaths_txt = F.config[('leastcostpaths', 'txt')] G = NX.Graph() # create fresh graph cm.log('Reading least-cost paths into fresh graph with only centroids') rdr = csv.reader(open(lcpaths_txt, 'r')) headers = rdr.next() for row in rdr: c1, c2, w = row[0:3] G.add_edge(int(c1), int(c2), weight=int(w)) cm.log(
GP = cm.gp_init() # format paths for i in range(0, len(sys.argv)): sys.argv[i] = sys.argv[i].replace('\\', '/') # arguments in #PROBLEM: disregards actual units! in_network_txt = sys.argv[ 1] # in_network_txt = r'E:\Ryman\scratch\cm_net01\network.txt' out_csv = sys.argv[ 2] # out_csv = r'E:\Ryman\scratch\cm_net01\network_thresholds.csv' # logging log = '%s/log.txt' % os.path.dirname(out_csv) cm.log_init(log, 'debug') ##cm.log('Reading input network') ##G = cm.read_network(in_network_txt) ## ### get unique sorted list of edge weights from graph ##edge_weights = sorted(set([int(d['weight']) for (u,v,d) in G.edges(data=True)]), reverse=True) ###i_msg = range(0,len(edge_weights), len(edge_weights)/20)[0:-1] ###i_msg.append(len(edge_weights)) ###i_pct = range(0,101,100/20) ## ##out_f = open(out_csv, 'wb') ##writer = csv.writer(out_f) ##writer.writerow(['w_max', 'n_components']) # header ###for i, w_max in enumerate(edge_weights): # w_max = edge_weights[0] ##for i,w_max in enumerate([int(x) for x in np.linspace(max(edge_weights),0,100)]):