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.)

L’avenir est au cinéma 3D

....ça c'est fait... depuis la sortie du film Avatar il est quasi certain que l'avenir du cinéma passe par la 3D.

En effet, depuis quelques temps, l'industrie du cinéma cherche à enrayer la tendance au piratage qui diminue la fréquentation des cinémas et la vente de DVD.

La 3D est une aubaine pour faire retourner les gens au cinéma.

L'industrie du cinéma a enfin compris qu'il ne fallait pas se reposer sur ses lauriers, mais innover !

Le succès d'Avatar confirme ma théorie qui dit que les gens ne se bougent pas pour la qualité, mais pour la quantité ou la nouvauté .

Ou autrement dit, les gens sont plus motivés par la nouveauté que par l'amélioration de la qualité. Cela fait des années que presque toute l'industrie du cinéma est passée au numérique. Du tournage au montage et à la distribution en DVD.

Seule la projection dans les cinémas se faisait encore majoritairement en analogique. Cela fait des années que l'industrie du cinéma tente de convaincre les propriétaires de cinéma d'installer des projecteurs numériques en leur promettant une meilleure qualité d'image. Mais rien n'a bougé..... jusqu'à l'arrivée d'Avatar et la 3D.

Le public n'en a rien à faire de voir des différences de luminosité, des taches, des griffures et les fameuses brûlures de cigarette qui ont été popularisée par le film fight club. Le public supporte aisément tout ces petits défauts de la pellicule et n'est pas prêt à payer plus pour ne plus avoir ses désagréments.

Par contre le public est prêt à payer plus pour tester la nouveauté. Le cinéma 3D numérique.

Le cinéma 3D à la maison ?

home cinéma.jpgDonc l'industrie du cinéma se réjoui de pouvoir à nouveau faire déplacer les gens au cinéma grâce à la nouveauté de la 3D. Mais est ce que ça va durer longtemps ? Est ce que l'on pourra bientôt regarder des films en 3D à la maison ?

Moi je pense que oui. On va très prochainement voir les home cinema. Passer à la 3D. Comme la télévision noir et blanc est passée à la couleur. (mais c'est un petit peu plus compliqué)

Pour assurer une démocratisation de la technologie de cinéma 3D à la maison. Il y aura probablement quelques étapes technologiques à faire. Car il y a de nombreuses manières de projeter un film en 3D. Faisons donc un petit tour des technologies de cinéma 3D.

Les technologies de cinéma 3D

Le temps des anaglyphes (lunettes vertes et rouges) est terminé. On utilise des techniques un peu plus sophistiquées pour projeter des images 3D.

"Le Rêve", appareil stéréoscopique français, 1904

Le principe de base est toujours le même et il n'est pas nouveau. Pour voir en 3D, chaque oeil doit voir sa propre version du film. Donc au moment du tournage, il y a toujours deux caméras en parallèle qui filment la même scène mais avec un décalage horizontal de 6,5cm qui est la distance moyenne entre des pupilles humaines.

En soit le cinéma 3D n'est pas une nouveauté. Il y a quelques années j'avais même déjà vu des films en 3D à Neuchâtel, notamment The revenge of the shogun women lors du NIFF. Le producteur avait misé tout son budget sur la 3D et quasi rien sur l'histoire. Bref, la 3D c'était pas top. Avec Avatar, c'est une autre dimension qui s'ouvre. C'est l'ère du cinéma 3D numérique.

Avec l'ancienne technique on utilisait deux projecteurs en parallèle pour avoir une image pour chaque oeil. Avec le cinéma 3D numérique. On utilise une seul projecteur. Mais on alterne temporellement les images destinées à l'oeil droit ou à l'oeil gauche.

Pour un cinéma

Actuellement, on trouve plusieurs techniques de cinéma 3D qui s'affrontent:

  • realD: avec des images polarisées
  • dolby 3d: avec des couleurs de base rouge, vert et bleu différentes pour chaque oeil.
  • 3D Xpand: avec des lunettes actives qui masquent pour chaque oeil l'image qui ne lui est pas destinée.

XpanD shutter glasses

Le système 3D Xpand n'est pas très pratique pour des salles de cinéma. Avec 400 places, il faut 400 paires de lunettes ! Il faut les nettoyer. Ce sont des lunettes bourrées d'électronique. Il y aura facilement des pannes. Ce n'est pas la bonne technologie pour des cinémas. En revanche c'est probablement la plus simple pour la maison. On y reviendra.

Pour les cinémas, la technologies Dolby 3D semble être sympa, mais elle requiert des filtres assez complexes pour filtrer par interférence les longueurs d'onde des couleurs qui sont destinées à l'autre oeil. Le filtre est un mille-feuille de 50 couches et il atténue pas mal la lumière. Moi j'étais au premier rang, je n'ai pas remarqué, mais il semble que si l'on est loin de l'écran, la luminosité n'est pas terrible. Surtout que le projecteur numérique a déjà moins de luminosité qu'un projecteur pour film argentique.

RealD glasses.

Le système qui semble le plus populaire pour les cinémas, c'est le système de reald qui fonctionne avec une lumière polarisée. Chaque oeil reçoit l'image qui lui est destinée par l'intermédiaire d'une paire de lunette avec des verres polarisés. Les lunettes sont moins complexes et donc moins chères.

La subtilité de la lumière polarisée, c'est que dès qu'elle est réfléchie, elle risque de changer de polarisation. Ce qui n'est pas du tout ce que l'on veut si l'on projette l'image sur un écran !

Donc l'écran doit être spécial pour utiliser un système reald. Il est fait avec de l'argent ou de l'aluminium pour réfléchir la lumière sans changer sa polarisation. (de toute façon avec un projecteur numérique qui émet moins de lumière il faut changer l'écran)

