DigitalSpirit / Blog

Écriture dans les fichiers Tomtom Ov2 et Garmin Asc

Pour faire suite au billet précédent concernant la lecture de fichiers au format Tomtom Ov2 et Garmin Asc, voici la même librairie avec en plus le support de l'écriture.

Voici un petit exemple du fonctionnement :

<?php
/* Ov2 and Asc reader / writer
hugo arobase digitalspirit dot org
c.rincheval, 2007
*/

require 'geo.class.php';

$content = array(0 => array(
'lon' => -3.22,
'lat' => 49.19,
'label' => 'poi 0'
),
1 => array(
'lon' => -5.45,
'lat' => 52.12,
'label' => 'poi 1'
)
);

$file = 'test.ov2';

$format = 'ov2'; // 'asc';

// Writing data to file !
geo::writeData($file, $format, $content);

// Read file
$data = geo::getData($file, $format);

print_r($data);

?>

L'exemple ci dessus se contente d'écrire dans un fichier (test.ov2) les 2 poi du tableau et ainsi la fonctione getData lit ce fichier et l'affiche.

Ouvrir l'article

Lecture de fichiers Tomtom Ov2 et Garmin Asc

Pour les besoins de Hyla 0.8.1 et, plus particulièrement, de son plugin Géo, j'ai créé une librairie d'accès aux fichiers Ov2 de Tomtom et Asc de Garmin, ces derniers contiennent des informations géographiques, et notamment, des POI.

Cette librairie vous permet d'extraire les données contenues dans les fichiers sus-cités sous forme de tableaux directement exploitables dans votre application.

Voici le contenu du fichier test fourni qui se contente de lire un fichier au format Ov2 et fait un "dump" du contenu du tableau renvoyé :

<?php
/*  Ov2 and Asc reader
    hugo arobase digitalspirit dot org
    c.rincheval, 2007
 */

require 'geo.class.php';

$data = geo::getData('FON_FR.ov2', 'ov2');

print_r($data);

?>

Comme vous le voyez, l'utilisation est très simple...

En annexe, une archive contenant la classe, un fichier de test et un fichier au format ov2.

Ouvrir l'article

Sortie de Hyla 0.8.1

Je suis heureux de vous annoncer la sortie de Hyla 0.8.1 qui apporte son lot de nouveautés et quelques corrections de bugs, dont, voici, ci dessous la liste :

Nouveautés

Plugins

  • Refonte globale du système de plugins
  • Ajout du plugin geshi (affichage du code source d'énormément de formats de fichiers, voici les extensions prisent en compte : as, a, ada, adb, ads, conf, ash, asm, asp, sh, c, h, cdfg, cpp, hpp, css, dpk, dpr, html, htm, java, js, lisp, lua, pas, pl, pm, php, php3, php4, php5, phtml, phps, py, bi, sas, bas, xml)
  • Ajout du plugin geo qui permet d'afficher sur une map (Google Maps) les fichiers au format KML, les fichiers OV2 de TomTom et les fichiers ASC de Garmin
  • Modification des fichiers info.xml dans les plugins et ajout de l'attribut enabled permettant de désactiver un plugin
  • Introduction des plugin d'url qui permettent de générer des url de toute sorte et ajout du plugin d'url pathinfo
  • Le fichier de configuration général des plugins (/conf/plugins.ini) est remplacé par un fichier (conf.ini) directement dans le dossier des plugins en nécessitant

Fontionnalités

  • Possibilité de spécifier le format voulu lors du téléchargement d'un dossier, d'un fichier ou d'une archive (tar, gz, tgz, zip)
  • Il est dorénanant possible pour chaque utilisateur de changer son mot de passe lui même
  • Ajout d'un système permettant à un utilisateur de créer son compte de lui même (basé sur la contribution de KaZaad sur le forum)
  • Ajout du choix concernant la création des comptes par les utilisateurs dans l'interface d'administration
  • L'export du contenu des plugins permet d'afficher le contenu d'un plugin directement dans un billet sur son blog ou sur un forum, il existe actuellement en export iframe et javascript, voir explication dédié à l'exportation
  • La possibilité de spécifier une limite (download_dir_max_filesize) indiquant à partir de quelle taille il ne faut plus sauvegarder le cache d'un dossier archivé

Apparence

  • Création de la feuille de style "Flat Dark"
  • Ajout du plugin jQuery tablesorter permettant de trier les éléments des tableaux
  • Les css et js des modèles sont placés respectivement dans les dossiers css et js des modèles

Pour les développeurs

  • Ajout d'une méthode permettant d'ajouter des entêtes quelconque dans le "head" d'une page (utile pour les plugins ayant besoin d'ajouter des scripts js)
  • Les plugins possèdent maintenant, dans leurs fichiers info.xml, une balise (minversion) permettant de définir la version minimale de Hyla

La documentation à bien sûr été mise à jour et je vous invite à la consulter !

Liens

  Merci à TuxFamily pour l'hébergement du projet !

Ouvrir l'article