Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 32 additions & 26 deletions siteupdate/python-teresco/siteupdate.py
Original file line numberDiff line numberDiff line change
Expand Up@@ -727,6 +727,8 @@ def clinchedby_code(self, traveler_lists):
# The 2nd character stores traveler 4 thru traveler 7, etc.
# For each character, the low-order bit stores traveler n, and the high bit traveler n+3.

if len(traveler_lists) == 0:
return "0"
code = ""
clinch_array = [0]*( math.ceil(len(traveler_lists)/4) )
for t in self.clinched_by:
Expand DownExpand Up@@ -1800,6 +1802,7 @@ def matching_traveled_edges(self, mv, regions=None, systems=None,
# return a set of edges for the traveled graph format,
# optionally restricted by region or system or placeradius
edge_set = set()
trav_set = set()
for v in mv:
if v.visibility < 1:
continue
Expand All@@ -1813,7 +1816,9 @@ def matching_traveled_edges(self, mv, regions=None, systems=None,
system_match = True
if system_match:
edge_set.add(e)
return edge_set
for t in e.segment.clinched_by:
trav_set.add(t)
return (edge_set, sorted(trav_set, key=lambda TravelerList: TravelerList.traveler_name))

# write the entire set of highway data a format very similar to
# the original .gra format. The first line is a header specifying
Expand DownExpand Up@@ -1898,7 +1903,8 @@ def write_master_tmg_traveled(self, filename, traveler_lists):
tmgfile = open(filename, 'w')
tmgfile.write("TMG 2.0 traveled\n")
tmgfile.write(str(self.num_traveled_vertices()) + " " +
str(self.traveled_edge_count()) + "\n")
str(self.traveled_edge_count()) + " " +
str(len(traveler_lists)) + "\n")

# write visible vertices
t_vertex_num = 0
Expand DownExpand Up@@ -1935,14 +1941,21 @@ def write_master_tmg_traveled(self, filename, traveler_lists):
# restricted by regions in the list if given,
# by systems in the list if given,
# or to within a given area if placeradius is given
def write_subgraphs_tmg(self, graph_list, path, root, descr, category, regions, systems, placeradius, traveler_lists):
def write_subgraphs_tmg(self, graph_list, path, root, descr, category, regions, systems, placeradius):
simplefile = open(path+root+"-simple.tmg","w",encoding='utf-8')
collapfile = open(path+root+".tmg","w",encoding='utf-8')
collapfile = open(path+root+"-collapsed.tmg","w",encoding='utf-8')
travelfile = open(path+root+"-traveled.tmg","w",encoding='utf-8')
(mv, cv_count, tv_count) = self.matching_vertices(regions, systems, placeradius, self.rg_vset_hash)
mse = self.matching_simple_edges(mv, regions, systems, placeradius)
mce = self.matching_collapsed_edges(mv, regions, systems, placeradius)
mte = self.matching_traveled_edges(mv, regions, systems, placeradius)
(mte, traveler_lists) = self.matching_traveled_edges(mv, regions, systems, placeradius)
"""if len(traveler_lists) == 0:
print("\n\nNo travelers in " + root + "\n", flush=True)#"""
# assign traveler numbers
travnum = 0
for t in traveler_lists:
t.traveler_num = travnum
travnum += 1
print('(' + str(len(mv)) + ',' + str(len(mse)) + ") ", end="", flush=True)
print('(' + str(cv_count) + ',' + str(len(mce)) + ") ", end="", flush=True)
print('(' + str(tv_count) + ',' + str(len(mte)) + ") ", end="", flush=True)
Expand All@@ -1951,7 +1964,7 @@ def write_subgraphs_tmg(self, graph_list, path, root, descr, category, regions,
travelfile.write("TMG 2.0 traveled\n")
simplefile.write(str(len(mv)) + ' ' + str(len(mse)) + '\n')
collapfile.write(str(cv_count) + ' ' + str(len(mce)) + '\n')
travelfile.write(str(tv_count) + ' ' + str(len(mte)) + '\n')
travelfile.write(str(tv_count) + ' ' + str(len(mte)) + ' ' + str(len(traveler_lists)) + '\n')

# write vertices
sv = 0
Expand DownExpand Up@@ -1990,9 +2003,9 @@ def write_subgraphs_tmg(self, graph_list, path, root, descr, category, regions,
collapfile.close()
travelfile.close()

graph_list.append(GraphListEntry(root+ "-simple.tmg", descr, len(mv), len(mse), "simple", category))
graph_list.append(GraphListEntry(root+ ".tmg", descr, cv_count, len(mce), "collapsed", category))
graph_list.append(GraphListEntry(root+"-traveled.tmg", descr, tv_count, len(mte), "traveled", category))
graph_list.append(GraphListEntry(root+ "-simple.tmg", descr, len(mv), len(mse), "simple", category))
graph_list.append(GraphListEntry(root+"-collapsed.tmg", descr, cv_count, len(mce), "collapsed", category))
graph_list.append(GraphListEntry(root+"-traveled.tmg", descr, tv_count, len(mte), "traveled", category))

def format_clinched_mi(clinched,total):
"""return a nicely-formatted string for a given number of miles
Expand DownExpand Up@@ -3018,9 +3031,9 @@ def run(self):
(sv, se) = graph_data.write_master_tmg_simple(args.graphfilepath+'/tm-master-simple.tmg')
graph_list.append(GraphListEntry('tm-master-simple.tmg', 'All Travel Mapping Data', sv, se, 'simple', 'master'))

print(et.et() + "Writing master TM collapsed graph file, tm-master.tmg.", flush=True)
(cv, ce) = graph_data.write_master_tmg_collapsed(args.graphfilepath+'/tm-master.tmg')
graph_list.append(GraphListEntry('tm-master.tmg', 'All Travel Mapping Data', cv, ce, 'collapsed', 'master'))
print(et.et() + "Writing master TM collapsed graph file, tm-master-collapsed.tmg.", flush=True)
(cv, ce) = graph_data.write_master_tmg_collapsed(args.graphfilepath+'/tm-master-collapsed.tmg')
graph_list.append(GraphListEntry('tm-master-collapsed.tmg', 'All Travel Mapping Data', cv, ce, 'collapsed', 'master'))

print(et.et() + "Writing master TM traveled graph file, tm-master-traveled.tmg.", flush=True)
(tv, te) = graph_data.write_master_tmg_traveled(args.graphfilepath+'/tm-master-traveled.tmg', traveler_lists)
Expand All@@ -3046,8 +3059,7 @@ def run(self):
for a in area_list:
print(a.base + '(' + str(a.r) + ') ', end="", flush=True)
graph_data.write_subgraphs_tmg(graph_list, args.graphfilepath + "/", a.base + str(a.r) + "-area",
a.place + " (" + str(a.r) + " mi radius)", "area", None, None, a,
traveler_lists)
a.place + " (" + str(a.r) + " mi radius)", "area", None, None, a)
graph_types.append(['area', 'Routes Within a Given Radius of a Place',
'These graphs contain all routes currently plotted within the given distance radius of the given place.'])
print("!")
Expand All@@ -3065,8 +3077,7 @@ def run(self):
region_type = r[4]
print(region_code + ' ', end="",flush=True)
graph_data.write_subgraphs_tmg(graph_list, args.graphfilepath + "/", region_code + "-region",
region_name + " (" + region_type + ")", "region", [ region_code ], None, None,
traveler_lists)
region_name + " (" + region_type + ")", "region", [ region_code ], None, None)
graph_types.append(['region', 'Routes Within a Single Region',
'These graphs contain all routes currently plotted within the given region.'])
print("!")
Expand All@@ -3090,8 +3101,7 @@ def run(self):
if h is not None:
print(h.systemname + ' ', end="",flush=True)
graph_data.write_subgraphs_tmg(graph_list, args.graphfilepath + "/", h.systemname+"-system",
h.systemname + " (" + h.fullname + ")", "system", None, [ h ], None,
traveler_lists)
h.systemname + " (" + h.fullname + ")", "system", None, [ h ], None)
if h is not None:
graph_types.append(['system', 'Routes Within a Single Highway System',
'These graphs contain the routes within a single highway system and are not restricted by region.'])
Expand All@@ -3116,8 +3126,7 @@ def run(self):
if h.systemname in selected_systems:
systems.append(h)
graph_data.write_subgraphs_tmg(graph_list, args.graphfilepath + "/", fields[1],
fields[0], "multisystem", None, systems, None,
traveler_lists)
fields[0], "multisystem", None, systems, None)
graph_types.append(['multisystem', 'Routes Within Multiple Highway Systems',
'These graphs contain the routes within a set of highway systems.'])
print("!")
Expand All@@ -3141,8 +3150,7 @@ def run(self):
if r[0] in selected_regions and r[0] in active_preview_mileage_by_region:
region_list.append(r[0])
graph_data.write_subgraphs_tmg(graph_list, args.graphfilepath + "/", fields[1],
fields[0], "multiregion", region_list, None, None,
traveler_lists)
fields[0], "multiregion", region_list, None, None)
graph_types.append(['multiregion', 'Routes Within Multiple Regions',
'These graphs contain the routes within a set of regions.'])
print("!")
Expand All@@ -3161,8 +3169,7 @@ def run(self):
if len(region_list) >= 2:
print(c[0] + " ", end="", flush=True)
graph_data.write_subgraphs_tmg(graph_list, args.graphfilepath + "/", c[0] + "-country",
c[1] + " All Routes in Country", "country", region_list, None, None,
traveler_lists)
c[1] + " All Routes in Country", "country", region_list, None, None)
graph_types.append(['country', 'Routes Within a Single Multi-Region Country',
'These graphs contain the routes within a single country that is composed of multiple regions that contain plotted routes. Countries consisting of a single region are represented by their regional graph.'])
print("!")
Expand All@@ -3179,8 +3186,7 @@ def run(self):
if len(region_list) >= 1:
print(c[0] + " ", end="", flush=True)
graph_data.write_subgraphs_tmg(graph_list, args.graphfilepath + "/", c[0] + "-continent",
c[1] + " All Routes on Continent", "continent", region_list, None, None,
traveler_lists)
c[1] + " All Routes on Continent", "continent", region_list, None, None)
graph_types.append(['continent', 'Routes Within a Continent',
'These graphs contain the routes on a continent.'])
print("!")
Expand Down