Exemplo n.º 1
0
def myDist(vecA, vecB):
	distSpotA = latlonDist._dist(    (vecA.item(0,0),vecA.item(0,1))     ,(vecA.item(0,3), vecA.item(0,4))    )
	distSpotB = latlonDist._dist(    (vecB.item(0,0),vecB.item(0,1))     ,(vecB.item(0,3), vecB.item(0,4))    )
	# print distSpotB
	# print distSpotA
	distSpotAB = abs(distSpotA - distSpotB)

	distAB = latlonDist._dist(    (vecA.item(0,3),vecA.item(0,4))    ,(vecB.item(0,3),vecB.item(0,4))    )
	diffNotesAB = abs(    vecA.item(0,2)-vecB.item(0,2)    )

	dist = distSpotAB+distAB+diffNotesAB
	return dist
Exemplo n.º 2
0
def myDist(vecA, vecB):
    distSpotA = latlonDist._dist((vecA.item(0, 0), vecA.item(0, 1)),
                                 (vecA.item(0, 3), vecA.item(0, 4)))
    distSpotB = latlonDist._dist((vecB.item(0, 0), vecB.item(0, 1)),
                                 (vecB.item(0, 3), vecB.item(0, 4)))
    # print distSpotB
    # print distSpotA
    distSpotAB = abs(distSpotA - distSpotB)

    distAB = latlonDist._dist((vecA.item(0, 3), vecA.item(0, 4)),
                              (vecB.item(0, 3), vecB.item(0, 4)))
    diffNotesAB = abs(vecA.item(0, 2) - vecB.item(0, 2))

    dist = distSpotAB + distAB + diffNotesAB
    return dist
Exemplo n.º 3
0
def genAll():
	clusterLabels = csv.reader(open("clustersLabels.csv","r"))
	touristInfo = csv.reader(open("touristInfo.csv","r"))
	dictAll = {}
	touristDict = {}

	for row in touristInfo:
		touristDict[row[0]] = [row[1],row[2],row[3]]
	count = 0
	for row in clusterLabels:
		if row[0] in touristDict:
			for item in touristDict[row[0]]:
				row.append(item)
			dictAll[count] = row
			count+=1
	for key, value in dictAll.iteritems():
		temp = []
		spot = (float(value[1]),float(value[2]))
		residence = (float(value[-2]), float(value[-1]))
		dist = latlonDist._dist(residence,spot)
		temp.append(value[0]) #uid
		temp.append(value[3]) #clusterLabel
		temp.append(value[5]) #noteNumber
		temp.append(dist)	#distResidenceSpot
		temp.append(value[4]) #publicationDate
		dictAll[key]  = temp
	return dictAll
Exemplo n.º 4
0
def convertGeoCode(filename,destname):
	geocodeBuffer = genGeoCodeDict()
	writeRows = []
	with open(filename) as rawCSV:
		rawContent = csv.reader(rawCSV)
		for row in rawContent:
			if row[1] != 'null' and row[1] in geocodeBuffer:
				distance = latlonDist._dist(geocodeBuffer[row[1]],geocodeBuffer[destname])
				writeRows.append((0,row[2],distance,0))
	print '%d tours are found' % len(writeRows)
	with open('data/'+filename,'wb') as destCSV:
		writer = csv.writer(destCSV)
		for row in writeRows:
			writer.writerow(row)
Exemplo n.º 5
0
def _dist(p,q):
    assert type(p) is np.matrix, 'p is not matrix!'
    assert type(q) is np.matrix, 'q is not matrix!'
    spot1 = (p.item(0,1), p.item(0,0))
    spot2 = (q.item(0,1), q.item(0,0))
    return latlonDist._dist(spot1,spot2)
Exemplo n.º 6
0
def getDistance(p, q):
    assert type(p) is np.ndarray, 'p is not matrix!'
    assert type(q) is np.ndarray, 'q is not matrix!'
    pointA = (p[1], p[0])
    pointB = (q[1], q[0])
    return latlonDist._dist(pointA, pointB)
Exemplo n.º 7
0
def distSpotTourist(dataSet):
	n = shape(dataSet)[0] # get row number of dataSet
	for i in range(n):
		dataSet[i,1] = latlonDist._dist(   (dataSet[i,0],dataSet[i,1]), (dataSet[i,3],dataSet[i,4]) )
	return dataSet[:,1:3]
Exemplo n.º 8
0
def distSpotTourist(dataSet):
    n = shape(dataSet)[0]  # get row number of dataSet
    for i in range(n):
        dataSet[i, 1] = latlonDist._dist((dataSet[i, 0], dataSet[i, 1]),
                                         (dataSet[i, 3], dataSet[i, 4]))
    return dataSet[:, 1:3]
Exemplo n.º 9
0
def _dist(p, q):
    assert type(p) is np.matrix, 'p is not matrix!'
    assert type(q) is np.matrix, 'q is not matrix!'
    spot1 = (p.item(0, 1), p.item(0, 0))
    spot2 = (q.item(0, 1), q.item(0, 0))
    return latlonDist._dist(spot1, spot2)