Photos verticales

Photos verticales

Cette page à pour but de noter un peu tout ce que je sais sur la gestion de photos verticales.

En effet, je n'ai pas encore tout compris, le comportement est parfois étrange.

En gros, depuis toujours on fait des photos qui ne sont pas carrées ! Donc suivant le sens dans lequel on tourne l'appareil photo, une photo est horizontale ou verticale.

Le plus souvent on fait des photos horizontale vu que notre vision humaine est panoramique. Donc la référence largeur hauteur est basée sur cette vision horizontale.

Donc on peut dire que:

  • une photo horizontale est une photo qui a une largeur plus grande que la hauteur. (l>h)
  • une photo verticale est une photo qui a une largeur plus petite que la hauteur. (l

Jusque là tout le monde est d'accord.

En argentique, on a une film qui dispose d'une surface sensible à la lumière. Cette surface est toujours orientée de la même manière. Il n'est possible de faire que des photos horizontales.

Au moment de développer et tirer les photos, on utilise le même papier et le même traitement de fait sur toutes les photos.

Au moment de regarder sa pile de photo sur papier, on retourne instinctivement chaque photo pour voir les verticales dans le bon sens. Pas de problème.

En numérique. Une photo c'est un assemblage de pixel qui correspondent à la lumière enregistrée par un capteur. Comme le film, le capteur est fixe. Il prend toujours les photos en horizontal.

Puis les photos sont transférée de la mémoire de l'appareil photo à la mémoire d'un ordinateur. Au moment de regarder les photo sur un ordinateur, les photos sont toute dans le même sens: horizontale. Donc pour regarder les photos, comme avec la pile de photo papier on retourne la photo.

Pour simplifier un visionnage ultérieur des photos, il est possible d'enregistrer le sens dans lequel est la photos. Pour ce faire, il y a 2 méthodes:

  • définitivement ré-ordonner les donnée de la photo pour qu'elle s'affiche avec des dimension différente et donc une orientation différente.
  • placer une information dans le fichier qui dit au logiciel de retourner la photo au moment de l'afficher.

Historiquement c'est la première méthode qui est la plus courante. Elle demande des ressources une fois et pas à chaque affichage pour retourner la photo. C'est la méthode traditionnelle. Elle a pour inconvénients de devoir réécrire un fichier existant, et cette manipulation est souvent source de problème de perte d'information.

En effet, actuellement, il y a de plus en plus de méta-données dans une photo et le risque de les perdre est grand suivant les logiciels utilisé pour réécrire les images. De plus, la qualité est souvent difficile à régler.

La seconde méthode tend à se répendre de plus en plus. En effet, nous avons des machines rapides qui arrivent facilement à retourner les photos à la volée au moment de l'affichage.

Mais surtout, ce sont les appareils photos numériques qui se sont perfectionnés. De plus en plus, ceux-ci sont équipés d'un capteur de position qui permet d'indiquer l'orientation d'une photo directement dans le fichier au moment de sa création. L'appareil photo est, par rapport à l'ordinateur qui va afficher l'image, un ordinateur lent. Il est donc plus facile pour l'appareil photo d'écrire une indication sur l'orientation de l'image que de ré-ordonner complètement les données de la photos pour la retourner.

Ainsi, il existe dans les photos, des méta-données, des données sur des données... Pour les caractéristiques techniques c'est la norme EXIF qui est utilisée. C'est un format dans lequel chaque appareil photo va enregistrer les réglages et les conditions dans lesquelles la photos est prise.

L'orientation de la photo est donc enregistrée dans un des champs de données exif le champ: orientation.

D'après les spécifications EXIF, le champ orientation contient une valeur numérique de 1 à 8. La signification explique suivant cette valeur, où se trouve visuellement dans l'image le début des donnée à la ligne 0 et colonne 0, donc le haut à gauche. Le cas horizontal normal correspond à la valeur 1.

  1. la ligne 0 est visuellement en haut de l'image, et la colonne 0 est visuellement à gauche de l'image.
  2. la ligne 0 est visuellement en haut de l'image, et la colonne 0 est visuellement à droite de l'image.
  3. la ligne 0 est visuellement en bas de l'image, et la colonne 0 est visuellement à droite de l'image.
  4. la ligne 0 est visuellement en bas de l'image, et la colonne 0 est visuellement à gauche de l'image.
  5. la ligne 0 est visuellement à gauche de l'image, et la colonne 0 est visuellement le haut de l'image.
  6. la ligne 0 est visuellement à droite de l'image, et la colonne 0 est visuellement le haut de l'image.
  7. la ligne 0 est visuellement à droite de l'image, et la colonne 0 est visuellement le bas de l'image.
  8. la ligne 0 est visuellement à gauche de l'image, et la colonne 0 est visuellement le bas de l'image.

Là ça devient difficile de comprendre le nombre de possibilité. Mais en fait, ça doit tout simplement être, j'ai mon appareil et je le tourne dans un sens avec 4 positions et dans l'autre sens avec 4 positions. Mais il me semble qu'il y a des positions qui sont équivalentes ? Là il me faudrait étudier plus en détail ce que représente les colonnes et lignes.

En simplifiant, ce qu'il faut retenir:

  • 1 = le coin référence ligne 0 colonne 0 est en haut à gauche de la photo. (c'est la position standard horizontale)
  • 8 = le coin référence ligne 0 colonne 0 est en bas à gauche de la photo. (il faut incliner la tête à droite pour voir la photo)
  • 6 = le coin référence ligne 0 colonne 0 est à droite en haut de la photo. (il faut incliner la tête à gauche pour voir la photo)

Les autres position n'arrive pas souvent... je tiens rarement mon appareil photo à l'envers.. et il y a même des positions que je ne comprends pas vraiment !

Donc on va s'en tenir à ce qui est le plus courant. Si je résume, mon logiciel quand il va lire les infos, il doit se dire: je lis la balise exif orientation, si je vois un 1, je ne fait rien de spécial, si je vois un 8 je fais une rotation dans le sens trigonométrique et si je vois un 6 je fais une rotation dans le sens des aiguilles d'une montre.

Détail de la signification des nombres

d'après.. http://owl.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html

  1. = Horizontal (normal)
  2. = Mirror horizontal
  3. = Rotate 180
  4. = Mirror vertical
  5. = Mirror horizontal and rotate 270 CW
  6. = Rotate 90 CW
  7. = Mirror horizontal and rotate 90 CW
  8. = Rotate 270 CW

Maintenant que la théorie est posée, comment se passe la réalité ?

Sur Mac OSX, les applications suivantes comprennent ces balises de rotation:

  • Aperçu
  • GraphicConverter
  • photoshop

Mais, le plus ennuyeux, quelles sont les applications qui ne comprennent pas:

  • Safari
  • Mail
  • Firefox
  • ... en bref... les navigateurs web.
  • indesign

iPhoto, comme expliqué plus bas est un logiciel qui comprend cette balise, mais qui ne veut pas l'utiliser !!! En effet, chaque photo avec une indication exif de l'orientation qui est différente de 1 est réécrite dans une version nativement dans le bon sens.

Sur le web, certainement pour des raisons historiques, les photos sont interprétées de manière brut. On ne tient pas compte des balises.

Automator

Automator permet d'effectuer nombre d'opération en piochant par ci par là dans les applications installées.

GraphicConverter propose plusieurs fonctions. Donc la fameuse rotation jpg sans perte de qualité. En sélectionnant cette fonction, il y a un message qui apparaît: Dans la mesure ou la rotation sans perte réécrit les données EXIF de l'image, vous ne pourrez plus afficher des images ainsi modifiées sur un appareil photo numérique.

Ce message sous entend que ce sont principalement les donnée Exif qui sont modifiées... donc est-ce juste la modification de la balise orientation ??? Réponse après le test:

Réponse... le fichier est bel et bien retourné.. mais c'est une rotation effective des données qui est réalisée! Malgré le message, d'avertissement je n'ai vu aucune modification dans l'exif ! Ce sont les données qui ont été réécrites. Les Méta-données IPTC et exif sont inchangées. Les mots-clés sont gardés et avec les accents. Les ressources ont été vidée, l'aperçu n'est plus là !

Le comportement est quasi identique avec le module d'aperçu: pivoter des images . Le fichier est réécrit et la balise exif orientation n'est pas changée.

Aperçu

Comment se comporte aperçu lorsqu'on lui demande d'ouvrir un photo de lui faire faire une rotation et de sauver le fichier. Réponse:

Aperçu effectue des rotations qui sont une modification de la balise exif orientation. Cependant, au moment de sauver, il réécrit la photo avec des paramètres par défaut. L'IPTC et l'exif sont conservés, mais le fichier a été dans mon cas réécrit et les données sont passées de 1012ko à 720k, au moment de sauver, Aperçu n'est pas capable de sauver uniquement l'exif, il sauve et donc recompresse avec les réglages courants. Pourquoi réécrire toute la photo si seul un champ exif est modifié bouh !

GraphicConverter

Essai de rotation en mode standard, manuel. L'image de base se retourne en mode natif, la balise orientation n'est pas touché. La photos est sauvegardée aux paramètres courants. Le hic, c'est que les mots-clé iptc avec accents se sont fait écrasés, l'encodage n'est vraissemblablement pas le même ! C'est étrange, car le module de rotation sans perte de qualité de GC qui est dans automator ne massacre pas les mots-clés accentuées !!

Si l'on prend une photo qui comporte une orientation, et que je fais sauver sous, elle reste identique. rien ne change. Si je prend la même photos, que je bidouille avec des outils (juste la sélection pour ne rien toucher) et que je sauve la photo. GC la réécrit, et cette fois elle est réécrite verticalement. Les informations EXIF sont réécrite, le champ orientation passe de 8 à 1. Et le champ datetime est mis au temps courant. Il ne reste donc plus que original date time pour savoir le moment de prise de vue.

GC en mode gestionnaire: ce mode comporte des réglage qui peuvent être différents, et c'est le mode que j'utilise le plus, alors voyons comment il se comporte.

Pour une photo qui comporte une balise exif orientation égale à 6, si l'on veut la diffuser sur le web, il faut la redresser en faisant une rotation de 90° dans le sens des aiguilles d'une montre. En effectuant cette manipulation à l'aide du gestionnaire d'image de GC, l'image est véritable retournée en donnée et le champ exif orientation reste inchangé. Cette opération ajoute une incohérence. Les logiciels comprenant la rotation exif à la volée tourne inutilement la photo. Par contre sur le web, c'est tout bon. Les méta-données EXIF et IPTC ne sont pas touchée. Ceci par ce que le gestionnaire est configuré pour utiliser une rotation sans perte et ne pas toucher les champs exif. (fait étrange remarqué, dans le gestionnaire, la vignette est aussi retournée mais dans l'autre sens !?!)

Lors d'un second essai, mais avec un photo dans l'autre sens (et des mots-clés iptc accentués) l'image a aussi été tournée, mais pas la vignette !! Les mots-clés sont restés identique.

Maintenant, essai, avec la même photo source, mais dans les préférences l'option ne pas modifier l'exif n'est pas cochée. Le comportement est bien mais pas top ! L'image est véritablement retournée, l'exif est modifié (ou plutôt pollué.. je vois pas à quoi sert de le modifier, l'exif est surtout utile pour avoir les conditions du moment de prise de vue.) L'exif est modifié, mais pas le champ orientation !!! ce qui est un peu débile, car sinon, pourquoi avoir besoin de modifier l'exif !

En ce qui concerne l'option rotation sans perte de qualité je ne dois pas encore avoir tout compris. Moi je vois dans tout les cas que le fichier est réécrit ! Si le même fichier est retourné dans un sens puis dans l'autre, on retombe sur nos patte (?) mais sinon, la compression effectuée par l'appareil photo et celle refait diffèrent quelque peu !

L'ajout de mots-clés dans un fichier via le gestionnaire semble être bien fait, il ne modifie que les champs exif. Avec l'option ne pas modifier l'exif desactivé. (donc GC a le droit de modifier l'exif) Si j'ajoute 20 caractères comme mots-clés, je vois le fichier grossir de 28 octet. Ce qui restent dans le bon ordre de grandeur. Bien.

iPhoto

Comment ça fonctionne tous ça !!! Version 6.0.6 (ouais chez apple cette applications change beaucoup à chaque fois.) Dans mon cas, je prend mon dossier de photos d'essai que je glisse sur l'icon de iPhoto. A ce moment, iPhoto turbine et j'ai une nouvelle sélection dans la photothèque qui comprend mes photos. Par soucis de propreté, je crée un nouvel album, avec la sélection courante de mes dernières photo. Puis en allant explorer le dossier iPhoto Library, je remarque que les photos sont triées dans 3 dossiers, Data , Modified, et Originals. Data contient les vignettes des photos. Modified contient toutes les photos qui ont été modifiées, c'est à dire qu'une photo verticale qui contient juste le champs exif orientation est réécrite en mode vertical natif. La photo est donc modifiée et se retrouve dans ce dossier. Le plus grave dans l'histoire, c'est les dégâts collatéraux. L'exif est très réduit. Il ne reste que quelques rares champs, comme la date de prise de vue originale (heureusement) et l'IPTC est carrément shooté !. Originals contient des alias sur les photos originales. C'est également le seul liens qu'iphoto a avec les photos horizontales qui n'ont pas été modifiées. Donc, dans ce mode la photothèque est en partie en interne au dossier d'iphoto et en partie en externe !!

Le boulot de massacre des photos est assez bien fait, en effectuant une rotation effective des photos, iphoto ajoute une balise exif orientation. Mais s'il en existe déjà une, il ne la modifie pas, non... il ajoute. Ce qui fait que l'exif est endommagé, certains programmes n'arrivent plus le lire! (la fonction php read_exif_data par exemple) Donc, il y a 2 balises orientation. Génial pour tout compliquer.

De plus, le fichier réécrit est plus lourd que l'original. (1.6Mo passe à 2Mo)

Quand iphoto passe en mode édition, un nouveau fichier est créé dans le dossier modified, même quand ce n'est que de la visualisation en plein écran !!!

Lorsque les mots-clés IPTC des photos non modifiées existes, iPhoto est capable de les reprendre pour les utiliser dans sa propre base de données. Sinon, les mots-clés ne sont pas exporté hors de iphoto. Heureusement qu'un module spotlight permet de rechercher aussi dans iphoto, mais cette méthode rend captif l'utilisateur dans ce logiciel qui comme on vient de l'étudier n'est de loin pas parfait, et même plutôt destructeur d'image !

Malheureusement, aucune modification du côté de la version 7.1 de iPhoto ! ... l'interface, s'améliore, mais le moteur n'a pas changé du tout !

PictureSync

PictureSync est un logiciel qui est conçu pour automatiser l'envoi de photo depuis iphoto, aperture, ou un dossier, vers le divers services de photo comme flickr, zoomr, ou en dossier etc....

Ce logiciel est capable de lire un grand nombre d'information exif. L'application est capable de faire des rotations. et surtout de voir le champs orientation et d'agir en conséquence. Lorsque PictureSync fait une rotation, il lit le champ orientation, effectue la rotation et modifie le champs orientation !!! C'est le seul logiciel que je connaisse qui prenne la peine de le faire ! Bien! (le seul bémol est une désaturation des couleurs lors de l'opération !)

PictureSync est conçu pour uploader des photo (sur un site ou dans un dossier) et est capable de faire la rotation et le redimensionnement des photo à la volée au moment de l'upload. Il semble que pour ma photo que j'avais déjà triturée (rotation), tout se passe bien. Pour les photos brut, c'est moins bien, le logiciel me signal une erreur de réécriture de l'exif ! (problème d'accès du dossier de destination ?) Suite à ce problème, j'ai perdu les métadonnées. Demande encore quelques essais !

Sinon, le logiciel permet d'éditer bon nombre de champs de méta-données, ce qui est très intéressant. Il y a également la possibilité de faire du géotagging avec google earth. Intéressant !

Créer une galerie web

Mon intérêt pour ce problème de rotation des photos viens surtout d'une application en particulier qui me pose problème. La création de galerie de photo pour le web.

En effet, j'ai développé une galerie de photo en php qui récupère les mots-clés IPTC dans le but de les afficher comme légende ou titre. De plus cette galerie permet de trier les photos en fonction de leur date de prise de vue qui se trouve dans les données EXIF.

Les photos que je dépose sur le web sont donc soumise à quelques contraintes:

  • l'exif doit être conservé
  • l'IPTC doit être conservé
  • les mots-clés IPTC doivent être encodé en UTF-8
  • les photos verticales doivent être nativement tournée. Le champ exif orientation n'est pas compris par les navigateurs web.

Pour afficher des photos sur le web, je ne les mets jamais en plein résolution, ce serait trop gros. J'ai donc besoin de réduire la taille des photos tout en ne perdant pas les méta-données. De plus, j'ai besoin de retourner en mode natif donnée les photos verticales qui ne comporte que l'indication du champ exif orientation.

Ceci parait simple, mais c'est finalement un casse tête! Et cela se complique encore plus, quand comme je le fais, la sélection de photo a traiter est une liste d'alias. (c'est ainsi que je me fais des albums, des sélections de différents fichier du lot de base.)

Questions...

Dans le cas d'un appareil photo qui n'a pas de capteur de position, est ce que la fonction rotation de l'image de l'application transfert d'image fait une rotation véritable ou est ce qu'elle renseigne la balise exif orientation?

Fonction php pour retourner une photo jpg en fonction du flag exif orientation

/* Retourne les données d'une photo jpg en fonction du flag exif orientation.
*
* Utilise jpgetran pour la rotation sans perte de la photo
* Utilise exiftool pour modifier le flag exif orientation après avoir effectué la rotation. http://www.sno.phy.queensu.ca/~phil/exiftool/
*
* Cette fonction effectue une rotation sans perte. Les données sont réarrangée, mais pas recompressée.
* Cette fonction conserve les métadonnées. (exif, iptc, commentaires, jffif, xmp, etc..)
* Cette fonction ne retourne PAS la vignette exif. Elle reste dans la position originale. Cela influence la vue des vignettes dans graphicConverter, l'aperçu en mode colonne du finder.
* Cette fonction recrée un fichier, donc elle modifie la date de création et modification du fichier. (c'est à cause de jpegtran. Exiftool est souple à ce niveau)
*
* Les commandes utilisées sont sur le principe:
* jpegtran -copy all -rotate 270 -verbose -outfile girafe2.jpg girafe.jpg
* exiftool -orientation=1 -n -overwrite_original_in_place girafe.jpg
*
* @return: rien de particulier.. 😛
* @param: $imagePath => le chemin d'accès de la photo sur le serveur. (pas une url)
*/
function rotateJpgFromExifOrientation($imagePath){

// lire le champ exif orientation
$exif = exif_read_data($imagePath);  // todo: bug quand exif n'est pas là... Warning: exif_read_data(dsc_1783.jpg) [exif_read_data]: Process tag(x0000=UndefinedTa): Illegal pointer offset(x4E20434F + x4E494B4F = x9C698E9E > x02C3) in /Users/mdespont/Sites/yopyop/include/manager/photoManager.php on line 468

if ($exif!=false) {

$orientation = ''; // pour tout les cas non prévu, ou la cas orientatio=1 qui ne demande pas de modification.
$orientation = $exif['Orientation'];

// si orientation = 8 => retourne de 270
if ($orientation=='8') {
$angle = "270";
// si le champ = 6 => retourne de 90
}elseif ($orientation=='6') {
$angle = '90';
}else {
$angle = '';
}

if (!empty($angle)) {

$nomDossier = dirname($imagePath);  // obtient le nom du dossier. Ex: images/photos/2006/toto/toto.jpg devient images/photos/2006/toto
$nomFichier = basename($imagePath);
$outpoutPath = $nomDossier."/temp_".$nomFichier;

// retourne la photo
$commandeRotation = "/usr/local/bin/jpegtran -copy all -rotate ".$angle." -outfile ".$outpoutPath." ".$imagePath; // on suppose que jpegtran est dans le path

//    echo "
commande rotation: ", $commandeRotation;

$output = array();
$return_var = 0;
exec($commandeRotation, $output, $return_var);

// print_r($output);
//         echo "statut: ",$return_var;

// place le flag orientation à 1. Ce qui signifie que le flux de donnée est correct. Pas besoin de modifier l'orientation à la volée
// cette option ne sert à rien pour le site web en lui même, mais elle est utile si des gens téléchargent les photos depuis le site web pour les utiliser en local.

$commandeFlagExif = "/usr/bin/exiftool -orientation=1 -n -overwrite_original_in_place ".$outpoutPath;  // -overwrite_original_in_place permet de garder l'icon et les ressources Mac. Si on est sur linux, utiliser: overwrite_original qui est moins gourmand

//        echo "
commande flag: ", $commandeFlagExif;

$output = array();
$return_var = 0;
exec($commandeFlagExif, $output, $return_var);

// print_r($output);
//         echo "statut: ",$return_var;

// renommer le fichier temp_photo.jpg  en photo.jpg
rename($outpoutPath,$nomDossier."/".$nomFichier);   
}
}
}

Convertisseur de coordonnées géographiques CH1903 WGS84

Conversion de coordonnées CH 1903 vers WGS84

Sur les cartes suisses on utilise le système de coordonnées CH 1903. De plus en plus en cartographie, on utilise des outils avec le système WGS84. Le système global utilisé par le GPS. Comment changer de système de coordonnées.

------ edit en 2019 ---

Je vois que le monde a bien changé. En 2009, j'avais eu de la peine à trouver un code de conversion en php. J'ai fini par l'écrire moi même et le publier. En 2019 on en trouve plusieurs et je vois que les liens sont souvent cassé. Ainsi je les mets à jours.
Je profite également d'ajouter un calculateur de longueur du degré de méridien, c'est pas très courant. Le seul que je connais est sur un vieux site en voie de disparition. Ainsi j'ai refait une petite app.
(J'utilise ça pour montrer que le périmètre de la grande pyramide de Gizeh est bien lié à plein d'unité de mesures de la Terre.... )

--------------

Programmes online

Swisstopo fourni sur son site plein de services intéressants:

Autres sources

La théorie de la conversion d'unité selon swisstopo

Conversion de coordonnées WGS84 de notation décimale à sexagésimale

Les coordonnées WGS84 peuvent être données dans plusieurs notation différente. Parfois en notation sexagésimale avec des latitude et longitude en degré, minutes et secondes. Parfois la notation est en degré décimale: tout est en degré et virgules de degré. La notation en degré décimale est celle utilisée par google maps. Ex: lat: 46.94952985143932 long: 6.834204196929932

cartographie topographie swisstopo convertisseur wgs84 ch1903

Code PHP de conversion WGS84 - CH1903

Parfois, il est utile de faire la conversion dans un bout de programme. Ainsi voici les fonctions php qui convertissent des coordonnées wgs84 en CH1903 et inversement.

Ces fonctions on été écrites selon les formules fournies par swisstopo. (dans la théorie ci-dessus)

/**
* converti les coordonnées lat long en wgs84 pour avoir des coordonnées ch1903 
* Ex: lat: 46.94952985143932 long: 6.834204196929932 => 553 986/200 005
*
* @return array()  y et x  les coordonnées au format CH1903
* @param latitude en degré décimal
* @param longitude en degré décimal
*/
function getCoordonneeCH1903($lat,$long){
// Les latitudes φ et les longitudes λ sont à convertir en secondes sexagesimales ["]

// Les grandeurs auxiliaires suivantes sont à calculer (les écarts en latitude et en longitude par rapport à
// Berne sont exprimés dans l'unité [10000"]) : 
// φ' = (φ – 169028.66 ")/10000 
//  λ' = (λ – 26782.5 ")/10000 
//
// 3. y [m] = 600072.37 
//  + 211455.93 * λ'   
//  - 10938.51 * λ' * φ' 
//  - 0.36 * λ' * φ'2 
//  - 44.54 * λ'3 
//
// x [m] = 200147.07 
//  + 308807.95 * φ' 
//  + 3745.25 * λ' 2 
//  + 76.63 * φ' 2 
//  - 194.56 * λ' 2 * φ' 
//  + 119.79 * φ' 3

// conversion degré décimal en seconde sexagétimale
// deg = 60 * minutes
// minutes = 60 * seconde
// =>deg = 3600 * seconde
$lat = $lat * 3600;
$long = $long * 3600;

// latitude:  φ =>lat  ( φ' =>lat2)
$lat2 = ($lat - 169028.66)/10000;

// longitude:  λ =>long  ( λ' =>long2)
$long2 = ($long - 26782.5)/10000;

$y = 600072.37 + (211455.93 * $long2) - (10938.51 * $long2 * $lat2) - (0.36 * $long2 * ($lat2*$lat2)) - (44.54 * ($long2*$long2*$long2));
$y = round($y);

$x = 200147.07 + (308807.95 * $lat2) + (3745.25 * $long2*$long2) + (76.63 * $lat2*$lat2) - (194.56 * $long2*$long2 * $lat2) + (119.79 * $lat2*$lat2*$lat2);
$x = round($x);

return array('y'=>$y,'x'=>$x);  // 600000,200000
}

/**
* converti les coordonnées ch1903 en latitude et longitude du système wgs84.
* Calcul selon: http://geomatics.ladetto.ch/swiss_projection_fr.pdf
* Pour des altitudes positives, les 2 systèmes sont équivalents au mètre près. Donc on n'en tient pas compte dans cette fonction.
* Ex: 553 986/200 005 => lat: 46.949532367683 long: 6.8342057996687
*
* @return array()  lat et long  les coordonnées au format wgs84 en notation degré décimale: 46.951081111111,7.4386372222222
* @param x (nord) à indiquer en m au format: 200000
* @param y (est) à indiquer en m au format: 600000
*/
function getCoordonneeWGS84($x,$y){

// 1. Les coordonnées en projection y (coordonnée est) et x (coordonnée nord) sont à convertir dans le 
// système civil (Berne = 0 / 0) et à exprimer dans l'unité [1000 km] : 
//  y' = (y – 600000 m)/1000000 
//  x' = (x – 200000 m)/1000000

// 2. La longitude et la latitude sont à calculer dans l'unité [10000"] : 
// λ'  = 2.6779094 
//  + 4.728982 * y' 
//  + 0.791484 * y' * x' 
//  + 0.1306 * y' * x'2 
//  - 0.0436 * y'3

// φ'  = 16.9023892 
//  + 3.238272 * x' 
//  - 0.270978 * y' 2 
//  - 0.002528 * x' 2 
//  - 0.0447 * y' 2 * x' 
//  - 0.0140 * x' 3

// h [m] = h' + 49.55 
// - 12.60 * y' 
// - 22.64 * x'

// 
// 3. La longitude et la latitude sont à convertir dans l'unité [°] : 
// λ = λ' * 100 / 36 
// φ = φ' *100 / 36

$y2 = ($y-600000)/1000000;
$x2 = ($x-200000)/1000000;

// longitude:  λ =>long  ( λ' =>long2)
$long2 = 2.6779094 + (4.728982 * $y2) + (0.791484 * $y2 * $x2) + (0.1306 * $y2 * $x2*$x2) - (0.0436 * $y2*$y2*$y2);

// latitude:  φ =>lat  ( φ' =>lat2)
$lat2 = 16.9023892 + (3.238272 * $x2) - (0.270978 * $y2*$y2) - (0.002528 * $x2*$x2) - (0.0447 * $y2*$y2 * $x2) - (0.0140 * $x2*$x2*$x2);   

// conversion en °
$long = $long2 *100/36;
$lat = $lat2 *100/36;

return array('lat'=>$lat,'long'=>$long);  //pour y=600000, x=200000 => 46.951081111111,7.4386372222222
}

Je vois qu'il y a également tout ce qu'il faut sur github pour avoir un code de conversion WGS84 to CH1903... ou plutôt LV3 maintenant !
Et ceci dans plein de langages comme C#, Java, php, python, R, SQL... 

Calculateur de degré de longueur de degré de méridien

Comme je l'ai annoncé plus haut. J'ai ajouté un nouvel outil.

Un calculateur de la longueur de l'arc d'un degré d'un méridien. Ce calculateur permet de calculer la longueur d'un arc de l'éllipsoïde de la terre pour 1° de longitude et/ou 1° de latitude et ceci en fonction de la latitude à laquelle on se trouve.

 

Pour ceux que la cartographie intéresse, je recommande de lire aussi tout ce que j'ai écrit à propos de l'outil de cartographie libre OpenStreetMap.
(j'y ai beaucoup contribué à ses débuts.. maintenant je suis plutôt en mode utilisation, notamment les cartes personnalisées sur openStreetMap :p.. donc mes outils d'il y a 10 ans ne sont peut être plus très pertinent.)

Sagesse des foules

La démocratisation du droit d'expression

Le web 2.0 c'est le web des applications. Depuis le web 2.0, il n'y a plus besoin de s'y connaître en informatique pour créer son propre blog et exister sur le web. Le web 2.0, c'est la démocratisation de l'expression citoyenne et populaire. Tout le monde peut, avec des moyens dériosoires, donner son avis au vaste monde.

De plus, sur tous les blogs, il y a un système de commentaires. Toute personne peut répondre à un billet publié. Il y a un droit de réponse bien plus interactif que le courrier des lecteurs de n'importe quel journal.

Avec le web 2.0, le droit d'expression tant vanté par la démocratie est enfin une réalité. Le droit d'expression n'est plus l'apanage de la caste des journalistes qui sont les seuls à s'exprimer réellement et à se répondre par journaux interposés. (que ce soit des journaux papier, télévisés ou radio diffusés)

Le web 2.0 permet de construire une véritable démocratie participative et collaborative.

foule mains levées.jpg

Voici le discours qui est prôné par les gourous du web. Mais est-il vrai que le web peut vraiment nous faire aller plus loin dans la démocratie ?

Observons un peu comnent fonctionne notre démoratie suisse exemplaire.

Décortiquons la démocratie

carte résultat votations 30 novembre 2008  imprescribilité des actes pédophiles.pngLa démocratie est le système politique où le peuple est souverain. Pour prendre une décision, on demande son avis à tout le monde et l'avis qui a la majorité de voix l'emporte. La démocratie, c'est finalement la dictature de la majorité. La démocratie est basée sur le postulat que la majorité a toujours raison. Mais est ce vraiment juste ? Est ce que la majorité a vraiment toujours raison ? L'avis majoritaire peut être le moins bon des avis. Comme il est majoritaire, il l'emportera toujours.

Mais attention à ce que j'écris, bien souvent, nulle critique de la démocratie n'est autorisée. La sagesse des foules est souvent invoquée. La démocratie est le moins mauvais des systèmes politiques que l'on a trouvé!

Surtout, à mon avis, la démocratie est le système qui permet de toujours d'avoir une majorité de gens contents de la décision mise au vote. Les avis minoritaires sont toujours moins nombreux. Donc la démocratie est le système où l'on minimise les mécontents.

Donc, oui, la démocratie, c'est ausi des mécontents. Et quel est l'avis des mécontents à propos de la démocratie ?

Souvent, c'est celui-ci:

...de toute façon, ils font ce qu'ils veulent, ma voix sera noyée dans la masse. Combien de fois ai-je déjà entendu cette phrase? Beaucoup !

Il y a toute une frange de la population qui ne se sent pas écoutée lors des votes démocratiques. Et, en général elle finit par rejoindre la masse des citoyens qui se désintéressent ou ne se sentent pas concernés par la politique. L'argument est très souvent: ça ne changera rien, que je participe ou non.

Résultat de tout ça, très souvent, la démocratie n'est pas le système politique ou le peuple est souverain. Mais le système politique ou le peuple qui donne son avis est souverain.

moutons.pngD'après quelques observations personnelles, j'en arrive toujours à la conclusion, qu'en démocratie, il y a une poignée de gens qui proposent, (des lois, des initiatives etc...), un tiers des gens qui donnent leur avis (pour ou contre) et une majorité silencieuse de quasi deux tiers des gens qui est indifférente: une majorité de moutons.

La démocratie est donc quand même un système qui ressemble beaucoup à l'aristocratie ! (aristocratie qui signifie gouvernement par une élite)

Beaucoup de techniques ont été utilisées pour augmenter le taux de participation à un vote. (vote par correspondance, vote électronique, amende, etc..) Mais le résultat n'a jamais été très probant.

Les gens qui veulent augmenter le taux de participation à l'effort démoratique peuvent se rassurer en sachant que dans la grèce antique, dans le berceau de la démocratie, le taux de participation n'était pas plus élevé qu'actuellement !

(l'Ekklêsia, l'assemblée de tous les athéniens mâles de plus de 18 ans, comportait potentiellement 40 000 personnes. Cependant, jamais plus de 6000 personnes ne s'est rassemblé à la fois !)

Voilà maintenant que l'on nous parle du web comme étant LA solution au réveil démocratique. Qu'en est il vraiment ?

Taux de participation sur le web

Il faut voir le web comme un amplificateur. Sur le web on trouve de tout en grande quantité. On trouve le meilleur comme on trouve le pire. Le web n'est que le reflet amplifié de notre société, ou du moins de ceux qui participent à notre société.

En effet, le web 2.0 met à disposition toute une foule d'outils qui permettent la mise en commun de données, la collaboration, l'expression et la participation de tous. Cependant mettre à disposition des outils ne veut pas dire qu'ils seront utilisés ! Alors quelle est la proportion de gens qui participent vraiment au web 2.0 ?

Bill Tancer, analyste et statisticien pour Hitwise a tenté de répondre à la question. Dans son livre Click, il prétend que:

  • 90 % des gens qui visitent un blog ou un site participatif ne participent pas.
  • 9 % des gens participent de temps en temps en ajoutant des commentaires.
  • 0.9 % des gens sont des contributeurs actifs.
  • 0.1 % des gens sont des créateurs de contenu.

Donc le web est bel et bien un reflet amplifié de notre société. Le taux de participation déjà pas bien grand de notre société est encore plus faible sur le web.

Sur le milliard d'utilisateurs du web sur cette planète, seul 1 million sont des créateurs de contenu. Pour donner une image à l'échelle de la planète, c'est comme si seuls les suisses romands étaient des créateurs de contenu sur le web !

terre.pngLe professeur Ed H. Chi et ses collègues du groupe de recherche  Augmented Social Computing ont étudié wikipedia pour tenter de savoir qui écrit vraiment les articles. Ils ont découvert que seul 1% des utilisateurs sont à l'origine de la moitié des contributions faites sur wikipedia. Jimmy Wales, le fondateur de wikipedia estime que la grande partie de l'encyclopédie est le fruit d'un groupe de quelques centaines de personnes. Pas plus!

Wikipedia est un des sites du top ten des sites les plus visités du web et il n'est écrit que par quelques centaines de personnes. L'asymétrie entre les consommateur et les créateurs d'information est grande.

Un autre mastodonte du web, c'est youtube. Une étude estime que seul 0,016 % des utilisateurs de youtube y envoient des vidéos ! Encore une fois l'asymétrie entre consommateur et créateur est grande.

Tout ceci signifie qu'il existe une sorte d'aristocratie du web qui crée du contenu qu'une majorité de gens consomment.

Vassilis Kostakos, professeur assistant à l’Université de Madère, a présenté en août 2009, à l' IEEE International Conference on Social Computing, les résultats d'une étude qui montre que cette aristocratie du web est capable d'influencer des tendances globales.

En effet, il explique que ce sont des petits groupes d'utilisateurs très actifs qui sont à l'origine de la majorité des votes dans les systèmes de notations comme ceux que l'on retrouve sur la base de données de film IMDB ou sur le magasin Amazon.

Il y a donc une majorité des utilisateurs de ces sites qui ne font que lire les notes qui ont été attribuées aux films ou livres par une poignée d'utilisateurs très actifs. De plus, avec une petite dose de mimétisme instinctif chez l'humain, les utilisateurs seront assez vite enclin à renforcer le vote qui est déjà présent !

Qui choisi les films qu'il va voir en fonction de leur note sur IMDB ? Qui y a déjà noté plus de 300 films ?

Cher lecteur, est ce que tu es consommateur ou aristocrate du web ? Est ce que tu es influencé par le monde ? ou est ce que tu influences le monde ?

Chaque voix compte

Ainsi au vue du taux de participation global sur les sites participatifs du web ou dans notre système polititique démocratique. Il n'est pas difficile de se rendre compte que finalement chaque voix compte !

Si je reprend la phrase: ..de toute façon, ils font ce qu'ils veulent, ma voix sera noyée dans la masse. Il n'est pas difficile de se rendre compte que ce point de vue est faux. Le poid de chaque voix est proportionnel au taux d'abstention. Plus il y a une grande proportion de consommateurs, plus l'artistocratie est renforcée.

foule en délire.jpgCe phénomène se retrouve aussi dans le monde associatif. Ce sont toujours les mêmes personnes qui sont présentes dans bon nombre d'associations d'une même région.

Quand on observe la composition des autorités politiques d'une commune, on remarque très vite que ce sont tous des représentants des associations locales!

Les conspirationnistes y voient une mafia qui noyaute le système, un réseau de potes qui tirent la couverture vers eux. Mais il n'y a pas de conspiration à chercher. C'est uniquement le fait que l'on retrouve toujours cette minorité de la population qui participe, qui s'investi dans la communauté où elle se trouve. Par rapport à la majorité silencieuse.

Tu veux ton mot à dire ? tu veux être entendu? tu veux influencer le monde ? C'est beaucoup plus facile que ce que l'on pourrait croire...

Il suffit de participer ! De s'engager ! Mais c'est vrai ça prend du temps et de l'énergie...

Voilà pourquoi on trouve toujours une majorité de consommateurs !

Voilà pouquoi notre société, est une société de consommation !

Navigation au sein des articles

1 2 3 167 168 169 170 171 172 173 227 228 229
Remonter