Pour aller plus loin dans la technique: lire le pdf détaillé du fonctionnement du système 3D de RealID

Pour la maison

Si dans les cinémas, la 3D semble être à maturité, pour ce qui est des technologies utilisables à la maison. Rien n'est encore joué.

Ce qui est certain, c'est qu'il faudra se ré-équiper. Mais avec quoi ? Il y a plusieurs possibilités:

Dans un avenir très proche, le système qui va l'emporter est certainement celui pour lequel il y a le moins de matériel à changer. Donc c'est probablement un système de lunettes à obturation comme celui de Nvidia qui va se populariser.

Si dans un cinéma devoir gérer des centaines de paires de lunette active pose un problème, à la maison gérer juste quelques paire semble tout à fait possible.

L'étape suivante sera certainement l'écran LCD à lumière polarisée. Actuellement il n'existe que l'écran Zalman Trimon. Mais dans un proche avenir d'autres écrans de ce type vont arriver.

Ainsi seules de simples lunettes polarisées sont nécessaires pour regarder un film 3D.

Puis l'étape ultime sera l'écran autostéréoscopique comme celui d' Alioscopy. Cependant on ne verra pas ce genre d'écran  pour le grand public avant 2015. Actuellement les prix sont prohibitifs. On ne trouve ce genre d'écran uniquement dans des aéroports chinois comme écrans publicitaires !

Les formats

Vu qu'il y a de nombreux systèmes, il y a aussi de nombreux formats de films 3D. ça va être de plus en plus la jungle pour convertir des formats et pouvoir les lire sur le bon lecteur dans le format approprié.

On trouve déjà des programmes qui permettent de convertir ou de lire différents formats de film 3D.

L'industrie du cinéma va aussi probablement utiliser l'argument de la 3D pour lancer le nouveau support de donnée BlueRay qui peine à décoller, la plupart des gens de voyant pas l'avantage par rapport au DVD. Comme pour les cinémas, c'est l'effet nouveauté qui va être mis en avant pour vendre des blueRay.

On verra si le BlueRay décolle. Si ce n'est pas le cas, c'est que l'ère des supports de données physique est révolue et que c'est le téléchargement via internet qui est le moyen le plus utilisé par l'utilisateur lambda. Mais ça ne me semble pas encore être le cas.

Rupture de stock de matériel pour cinéma 3D

Cela fait quelques temps que le cinéma numérique en 3D progresse gentiment, car il y a de plus en plus de films qui sont potentiellement visible en 3D. ( Coraline, L'age de glace 3, Là-haut, Numéro 9, Destination finale 4...)

Mais c'est seulement à l'occasion de la sortie de Avatar que la plupart des cinémas se sont équipés de système de projection 3D. Beaucoup de cinémas se sont donc équipés pour la 3D à l'occasion de la sortie d'Avatar qui s'est faite pratiquement le même jour partout dans le monde. (le 16 décembre 2009 à Neuchâtel)

La question que je me pose est: Est ce que cette soudaine demande en installation de cinéma 3D a posé des problèmes aux sociétés qui fournissent et installent les installations 3D ?

Est ce qu'il y a eu des ruptures de stock ? Des cinémas qui n'ont pas pu être équipé à temps d'un système 3D ?

Il semble qu'il y a eu des ruptures de stock de lunette 3D. Mais je n'ai eu aucune source m'indiquant qu'il y a eu une rupture de stock de projecteur.

Pourtant l'étrange expérience que j'ai faite à Neuchâtel me montre que c'est peut être le cas.

Changement de système de projection 3D à Neuchâtel

Le 21 décembre 2009, je suis allé à Neuchâtel au cinéma des Arcades pour voir Avatar. J'y ai vu le film avec des lunettes Dolby 3d. Des lunettes avec filtre de couleurs.

Quelques jours plus tard, en discutant avec mon ami kiki. Nous avons découvert qu'il est allé voir le film le 29 décembre au même endroit, mais qu'il n'a pas eu les mêmes lunettes !

Le système en place était le système de RealD avec des lunettes polarisées.

Pourquoi changer de système juste deux semaines après l'installation ?

Est ce que c'est par ce que le système Dolby 3D est jugé décevant par rapport au système RealD ?

Où est ce que c'est par ce qu'il n'y avait pas de système RealD disponible pour la sortie d'Avatar et qu'il a fallut installer temporairement un système Dolby 3D?

Vital Epelbaum.jpgPersonnellement je penche pour la seconde solution.

Simplement, par ce que dans le journal de la télévision régionale canal alpha du 15 décembre 2009, Vital Epelbaum, le propriétaire des cinémas de Neuchâtel déclare que l'on pourra acheter les lunettes. Mais seulement dans quelques jours !

En effet, lorsque je suis allé voir Avatar, je n'ai pas eu le choix d'acheter mes lunettes dolby 3d, alors que deux semaines plus tard il était possible d'acheter les lunettes polarisée RealD.

Cette petite phrase de Vital Epelbaum me fait penser qu'il savait que le système serait changé entre temps !

Si quelqu'un à des infos à ce sujet, je suis preneur.
En attendant, bon film.... en 3D.

Après Avatar, c'est certainement le très attendu Alice au pays des merveilles qui va encore plus populariser le cinéma 3D... on en reparle dans un mois !

Navigation au sein des articles

1 2 3 9 10 11 12 13 14 15 19 20 21
Remonter