Meine Aufgabe ist es, die Rundreise Entfernung von der Startstelle zu allen Veranstaltungsorten, die ich von Facebook in Meilen und zurück zum Start ergriffen habe, zu berechnen. Mein Code so weit:Berechnung der Rundreise Entfernung in Python
import json
import re
from urllib import urlopen
import math
def getLatRad(latitude):
return float(latitude) * (math.pi/180.0)
def getLongRad(longitude):
return float(longitude) * (math.pi/180.0)
tuplist =[]
finaltuplist = []
#start_latitude = float(input('Pls enter the latitude co-ordinate of your starting location:'))
#start_longitude = float(input('Pls enter the longitude co-ordinate of your starting location:'))
start_latitude = 41.721194054071
start_longitude = -73.934258235003
longRad1= getLongRad(start_longitude)
latRad1 = getLatRad(start_latitude)
def main():
eventids = [
'264100516989470',
'129843580476568',
'158475914271199',
]
for event in eventids:
f = urlopen('http://graph.facebook.com/%s' % event)
d = json.load(f)
name = d['name']
longitude = d["venue"]["longitude"]
latitude = d["venue"]["latitude"]
tuplist.append((name,longitude,latitude))
for coordinates in tuplist:
longRad2= getLongRad(coordinates[1])
latRad2= getLatRad(coordinates[2])
dlon = longRad2 - longRad1
dlat = latRad2 - latRad1
a = math.sin(dlat/2)**2 + math.cos(latRad1) * math.cos(latRad2) * math.sin(dlon/2)**2
c = 2 * math.asin(math.sqrt(a))
m = 3960 * c
sum = m + m
print sum
if __name__ == '__main__':
main()
Diese so weit ist, wie ich weiß, wie auf meinem eigenen zu tun. Gibt es eine Chance, dass mir jemand in die richtige Richtung zeigen könnte, anstatt die einzelnen Entfernungen vom Startort zu berechnen?
Haben Sie vor, die "optimale" Rundfahrtdistanz aller Punkte, die Hin- und Rückfahrt in einer bestimmten Reihenfolge oder "irgendeine" Hin- und Rückfahrt zu berechnen, die alle Punkte erreicht? – ybakos
+1 für Ybakos beantworten. Wenn Sie ein Verkäuferproblem haben, müssen Sie sich eine Heuristik einfallen lassen, oder? – tartar
Ich würde vermuten, dass die Ereignisse eine Kalenderordnung haben (wahrscheinlich die der IDs in der EventIDs-Array, so dass es kein Konzept von "Optimum" im Zusammenhang mit diesem Problem gibt. – Endophage