« Le bonheur est une question d'habitude »

Le blog d'Olivier FAURAX

Geoloko : mon avis

Ajouté le dimanche 5 novembre 2006 à 17h36 / informatique

Pendant mon stage d'Espéranto, j'ai rencontré Patrick Ségur, fondateur de Geoloko, un nouveau système de localisation.

On a beaucoup discuté et je lui ai proposé de faire un article sur Geoloko sur mon blog.

Le principe

Vous trouverez le principe complet illustré sur la page d'explication de Geoloko. (Note pour Patrick : la définition des images sur le site est vraiment pas top, je suggère d'utiliser des images PNG ou des JPG sans pertes)

Pour résumer, on remplace les coordonnées latitude/longitude par un seul code qui définit une région rectangulaire.

Pour faire son code Geoloko, on part du méridien de Greenwich qui coupe la terre en deux. À l'ouest, on mets un signe négatif (-), à l'est un signe positif (+).

Ensuite, on coupe la région en 9 (3x3), ce qui donne le premier chiffre. On coupe encore la région en 9, ce qui nous donne le deuxième chiffre, etc. Après le premier chiffre (signé), on mets un point, puis on mets un point à chaque groupe de 4, ce qui donne un code du type : -S.GHIJ.WXYZ .

J'aime bien

  • Un seul code. Pour moi, c'est plus simple que le couple latitude/longitude
  • Des symboles entiers. Je préfère ça aux valeurs à virgule (je parlerai du signe plus tard)
  • Des surfaces plutôt que des points : c'est le principal avantage de Geoloko.

J'aurai aimé

  • Un convertisseur geoloko/coordonnées sur le web en AJAX (pour faire web 2.0), intégrable dans un blog, ou au moins téléchargeable.
  • Un visualisateur geoloko vers Google Maps. C'est faisable en quelques jours. Connaissant tout le buzz autour de Google Earth/Maps, etc., je comprends pas que ça n'est pas encore été fait, ne serait-ce que pour l'image de marque.

Ce que je changerais

  • Incohérence entre les parties du code : un chiffre signé suivi de groupes de 4. Pourquoi ne pas aller jusqu'au bout de la logique en coupant en 9 depuis le début ?
  • Le code n'est pas optimal : il est possible de découper plus finement en utilisant le même nombre de caractères. Voir ma proposition (GOB).
  • Les unités sont des traductions en espéranto. Si je dis "3 metroj", est-ce que je parle de 3 mètres (traduction) ou de 3 metro (geoloko) ? Impossible à savoir.

Proposition : Geoloko Optimisé Binaire (GOB)

Voici mon idée (accroche-toi, Patrick ! ;) ).

Geoloko est sûrement amené à aller sur des appareils sans beaucoup de mémoire. De plus, c'est un code qui doit être utilisé par des humains.
On doit donc faire un code le plus concis possible, mais aussi lisible.

Comment faire un code le plus concis possible ? Si on veut numéroter les plus de 5000 milliards de zones de bases, il est nécessaire de coder l'information sur 43 bits (2^42 < 5000 milliards < 2^43)

Malheureusement, le code obtenu n'est pas lisible du tout : c'est un chiffre entre 1 et 5000 milliards.

Le code Geoloko est fait pour être lu de gauche à droite. Au fur et à mesure de la lecture, le code est de plus en plus précis.

Dans le système Geoloko classique, à chaque nouveau caractère, on «zoome» sur 1/9 de la surface restante. Chaque caractère prend les valeur 1 à 9, ce qui doit être codé sur 4 bits (2^3 < 9 < 2^4).
On utilise donc 4 bits pour enlever 8/9 de la surface restante.

Le GOB optimise ce rapport.
En effet, au lieu de découper en 9, on découpe en 4 (Nord/Sud, Est/Ouest).

  • NO = 00 = 0
  • NE = 01 = 1
  • SO = 10 = 2
  • SE = 11 = 3

Avec 2 bits, on «zoome» sur 1/4 de la surface restante (on en enlève 3/4). Si on utilise 4 bits (découpage en 16), on enlève donc 15/16 de la carte. On numérote alors les zones de 0 à 9 et de A(=10) à F(=15). NONO = 0000 = 0, NONE = 0001 = 1, NOSO = 0010 = 2, ..., NENO = 0100 = 4, ..., SOSE = 1011 = B, ..., SESE = 1111 = F.

A chaque caractère, GOB divise la zone par 16. Le Geoloko traditionnel fait 5000 milliard de division en 13 caractères (+ 1 signe). GOB permet d'arriver au même degré de précision en 11 caractères. Pour un Geocode de 12 caractères, on peut même avoir un GOB de 10 caractères seulement.

GOB est optimal : à chaque bit d'information supplémentaire, une moitié de la surface restante est éliminée.

De plus, on peut moduler bit par bit : précision de 2 octets + 2 bits si on veut 2^12 = 4096 zones. Avec Geoloko, c'est soit 1458, soit 13122 zones.

Par rapport au code Geoloko, GOB utilise les lettres A à F pour coder plus d'informations par caractères sans pénaliser la place mémoire utilisée.

Commentaires (fil RSS RSS) :

# jérémie, le lundi 6 novembre 2006 à 22h11 :
ah t&#039;es bien un as toi!
# Parsxo, le vendredi 10 novembre 2006 à 15h22 :
Oui, c&#039;est bien, mais est-ce que cela fait de moi un homme meilleur?
 :
 :(non-publié, utilisé pour le gravatar)
 :
 :
Commentaire :

Merci d'utiliser un français (ou espéranto) correct. Les liens deviennent cliquables.
Vérification anti-spam :
En quelle année a été publié cet article ? / Jaro de tiu artikolo?

À propos de l'auteur

photo Olivier FAURAX Olivier FAURAX

D'un naturel joyeux, positif et curieux, je m'intéresse à beaucoup de choses parmi lesquels la salsa, l'espéranto, la plongée mais surtout l'informatique, le web et Linux (Mandriva).

Même si j'aime programmer, je m'intéresse également aux aspects d'ergonomie, de design et de marketing.

Je suis actuellement développeur firmware chez Neotion. Pour savoir comment j'en suis arrivé là, il y a mon CV.

M'écrire : olivier+blog@faurax.fr

Temps réel (enfin presque)

Retrouvez-moi sur Facebook, Friendfeed, Identi.ca et Twitter.

Catégories

S'abonner / Rechercher

S'abonner par RSS logo RSS
S'abonner par courriel :

Rechercher sur ce blog :

Contact

Je lis & je lie

Archives

Archives du blog

Infos & trucs de couleurs

Geo Visitors Map
Validation HTML Validation CSS
spampoison
Creative Commons License

Carte de visite

photo Olivier FAURAX Olivier FAURAX
Téléphone : 0681651140
Courriel :
Jabber : ofaurax@jabber.fr Statut Jabber

Cette hCard sémantique a été créée avec le hCard creator.

 
  Olivier FAURAX