Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if len(line) == 0:
break
id, lat, lon = line.strip().split(',')
lat = float(lat)
lon = float(lon)
count += 1
if count % 1000000 == 0:
print('%d...' % count)
yield int(id), (lat, lon, lat, lon), None
t0 = time.time()
p = rtree.index.Property()
p.filename = 'theindex'
p.overwrite = True
p.storage = rtree.index.RT_Disk
p.dimension = 2
# 17.5 sec
#p.variant = rtree.index.RT_Star
#p.fill_factor = 0.4
# 17.4 sec:
#p.variant = rtree.index.RT_Quadratic
#p.fill_factor = 0.4
# 17.5 sec:
#p.variant = rtree.index.RT_Linear
#p.fill_factor = 0.4
# 34 sec:
#p.leaf_capacity = 1000
def rtree_generator_function():
c = 0
centers = np.dstack((sg.center_lon, sg.center_lat))
for i, axis in enumerate(centers):
for j, (x, y) in enumerate(axis):
c += 1
yield (c, (x, y, x, y), (i, j))
logger.info("Building Faces (centers) Rtree Topology Cache for {0}".format(self.name))
_, temp_file = tempfile.mkstemp(suffix='.face')
start = time.time()
p = index.Property()
p.filename = str(temp_file)
p.overwrite = True
p.storage = index.RT_Disk
p.dimension = 2
idx = index.Index(p.filename,
rtree_generator_function(),
properties=p,
overwrite=True,
interleaved=True)
idx.close()
logger.info("Built Faces (centers) Rtree Topology Cache in {0} seconds.".format(time.time() - start))
shutil.move('{}.dat'.format(temp_file), self.face_tree_data_file)
shutil.move('{}.idx'.format(temp_file), self.face_tree_index_file)
ug = UGrid.from_nc_dataset(nc=nc)
def rtree_faces_generator_function():
for face_idx, node_list in enumerate(ug.faces):
nodes = ug.nodes[node_list]
xmin, ymin = np.min(nodes, 0)
xmax, ymax = np.max(nodes, 0)
yield (face_idx, (xmin, ymin, xmax, ymax), face_idx)
logger.info("Building Faces Rtree Topology Cache for {0}".format(self.name))
start = time.time()
_, face_temp_file = tempfile.mkstemp(suffix='.face')
pf = index.Property()
pf.filename = str(face_temp_file)
pf.overwrite = True
pf.storage = index.RT_Disk
pf.dimension = 2
idx = index.Index(pf.filename,
rtree_faces_generator_function(),
properties=pf,
interleaved=True,
overwrite=True)
idx.close()
logger.info("Built Faces Rtree Topology Cache in {0} seconds.".format(time.time() - start))
shutil.move('{}.dat'.format(face_temp_file), self.face_tree_data_file)
shutil.move('{}.idx'.format(face_temp_file), self.face_tree_index_file)
def rtree_nodes_generator_function():
for node_index, (x, y) in enumerate(ug.nodes):
yield (node_index, (x, y, x, y), node_index)
logger.info("Building Nodes Rtree Topology Cache for {0}".format(self.name))
start = time.time()
overwrite=True)
idx.close()
logger.info("Built Faces Rtree Topology Cache in {0} seconds.".format(time.time() - start))
shutil.move('{}.dat'.format(face_temp_file), self.face_tree_data_file)
shutil.move('{}.idx'.format(face_temp_file), self.face_tree_index_file)
def rtree_nodes_generator_function():
for node_index, (x, y) in enumerate(ug.nodes):
yield (node_index, (x, y, x, y), node_index)
logger.info("Building Nodes Rtree Topology Cache for {0}".format(self.name))
start = time.time()
_, node_temp_file = tempfile.mkstemp(suffix='.node')
pn = index.Property()
pn.filename = str(node_temp_file)
pn.overwrite = True
pn.storage = index.RT_Disk
pn.dimension = 2
idx = index.Index(pn.filename,
rtree_nodes_generator_function(),
properties=pn,
interleaved=True,
overwrite=True)
idx.close()
logger.info("Built Nodes Rtree Topology Cache in {0} seconds.".format(time.time() - start))
shutil.move('{}.dat'.format(node_temp_file), self.node_tree_data_file)
shutil.move('{}.idx'.format(node_temp_file), self.node_tree_index_file)