owlps/owlps-positioning/treatment.cc

417 lines
13 KiB
C++
Raw Normal View History

Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
#include "treatment.hh"
bool Treatment::apExists(const string &ap_addr)const
{
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
string str;
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
for (unsigned int i = 0 ; i < access_point_list.size() ; i++)
{
str = access_point_list[i].getApAddr() ;
const int length = str.length() ;
for (int j = 0 ; j < length ; ++j)
str[j] = tolower(str[j]) ;
if (str == ap_addr)
{
return true ;
}
}
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
return false ;
}
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
unsigned int Treatment::apIndex(const string &ap_addr)const
{
unsigned int i;
string str;
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
for (i = 0 ; i < access_point_list.size() ; i++)
{
str = access_point_list[i].getApAddr() ;
const int length = str.length() ;
for (int j = 0 ; j < length ; ++j)
str[j] = tolower(str[j]) ;
if (str == ap_addr)
{
return i;
}
}
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
return 0; // Should never happen
}
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
Reconstitution du dépôt, étape 5 (et dernière) Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont : - Dans code/infrastructure-centred/owlps-client/ : importation des modifs de Julien dans la dernière version du client (Julien avait utilisé comme base une ancienne version). - Dans code/infrastructure-centred/owlps-listener/ : idem. - Dans code/owlps-positioning/ : ° Suppression de client (déplacé dans les archives). ° Makefile : ajout d'une pseudo-cible .PHONY. - code/writeInDb/ : ° Le binaire n'est pas versionné. ° Application de astyle --style=gnu. | r93 | jgraeffly | 2009-05-27 14:51:40 +0200 (mer 27 mai 2009) | 23 lines | Chemins modifiés : | R /code/infrastructure-centred/owlps-aggregator/owlps-aggregator.h | R /code/infrastructure-centred/owlps-aggregator/owlps-aggregatord.c | R /code/infrastructure-centred/owlps-client/owlps-client.c | R /code/infrastructure-centred/owlps-listener/owlps-listener.h | R /code/infrastructure-centred/owlps-listener/owlps-listenerd.c | R /code/libowlps/owlps.h | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/client | A /code/owlps-positioning/libowlps-positioning.cc | A /code/owlps-positioning/libowlps-positioning.hh | R /code/owlps-positioning/owlps-positioning.cc | A /code/owlps-positioning/owlps-positioning.cfg | R /code/owlps-positioning/owlps-positioning.hh | R /code/owlps-positioning/positioning.cc | R /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | R /code/owlps-positioning/treatment.cc | R /code/owlps-positioning/treatment.hh | A /code/writeInDb | A /code/writeInDb/writeindb | A /code/writeInDb/writeindb.cc | A /code/writeInDb/writeindb.hh | | - Mise à jour du positioner : | Prise en charge de la BdD pour utilisation ainsi que pour la | sauvegarde des résultats | Envoi du résultat au client | Prise en compte du fichier de configuration ainsi que des | lignes de commande avec la library boost | | - Mise à jour de l'aggregator : | Pris en compte de la BdD pour la sauvegarde des requetes de | calibration ou de localisation | Envoi des demandes de localisation uniquement vers le | positioner | Ajout des options utilisables en ligne de commande et dans le | fichier de conf | | - Mise à jour du listener : | Ajout de l'envoi de l'adresse IP du mobile | | - Mise à jour du mobile : | Ajout de la socket de récupération de la réponse du serveur la | réponse est sous forme de 3 float (x, y, z) et non d'un Point. | | - Mise à jour de owlps.h : | Ajout des ports par défaut du positioner ainsi que du mobile. | | - Ajout de writeInDb : | Programme permettant de mettre les données contenu dans un | fichier dans la BdD git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@94 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 17:02:20 +02:00
void Treatment::makeMeasurementList(vector<couple_info> recv_info)
{
bool inserted = false;
Measurement measure;
char *ret = (char *)malloc(sizeof(char) * 18) ;
string mac_a;
int value;
for (unsigned int i = 0; i < recv_info.size(); i++)
{
sprintf(ret, "%02x:%02x:%02x:%02x:%02x:%02x", recv_info.at(i).ap_mac_addr_bytes[0], recv_info.at(i).ap_mac_addr_bytes[1], recv_info.at(i).ap_mac_addr_bytes[2], recv_info.at(i).ap_mac_addr_bytes[3], recv_info.at(i).ap_mac_addr_bytes[4], recv_info.at(i).ap_mac_addr_bytes[5]) ;
ret[17] = '\0';
mac_a = ret;
value = recv_info.at(i).antenna_signal_dbm;
for (unsigned int j = 0 ; j < m.size() ; j++)
if (m[j].getMacAddr() == mac_a)
{
m[j].addSsValue(value);
inserted = true;
break;
}
if (inserted == false)
{
measure.setMacAddr(mac_a);
measure.addSsValue(value);
m.push_back(measure);
}
}
free(ret);
}
vector<Point> Treatment::getkClosestInSs(const unsigned int &k, const Point *point_ignored)const
{
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
unsigned int i, j, min_idx;
vector<float> distances_vector;
vector<Point> points_vector;
Point tmp_pt;
float tmp_distance = 0, dist_max = 10000000, tmp_min;
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
for (i = 0 ; i < reference_point_list.size() ; i++)
if (point_ignored == NULL || (reference_point_list[i].getCoordinates() != *point_ignored))
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
{
tmp_distance = reference_point_list[i].getSsSquareDistance(m);
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
/* if not k points, add it */
if (distances_vector.size() < k)
{
distances_vector.push_back(tmp_distance);
points_vector.push_back(reference_point_list[i].getCoordinates());
dist_max = (dist_max < tmp_distance) ? tmp_distance : dist_max;
}
else
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
{
/* if tmp_dst < dist_max, should add it and remove previous greatest dist. */
if (dist_max > tmp_distance)
{
/* remove old max */
for (j = 0 ; j < distances_vector.size() ; j++)
if (distances_vector[j] == dist_max)
{
distances_vector[j] = tmp_distance;
points_vector[j] = reference_point_list[i].getCoordinates();
break;
}
/* Now seek the new max. distance */
dist_max = distances_vector[0];
for (j = 1 ; j < distances_vector.size() ; j++)
if (distances_vector[j] > dist_max)
dist_max = distances_vector[j];
}
/* Else nothing needs to be done */
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
}
}
/* Sorts the vector */
for (i = 0 ; i < distances_vector.size() - 1 ; i++)
{
tmp_min = distances_vector[i];
min_idx = i;
for (j = i+1 ; j < distances_vector.size() ; j++)
if (tmp_min > distances_vector[j])
{
tmp_min = distances_vector[j];
min_idx = j;
}
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
if (min_idx != i)
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
{
/* Swap points */
tmp_pt = points_vector[i];
points_vector[i] = points_vector[min_idx];
points_vector[min_idx] = tmp_pt;
/* Swap distances */
distances_vector[min_idx] = distances_vector[i];
distances_vector[i] = tmp_min;
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
}
}
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
return points_vector;
}
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
Point Treatment::fbcm(const int &client_idx)const
{
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
Point ret(0, 0, 0);
vector<string> addr;
vector<float> dist_vect;
vector<Point> centres;
unsigned int i, ap_idx;
float constant_term, minmax_res, minmax_max;
float x = MINMAX_X_START, y = MINMAX_Y_START, z = MINMAX_Z_START;
i = 0;
//cout << "FBCM: ";
for (i = 0 ; i < m.size() ; i++)
if (apExists(m[i].getMacAddr()))
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
{
ap_idx = apIndex(m[i].getMacAddr());
//cout << "AP idx: " << ap_idx << " ";
centres.push_back(access_point_list[ap_idx].getCoordinates());
addr.push_back(m[i].getMacAddr());
constant_term = access_point_list[ap_idx].getOutputPower() + access_point_list[ap_idx].getAntennaGain() + 2;
constant_term += 20 * log10((300000000.0 / (float) access_point_list[ap_idx].getFrequency()) / (4*M_PI));
//end of expr. should be: client_list[client_idx].getAntennaGain() instead of 2.
//cout << "20log(" << (300000000.0 / (float) access_point_list[ap_idx].getFrequency()) / (4*M_PI) << ") = ";
//cout << constant_term << " ";
dist_vect.push_back(pow(10, (constant_term - m[i].getAverage()) / (10 * access_point_list[ap_idx].getFriisIndex())));
//cout << endl;
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
}
/* Then: min-max */
minmax_res = 1000000;
for (x = MINMAX_X_START ; x < MINMAX_X_STOP ; x += MINMAX_STEP)
for (y = MINMAX_Y_START ; y < MINMAX_Y_STOP ; y += MINMAX_STEP)
for (z = MINMAX_Z_START ; z <= MINMAX_Z_STOP ; z += MINMAX_STEP)
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
{
minmax_max = 0;
for (i = 0 ; i < centres.size() ; i++)
if (abs(centres[i].distance(x, y, z) - dist_vect[i]) > minmax_max)
minmax_max = abs(centres[i].distance(x, y, z) - dist_vect[i]) ;
if (minmax_max < minmax_res)
{
ret.setX(x);
ret.setY(y);
ret.setZ(z);
minmax_res = minmax_max;
}
}
/* Clear all vectors */
addr.clear();
dist_vect.clear();
centres.clear();
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
/* Return position */
return ret;
}
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
Point Treatment::fbcm_friis(const vector<float> friis_idx_list, const float &z)const
{
Point ret(0, 0, 0);
vector<float> dist_vect;
vector<Point> centres;
unsigned int i, ap_idx;
float constant_term, minmax_res, minmax_max;
float x = MINMAX_X_START, y = MINMAX_Y_START ;
vector<Measurement> vm = m; //Used when filtering 3 strongest APs
vector<float> friis_idx = friis_idx_list; //Used when filtering 3 strongest APs
i = 0;
for (i = 0 ; i < vm.size() ; i++)
{
if (apExists(vm[i].getMacAddr()))
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
{
ap_idx = apIndex(vm[i].getMacAddr());
constant_term = access_point_list[ap_idx].getOutputPower() + access_point_list[ap_idx].getAntennaGain() + 2;
constant_term += 20 * log10((300000000.0 / (float) access_point_list[ap_idx].getFrequency()) / (4*M_PI));
if (friis_idx[i] != -1)
{
centres.push_back(access_point_list[ap_idx].getCoordinates());
dist_vect.push_back(pow(10, (constant_term - vm[i].getAverage()) / (10 * friis_idx[i])));
}
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
}
}
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
/* Then: min-max */
minmax_res = 1000000;
for (x = MINMAX_X_START ; x < MINMAX_X_STOP ; x += MINMAX_STEP)
for (y = MINMAX_Y_START ; y < MINMAX_Y_STOP ; y += MINMAX_STEP)
{
minmax_max = 0;
for (i = 0 ; i < centres.size() ; i++)
if (abs(centres[i].distance(x, y, z) - dist_vect[i]) > minmax_max)
minmax_max = abs(centres[i].distance(x, y, z) - dist_vect[i]) ;
if (minmax_max < minmax_res)
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
{
ret.setX(x);
ret.setY(y);
ret.setZ(z);
minmax_res = minmax_max;
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
}
}
/* Clear all vectors */
dist_vect.clear();
centres.clear();
/* Return position */
return ret;
}
Point Treatment::interlink(const int &client_idx) const
{
Point ret(0, 0, 0);
vector<string> addr;
vector<float> dist_vect;
vector<Point> centres;
unsigned int i, ap_idx;
float constant_term, minmax_res, minmax_max;
float x = MINMAX_X_START, y = MINMAX_Y_START, z = MINMAX_Z_START;
i = 0;
for (i = 0 ; i < m.size() ; i++)
if (apExists(m[i].getMacAddr()))
{
ap_idx = apIndex(m[i].getMacAddr());
centres.push_back(access_point_list[ap_idx].getCoordinates());
addr.push_back(m[i].getMacAddr());
constant_term = access_point_list[ap_idx].getOutputPower() + access_point_list[ap_idx].getAntennaGain();
constant_term += 20 * log10((300000000.0 / (float) access_point_list[ap_idx].getFrequency()) / (4*M_PI)) + 2;
//end of expr. should be: client_list[client_idx].getAntennaGain() instead of 2.
dist_vect.push_back(pow(10, (constant_term - m[i].getAverage()) / 35));
}
/* Then: min-max */
minmax_res = 1000000;
for (x = MINMAX_X_START ; x < MINMAX_X_STOP ; x += MINMAX_STEP)
for (y = MINMAX_Y_START ; y < MINMAX_Y_STOP ; y += MINMAX_STEP)
for (z = MINMAX_Z_START ; z < MINMAX_Z_STOP ; z += MINMAX_STEP)
{
minmax_max = 0;
for (i = 0 ; i < centres.size() ; i++)
if (abs(centres[i].distance(x, y, z) - dist_vect[i]) > minmax_max)
minmax_max = abs(centres[i].distance(x, y, z) - dist_vect[i]);
if (minmax_max < minmax_res)
{
ret.setX(x);
ret.setY(y);
ret.setZ(z);
minmax_res = minmax_max;
}
}
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
/* Clear all vectors */
addr.clear();
dist_vect.clear();
centres.clear();
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
/* Return position */
return ret;
}
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
Reconstitution du dépôt, étape 5 (et dernière) Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont : - Dans code/infrastructure-centred/owlps-client/ : importation des modifs de Julien dans la dernière version du client (Julien avait utilisé comme base une ancienne version). - Dans code/infrastructure-centred/owlps-listener/ : idem. - Dans code/owlps-positioning/ : ° Suppression de client (déplacé dans les archives). ° Makefile : ajout d'une pseudo-cible .PHONY. - code/writeInDb/ : ° Le binaire n'est pas versionné. ° Application de astyle --style=gnu. | r93 | jgraeffly | 2009-05-27 14:51:40 +0200 (mer 27 mai 2009) | 23 lines | Chemins modifiés : | R /code/infrastructure-centred/owlps-aggregator/owlps-aggregator.h | R /code/infrastructure-centred/owlps-aggregator/owlps-aggregatord.c | R /code/infrastructure-centred/owlps-client/owlps-client.c | R /code/infrastructure-centred/owlps-listener/owlps-listener.h | R /code/infrastructure-centred/owlps-listener/owlps-listenerd.c | R /code/libowlps/owlps.h | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/client | A /code/owlps-positioning/libowlps-positioning.cc | A /code/owlps-positioning/libowlps-positioning.hh | R /code/owlps-positioning/owlps-positioning.cc | A /code/owlps-positioning/owlps-positioning.cfg | R /code/owlps-positioning/owlps-positioning.hh | R /code/owlps-positioning/positioning.cc | R /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | R /code/owlps-positioning/treatment.cc | R /code/owlps-positioning/treatment.hh | A /code/writeInDb | A /code/writeInDb/writeindb | A /code/writeInDb/writeindb.cc | A /code/writeInDb/writeindb.hh | | - Mise à jour du positioner : | Prise en charge de la BdD pour utilisation ainsi que pour la | sauvegarde des résultats | Envoi du résultat au client | Prise en compte du fichier de configuration ainsi que des | lignes de commande avec la library boost | | - Mise à jour de l'aggregator : | Pris en compte de la BdD pour la sauvegarde des requetes de | calibration ou de localisation | Envoi des demandes de localisation uniquement vers le | positioner | Ajout des options utilisables en ligne de commande et dans le | fichier de conf | | - Mise à jour du listener : | Ajout de l'envoi de l'adresse IP du mobile | | - Mise à jour du mobile : | Ajout de la socket de récupération de la réponse du serveur la | réponse est sous forme de 3 float (x, y, z) et non d'un Point. | | - Mise à jour de owlps.h : | Ajout des ports par défaut du positioner ainsi que du mobile. | | - Ajout de writeInDb : | Programme permettant de mettre les données contenu dans un | fichier dans la BdD git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@94 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 17:02:20 +02:00
vector<float> Treatment::computeFriisFromRefList(const Point &p)
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
{
vector<float> friis_idx_list;
Point pt_coords, ap_coords;
float ap_power, ap_gain, calib_gain = 2, const_term, mes_power/*, friis_sum*/;
unsigned int ap_freq;
string ap_mac;
/* Compute an index for each ref point. List stored in friis_idx_list */
/* Compute an index for Point p. List stored in friis_idx_list */
for (unsigned int j = 0 ; j < reference_point_list.size() ; j++)
{
pt_coords = reference_point_list[j].getCoordinates();
if (pt_coords==p)
{
for (unsigned int i = 0 ; i < m.size() ; i++)
{
if (apExists(m[i].getMacAddr()))
{
unsigned int ap_idx = apIndex(m[i].getMacAddr());
ap_power = access_point_list[ap_idx].getOutputPower();
ap_coords = access_point_list[ap_idx].getCoordinates();
ap_freq = access_point_list[ap_idx].getFrequency();
ap_gain = access_point_list[ap_idx].getAntennaGain();
ap_mac = access_point_list[ap_idx].getApAddr();
/* Compute main general term, independant from scans */
const_term = calib_gain + ap_gain;
const_term -= 20 * log10(4 * M_PI);
const_term += 20 * log10 (300000000.0 / ap_freq) + ap_power;
if (reference_point_list[j].getPowerForAp(ap_mac, &mes_power))
friis_idx_list.push_back((const_term - mes_power) / (10 * log10(ap_coords.distance(pt_coords))));
else
friis_idx_list.push_back(-1);
}
}
break;
}
}
return friis_idx_list;
}
Reconstitution du dépôt, étape 5 (et dernière) Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont : - Dans code/infrastructure-centred/owlps-client/ : importation des modifs de Julien dans la dernière version du client (Julien avait utilisé comme base une ancienne version). - Dans code/infrastructure-centred/owlps-listener/ : idem. - Dans code/owlps-positioning/ : ° Suppression de client (déplacé dans les archives). ° Makefile : ajout d'une pseudo-cible .PHONY. - code/writeInDb/ : ° Le binaire n'est pas versionné. ° Application de astyle --style=gnu. | r93 | jgraeffly | 2009-05-27 14:51:40 +0200 (mer 27 mai 2009) | 23 lines | Chemins modifiés : | R /code/infrastructure-centred/owlps-aggregator/owlps-aggregator.h | R /code/infrastructure-centred/owlps-aggregator/owlps-aggregatord.c | R /code/infrastructure-centred/owlps-client/owlps-client.c | R /code/infrastructure-centred/owlps-listener/owlps-listener.h | R /code/infrastructure-centred/owlps-listener/owlps-listenerd.c | R /code/libowlps/owlps.h | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/client | A /code/owlps-positioning/libowlps-positioning.cc | A /code/owlps-positioning/libowlps-positioning.hh | R /code/owlps-positioning/owlps-positioning.cc | A /code/owlps-positioning/owlps-positioning.cfg | R /code/owlps-positioning/owlps-positioning.hh | R /code/owlps-positioning/positioning.cc | R /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | R /code/owlps-positioning/treatment.cc | R /code/owlps-positioning/treatment.hh | A /code/writeInDb | A /code/writeInDb/writeindb | A /code/writeInDb/writeindb.cc | A /code/writeInDb/writeindb.hh | | - Mise à jour du positioner : | Prise en charge de la BdD pour utilisation ainsi que pour la | sauvegarde des résultats | Envoi du résultat au client | Prise en compte du fichier de configuration ainsi que des | lignes de commande avec la library boost | | - Mise à jour de l'aggregator : | Pris en compte de la BdD pour la sauvegarde des requetes de | calibration ou de localisation | Envoi des demandes de localisation uniquement vers le | positioner | Ajout des options utilisables en ligne de commande et dans le | fichier de conf | | - Mise à jour du listener : | Ajout de l'envoi de l'adresse IP du mobile | | - Mise à jour du mobile : | Ajout de la socket de récupération de la réponse du serveur la | réponse est sous forme de 3 float (x, y, z) et non d'un Point. | | - Mise à jour de owlps.h : | Ajout des ports par défaut du positioner ainsi que du mobile. | | - Ajout de writeInDb : | Programme permettant de mettre les données contenu dans un | fichier dans la BdD git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@94 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 17:02:20 +02:00
Point Treatment::getkWeightedInSs(const unsigned int &k, const Point *point_ignored)const
{
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
unsigned int i, j;
vector<float> distances_vector;
vector<Point> points_vector;
float tmp_distance = 0, dist_max = 10000000;
Point ret;
float total = 0, x = 0, y = 0, z = 0;
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
for (i = 0 ; i < reference_point_list.size() ; i++)
if (point_ignored == NULL || (reference_point_list[i].getCoordinates() != *point_ignored))
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
{
tmp_distance = reference_point_list[i].getSsSquareDistance(m);
/* if not k points, add it */
if (distances_vector.size() < k)
{
distances_vector.push_back(tmp_distance);
points_vector.push_back(reference_point_list[i].getCoordinates());
dist_max = (dist_max < tmp_distance) ? tmp_distance : dist_max;
}
else
{
/* if tmp_dst < dist_max, should add it and remove previous greatest dist. */
if (dist_max > tmp_distance)
{
/* remove old max */
for (j = 0 ; j < distances_vector.size() ; j++)
if (distances_vector[j] == dist_max)
{
dist_max = tmp_distance;
distances_vector.erase(distances_vector.begin() + j);
points_vector.erase(points_vector.begin() + j);
distances_vector.push_back(tmp_distance);
points_vector.push_back(reference_point_list[i].getCoordinates());
break;
}
}
/* Else nothing needs to be done */
}
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
}
for (i = 0 ; i < distances_vector.size() ; i++)
total += (1 / distances_vector[i]);
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
for (i = 0 ; i < distances_vector.size() ; i++)
{
x += points_vector[i].getX() * (1 / distances_vector[i]) / total;
y += points_vector[i].getY() * (1 / distances_vector[i]) / total;
z += points_vector[i].getZ() * (1 / distances_vector[i]) / total;
}
ret.setX(x);
ret.setY(y);
ret.setZ(z);
Reconstitution du dépôt, étape 1 Le commentaire de révision initial figure ci-dessous. Les différences par rapport à ce commit sont les suivantes : - client/ : la version binaire n'est pas versionnée, ni "toutes.csv". - Non-suppression de clientinfo.* et de guinumo.* (on verra plus tard). - Les fichiers de conf restent dans le répertoire "cfg", qui n'est pas supprimé. - Le répertoire "csv" reste vide (les données d'entrée n'ont pas à être versionnées). - Le répertoire "log" n'est pas supprimé. | r89 | jgraeffly | 2009-05-15 14:54:13 +0200 (ven 15 mai 2009) | 11 lines | Chemins modifiés : | R /code/owlps-positioning/Makefile | D /code/owlps-positioning/TODO | D /code/owlps-positioning/cfg | A /code/owlps-positioning/client | A /code/owlps-positioning/client/Client | A /code/owlps-positioning/client/Client.cc | A /code/owlps-positioning/client/toutes.csv | D /code/owlps-positioning/clientinfo.cc | D /code/owlps-positioning/clientinfo.hh | R /code/owlps-positioning/csv | A /code/owlps-positioning/csv/minipc.cfg | A /code/owlps-positioning/csv/topo.csv | A /code/owlps-positioning/csv/toutes.csv | A /code/owlps-positioning/csv/waypoints.csv | D /code/owlps-positioning/guinumo.cc | D /code/owlps-positioning/guinumo.hh | D /code/owlps-positioning/log | A /code/owlps-positioning/positioning.cc | A /code/owlps-positioning/positioning.hh | R /code/owlps-positioning/server.cc | R /code/owlps-positioning/server.hh | A /code/owlps-positioning/treatment.cc | A /code/owlps-positioning/treatment.hh | | - Création du serveur qui reçois les informations à partir du client | se trouvant dans le dossier client/ | - Implémentation de la partie calcul dans le serveur (les résultats | sont cependant les mêmes qu'avant il n'y a pour l'instant pas eu de | modifications sur le traitement). | - En sortie, on retrouve le résultat de chaques algo. | - Sur cette version il n'y a pas encore de commentaires ceci a été | fait afin d'avoir une meilleure visualisation du programme. | - La réception des données se fait pour l'instant toujours grâce à un | vector | - positioning.cc est une classe qui contient les informations sur la | topologie les AP ainsi que les points de référence. | - server.cc contient les méthodes qui permet de recevoir les clients | et implémente positioning.cc avec les informations reçues par des | fichiers ces fichiers sont dans csv/ | - treatment.cc est une classe contenant les différents Algo permettant | de calculer la position. | - Pour éxécuter le programme : owlps-positioningd csv/minipc.cfg | csv/toutes.csv csv/topo.csv csv/waypoints.csv git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@90 785a6c6c-259e-4ff1-8b91-dc31627914f0
2009-05-29 14:07:05 +02:00
return ret;
}