コード例 #1
0
    def test_reading(self):

        all_trips = TripLoader.get_all_trips("test/trips/0/")        
        for trip in all_trips[:10]:
            m = BusMatcher('test/shapes_up.txt')
            V=None
            p={}
            for location in trip.locations:                
                V,p = m.step((location.latitude,location.longitude),V,p)
            assert(m.current_shape(V)=="101")
コード例 #2
0
    def fromTimeDataUpdateBaseMap(self, form, end):
        # 删除掉以前的数据
        a = ["../temp/matched_trips_directory_1", "../temp/newTripOut"]
        for folder in a:
            utils.clean_and_mkdir(folder)

        trips = Trip_get(form, end, self.trace).load_trip_from_db()
        self.match_trip_from_db(self.init_graphdb_filename, trips,
                                self.matched_trips_directory_1)
        # 将中断的点提取出来 作为 下一步的输入
        r.getNewTrip(self.matched_trips_directory_1, self.newTripOut, 65)
        if (not os.listdir(self.newTripOut)):
            print("\n 没有更新")
            os._exit(0)
        trips = TripLoader.load_all_trips(self.newTripOut)

        self.createMap(trips, self.cell_size, self.gaussian_blur,
                       self.init_graphdb_filename, 3, self.graphdb_filename, 1)
コード例 #3
0
import cv
from math import atan2,sqrt,ceil,pi
import sys,getopt,os
from location import TripLoader
from pylibs import spatialfunclib
from itertools import tee, izip

all_trips = TripLoader.get_all_trips("trips/")

##
## important parameters
##

cell_size = 2 # meters
mask_threshold = 100 # turns grayscale into binary
gaussian_blur = 17
voronoi_sampling_interval = 10 # sample one point every so many pixels along the outline
MIN_DIR_COUNT = 10
shave_until = 0.9999
trip_max = len(all_trips)

opts,args = getopt.getopt(sys.argv[1:],"c:t:b:s:hn:d:")
for o,a in opts:
    if o == "-c":
	cell_size=int(a)
    elif o == "-t":
	mask_threshold=int(a)
    elif o == "-b":
	gaussian_blur = int(a)	
    elif o == "-s":
	voronoi_sampling_interval = int(a)
コード例 #4
0
ファイル: kde.py プロジェクト: yy2lyx/Trace
                ox = int(xscale * (orig.longitude - min_lon))
                dy = height - int(yscale * (dest.latitude - min_lat))
                dx = int(xscale * (dest.longitude - min_lon))
                cv.Line(lines, (ox, oy), (dx, dy), (255), 1, cv.CV_AA)

        # save the lines
        cv.SaveImage(prefix + "raw_data.png", lines)
        print("done.")
        # print "Intensity map acquired."
        sys.stdout.write("Smoothing... ")
        sys.stdout.flush()

        # # create the mask and compute the contour
        cv.Smooth(themap, themap, cv.CV_GAUSSIAN, gaussian_blur, gaussian_blur)
        cv.SaveImage(prefix + "kde.png", themap)

        print("done.")
        print("\nKDE generation complete.")


if __name__ == '__main__':

    k = KDE()
    trips = TripLoader.load_all_trips_from_db("2019-00-01", "2019-08-01")
    k.create_kde_with_trips(trips, 20, 17)

    # trips_path="../trips"
    # prefix="../temp_20190000-20190500-20200000/"
    # trips = TripLoader.load_all_trips(trips_path)
    # k.create_kde_with_trips(trips, 1,17)
コード例 #5
0
ファイル: kde.py プロジェクト: haoranshigrab/skeleton_gis2012
        cv.SaveImage("raw_data.png", lines)
        
        print "done."
        #print "Intensity map acquired."
        sys.stdout.write("Smoothing... ")
        sys.stdout.flush()
        
        # # create the mask and compute the contour
        cv.Smooth(themap, themap, cv.CV_GAUSSIAN, gaussian_blur, gaussian_blur)
        cv.SaveImage("kde.png", themap)
        
        print "done."
        print "\nKDE generation complete."

if __name__ == '__main__':
    
    opts,args = getopt.getopt(sys.argv[1:],"c:b:p:h")
    for o,a in opts:
        if o == "-c":
            cell_size=int(a)
        elif o == "-b":
            gaussian_blur = int(a)	
        elif o == "-p":
            trips_path = str(a)
        elif o == "-h":
            print "Usage: kde.py [-c <cell_size>] [-b <gaussian_blur_size>] [-p <trips_path>] [-h]\n"
            sys.exit()
    
    k = KDE()
    k.create_kde_with_trips(TripLoader.load_all_trips(trips_path))
コード例 #6
0
    (opts, args) = getopt.getopt(sys.argv[1:], "p:v:d:b:r:n:h")

    for o, a in opts:
        if o == "-p":
            max_path_length = int(a)
        if o == "-v":
            min_graph_edge_volume = int(a)
        if o == "-d":
            location_projection_distance_limit = float(a)
        if o == "-b":
            location_bearing_difference_limit = math.cos(math.radians(
                float(a)))
        if o == "-r":
            trip_round = int(a)
        if o == "-n":
            trip_max = int(a)
        if o == "-h":
            print "Usage: python cao2009_generate_graph.py [-p <max_path_length>] [-v <min_graph_edge_volume>] [-d <location_projection_distance_limit>] [-b <location_bearing_difference_limit>] [-r <clarified_trips_round>] [-n <trip_max>] [-h]\n"
            exit()

    all_trips = TripLoader.get_all_trips("clarified_trips/n" + str(trip_max) +
                                         "/round" + str(trip_round) + "/")

    start_time = time.time()
    g = Graph(all_trips[:trip_max])
    g.generate_graph()

    print "\nGraph generation complete (in " + str(time.time() -
                                                   start_time) + " seconds).\n"
コード例 #7
0
    # default values
    trip_round = 0
    trip_max = 889
    
    (opts, args) = getopt.getopt(sys.argv[1:],"p:v:d:b:r:n:h")
    
    for o,a in opts:
        if o == "-p":
            max_path_length = int(a)
        if o == "-v":
            min_graph_edge_volume = int(a)
        if o == "-d":
            location_projection_distance_limit = float(a)
        if o == "-b":
            location_bearing_difference_limit = math.cos(math.radians(float(a)))
        if o == "-r":
            trip_round = int(a)
        if o == "-n":
            trip_max = int(a)
        if o == "-h":
            print "Usage: python cao2009_generate_graph.py [-p <max_path_length>] [-v <min_graph_edge_volume>] [-d <location_projection_distance_limit>] [-b <location_bearing_difference_limit>] [-r <clarified_trips_round>] [-n <trip_max>] [-h]\n"
            exit()
    
    all_trips = TripLoader.get_all_trips("clarified_trips/n" + str(trip_max) + "/round" + str(trip_round) + "/")
    
    start_time = time.time()
    g = Graph(all_trips[:trip_max])
    g.generate_graph()
    
    print "\nGraph generation complete (in " + str(time.time() - start_time) + " seconds).\n"