2012-09-10 5 views
0

J'essaie de faire un dispositif de suivi GPS RealTime en utilisant python().suivi GPS en temps réel

dispose

j'ai 10 emplacements fixes

loc0 = (lat0,lon0) 
loc1 = (lat1,lon1) 
loc2 = (lat2,lon2) 
loc3 = (lat3,lon3) 
loc4 = (lat4,lon4) 
loc5 = (lat5,lon5) 
loc6 = (lat6,lon6) 
loc7 = (lat7,lon7) 
loc8 = (lat8,lon8) 
loc9 = (lat9,lon9) 

ma position actuelle

locCurrent = (latCurrent,lonCurrent) 

code pour calculer les distances

def haversine(lon1, lat1, lon2, lat2): 
    """ 
    Calculate the great circle distance between two points 
    on the earth (specified in decimal degrees) 
    """ 
    # convert decimal degrees to radians 
    lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2]) 
    # haversine formula 
    dlon = lon2 - lon1 
    dlat = lat2 - lat1 
    a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2 
    c = 2 * asin(sqrt(a)) 
    km = 6367 * c 
    return km 

doute

1. comment est-ce que je suis supposé déclencher une fonction, comme envoyer un Email ou SMS, efficacement quand la distance est inférieure à 5 kms (une façon possible est d'exécuter une boucle while infinie et de la vérifier par rapport au distance (ici 5kms), mais c'est pas très efficace,)

2.) qui est la langue la plus préférée autre que python pour accomplir la même

s'il vous plaît suggérer quelques tutoriels documentés concernant le même, grâce à avance

+0

est-ce que cela fonctionne sur un téléphone ou quelque chose? ou un serveur central? ou un pc? ou un tableau arduino? comment obtenez-vous vos valeurs? pourriez-vous juste faire un travail cron ou quelque chose? –

+0

Je viens de commencer à planifier mon projet .et je prévois de le lancer sur un serveur central mais à partir de maintenant j'ai un OSX, et en ce qui concerne les informations de localisation j'ai vu quelques exemples de connexion à un appareil GPS via série ports.J'ai besoin d'obtenir la bonne information et la direction pour commencer, pourriez-vous me suggérer quelques tutoriels concernant la même – Abhimanyu

+0

si vous obtenez vos données d'un port série, vous aurez juste à interroger continuellement de sorte que vous regardez essentiellement un infini boucle ... si c'est une application de téléphone qui va parler à un serveur central, vous recevrez des requêtes de l'application et il n'y aura pas besoin d'une boucle infinie ... une fois que vous obtenez vos points, vous pouvez les tracer sur google maps api ou quelque chose –

Répondre

0

Si vous envisagez de constamment col lire les données GPS via un port série, jetez un oeil au serveur torsadé (son réacteur prend en charge les événements des ports série) http://twistedmatrix.com/trac/ Il y a un exemple qui obtient constamment la position GPS par rapport à la série - voir gpsfix.py sur cette page http://twistedmatrix.com/documents/current/core/examples/. Ce n'est peut-être pas ce que vous voulez, mais c'est un bon point de départ, et vous permettra d'évaluer cette approche avec un code de travail.

+0

Quelles sont les autres façons de collecter des données, par exemple si je fixe le GPS dans ma voiture et que je veux suivre son emplacement et si c'est, disons à 5 km d'un emplacement fixe, il va déclencher une action, merci – Abhimanyu