TsfCartographie

Un article de Toulouse Sans Fil, un réseau wifi libre sur Toulouse.

Accueil | Technique | Outils de cartographie


CartoWifi, le projet de logiciel de cartographie et de gestion du réseau de Toulouse sans Fil.

Ce gros projet peut servir à bien d'autres communautés. De part sa conception "objet", d'autres utilisations peuvent être possibles. Nous avons donc besoin de votre aide ! Dans l'intérêt de tous, n'hésitez pas à rejoindre l'équipe de développeurs ! :-)

Les sources du logiciel sont sur la page du projet CartoWifi (http://sourceforge.net/projects/cartowifi/) sur sourceforge.

Une démonstration (phase expérimentale) est accessible ici http://toulouse.sans.fil.free.fr/ (les lignes jaunes représentents les liens actifs).

N'hésitez pas à rejoindre l'équipe de développement ! :-)


Sommaire

Cahier des charges du logiciel

accès au service TSF

lorsque l'on vous demande un mot de passe, il s'agit probablement du mot de passe de protection contre les robots. Si c'est le cas, veuillez indiquer : tsf / tsf

spécifications fonctions actuelles

aspects graphiques

  • affichage de cartes 2D,
  • désignation de node pour affichage d'information,
  • affichage des liens,
  • affichage de la dimension de la zone visualisée en KM
  • affichage de cercles concentriques pour marquer les distances,
  • gestion de niveau de zoom et déplacements,
  • affichage des villes dès que le niveau de zoom le permet
  • affichage du profils géographique entre 2 noeuds du réseau.
  • affichage de fichiers GIS au format Map/Info (.e00) : routes, frontieres, fleuves, villes ...

aspects node, liens

  • calculs des distances ( pythagore et orthodromiques),
  • calculs des azimuts,
  • affichage d'une matrice de nodes avec les azimuts, longitudes, latitudes,
  • classement selon les critères suivants : nom, distance, azimut,
  • gestion des obstacles selon 2 grammaires :
    • a/b,c/d,e/f : gestion simplifiée des obstacles. chaque lettre correspond a un angle d'azimut décrivant un obstacle,
    • gestion plus rafinée des obstacles avec possibilité de parametrer le niveau de perméabilité
  • chaque node se voit attribué un profil. Une simple méthode donne moyenant l'azimut, le niveau d'atténuation pour le profile, en php cela donne
    • $attenuation = $profile->attenuation($azimut); # via l'objet profile
    • $attenuation = $node->profile->attenuation($azimut); # acces via les nodes
  • exploitation de fichier de hauteur pour calcul de profil géographique afin de déterminer les possibilités de communication entre 2 points. Le fichier actuel a une définition de 1m pour la hauteur et les points sont des carrés de 90m de cotés.
  • calculs sur les profils géographiques : détermination de la hauteur des obstacles entre 2 points.

aspects gestion

  • gestion d'un annuaire dans une table SQL (voir mdp)
  • gestion de l'adresse IP
  • gestion des utilisateur et d'un role d'administrateur
  • génération de fichier host pour les IP

pour le visiteur anonyme

  • visualisation de la carte générale de la région
  • retrouver ses coordonnées géographiques par simple clic sur la carte,
  • vérification dynamique des possibilités de liaison, fonction de l'environnement *et du réseau actuellement installé
  • auto-inscription dans l'annuaire

pour le wifiste

  • liste de diffusion,
  • annuaire d'adresses IP pour gerer un plan d'adressage,

pour l'administrateur

  • gestion de l'annuaire IP,
  • gestion des serveur connectés au réseau,
  • prise en compte des nouvelles demandes.

sources des données

  • l'annuaire actuel n'est pas encoré créé car nous ne disposons pas d'une déclaration a la cnil pour recenser les informations personnelles permettant de réaliser cet annuaire. la declaration est en cours (janvier 2005)
  • une gestion intégrée par base de données avec formulaires de saisie est en cours de construction.
  • cela n'impactera que très peu le code actuel qui respecte assez bien le design-patern MVC ou les données sont extraites d'une source de données puis traitées les 2 fonctions étant parfaitement disjointes.

documentation

  • cette cartographie a été réalisée en php. Elle s'appuie sur une conception objet et utilise les classes php.
  • l'API (http://toulouse.sans.fil.free.fr/doc/api/) vous montre les différentes classes implémentées.
  • un diagramme des classes sera prochainement visible.
  • certains algorithmes sont décrits dans la section Théorie

avancement du projet

une grande partie de toutes ces fonctions est déja mise en place. Souvent la fonctionnalité existe de maniere isolée. Il y a encore un gros effort d'intégration des différentes briques logicielles, mais ce travail devrait etre possible de par la conception fortement objet de toutes ces fonctionnalités.

les sources php

  • les sources sont disponibles sur le serveur sourceforge : projet CartoWifi (http://sourceforge.net/projects/cartowifi/)
  • l'acces aux sources via la commande CVS est expliqué sur le site.

licence

l'ensemble des sources sont placé sous la licence GPL. Cette licence vous donne tous les droits en matières d'utilisation et de modification, avec cependant des petits contraintes lorsque vous apportez des modifications, il vous est demandé de nous faire part de celles-ci afin qu'elles soient prise en compte dans nos developpements futures.

Dans tous les cas, les sources restent principalement la propriété de l'association Toulouse sans fil et de leurs auteurs respectifs. Ce droit est inaliénable. Cette licence ne vous empêche en aucun cas d'exercer des activités commerciales soit sous forme de support, soit sous forme de vente directe. Si vous utilisez ces sources, merci de mettre en reférence cette page d'information sur votre site.

crédits

  • Marc Quinton pour les principaux developpements,
  • Frédéric Moine pour la mise en place du serveur de sources subvertion, du site Web, des bases de données
  • Julien Vermillard,
  • Eric Huiban pour les aspects algoritmiques,
  • Julien Bresciani pour les aspects débogage,
  • Yves Maguer pour certains idées d'implémentation

dernières informations

novembre 2004

  • création d'un ensemble de classes php permettant de parcourir une ligne droite dans une matrice rectangulaire. Ceci sert à afficher des information sur le profile géométrique.
  • creation d'un ensemble de classes pour lire un fichier d'altitudes au format SRTM-3. Actuellement, la classe permet :
    • de lire le fichier en intégralité, sur de gros fichier, cette tache demande trop de mémoire (matrice 1201x1201),
    • d'extaire une zone spécifiée par les coordonnées (x,y, width; height) en coordonnées matricielle et non géométrique.
    • d'afficher sous forme textuelle le résultat de l'extraction de zone.
    • visualisation d'une portion d'un fichier d'altitudes.

décembre 2004

vue en tranche d'un profil géographique reliant 2 points. La génération d'une image devrait se faire rapidement. Il devrait etre possible de calculer via ce profil les possibilités de communications ainsi que dans les cas difficiles, les hauteurs d'antennes nécessaires ou le niveau d'affiblissement en tenant compte de la lentille de Fresnel.

janvier 2005

  • affichages d'info provenant de fichier au format Map/Info (.e00) : routes, fleuves, villes ...

automne 2005

  • écriture de classes php permettant d'exploiter les fichiers issus de Google-Earth au format XML.

contact

Vous pouvez contacter l'équipe de développement à cette adresse : contact***@***toulouse-sans-fil.net (supprimer les caractères antispam).


espace commentaires

cette page pourrait etre traduite en TsfCartoEn, s'il y a des volontaires ... prochainement intégration du relief dans le calcul des liens.