Download the PHP package ycdev/php-igc-inspector without Composer
On this page you can find all versions of the php package ycdev/php-igc-inspector. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package php-igc-inspector
phpIgcInspector
Bibliothèque PHP pour lire et manipuler les fichiers IGC (International Gliding Commission).
Installation
Utilisation de base
Documentation
Consultez le dossier doc/ pour les spécifications du format IGC.
Structure
API - Classe PhpIgcInspector
Constructeur
Crée une instance avec le contenu brut du fichier IGC.
Paramètres :
$content: Contenu du fichier IGC$withRaw: Sitrue, ajoute le champ 'raw' dans les données parsées
Exemple :
Méthodes statiques
fromFile()
Crée une instance depuis un fichier.
Paramètres :
$filePath: Chemin vers le fichier IGC$withRaw: Sitrue, ajoute le champ 'raw' dans les données parsées
Retour : Instance de PhpIgcInspector
Exemple :
rawExtractFromFile()
Extrait chaque type d'enregistrement depuis un fichier IGC dans des fichiers séparés.
Paramètres :
$igcFilePath: Chemin vers le fichier IGC source$outputDirectory: Répertoire de sortie pour les fichiers extraits$prefix: Préfixe pour les noms de fichiers (optionnel)
Retour : Tableau associatif avec le type d'enregistrement comme clé et le chemin du fichier comme valeur
Exemple :
Méthodes d'instance
validate()
Valide et parse le contenu du fichier IGC.
Retour : true si le fichier est valide
Lance : InvalidIgcException si le fichier n'est pas valide
Exemple :
getFlight()
Retourne l'objet flight parsé contenant toutes les données du fichier IGC.
Retour : Objet flight ou null si le fichier n'a pas été validé
Exemple :
getMetadata()
Retourne uniquement les métadonnées du vol (records uniques uniquement, sans les tableaux de points GPS).
Retour : Objet contenant uniquement les métadonnées ou null
Exemple :
toJson()
Retourne l'objet flight au format JSON (avec formatage et caractères Unicode non échappés).
Retour : Représentation JSON de l'objet flight ou null
Exemple :
stringify()
Convertit l'objet flight en JSON avec des options personnalisées.
Paramètres :
$flags: Options pourjson_encode()(défaut:JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE)
Retour : Représentation JSON de l'objet flight ou null
Exemple :
validTurnPoint()
Valide les turnpoints en vérifiant la proximité des points GPS avec les waypoints de la tâche.
Paramètres :
$proximityRadius: Distance en mètres pour valider la proximité d'un turnpoint (défaut: 5000 m)
Retour : true si tous les turnpoints sont validés dans l'ordre
Exemple :
rawExtract()
Extrait chaque type d'enregistrement dans un fichier séparé.
Paramètres :
$outputDirectory: Répertoire de sortie pour les fichiers extraits$prefix: Préfixe pour les noms de fichiers (optionnel)
Retour : Tableau associatif avec le type d'enregistrement comme clé et le chemin du fichier comme valeur
Lance : \RuntimeException si le répertoire ne peut pas être créé ou si l'écriture échoue
Exemple :
API - Classe PhpIgcUtils
Classe utilitaire contenant des fonctions statiques pour les opérations courantes sur les fichiers IGC.
Calcul de distances GPS
calculateDistance()
Calcule la distance entre deux points GPS en utilisant la formule de Haversine.
Paramètres :
$latitude1,$longitude1: Coordonnées du premier point (degrés décimaux)$latitude2,$longitude2: Coordonnées du deuxième point (degrés décimaux)
Retour : Distance en mètres
Exemple :
calculateProximity()
Alias pour calculateDistance().
Conversions de coordonnées
igcToDecimal()
Convertit des coordonnées IGC (DDMMmmm) en degrés décimaux.
Paramètres :
$degrees: Degrés (DD ou DDD)$minutes: Minutes (MM)$thousandths: Millièmes de minute (mmm)
Retour : Coordonnée en degrés décimaux
Exemple :
decimalToIgc()
Convertit des degrés décimaux en format IGC (DDMMmmm).
Paramètres :
$decimalDegrees: Coordonnée en degrés décimaux$isLongitude:truesi c'est une longitude (DDDMMmmm),falsepour latitude (DDMMmmm)
Retour : Tableau avec degrees, minutes, thousandths
Exemple :
Conversions de temps
secondsToTime()
Convertit des secondes en format hh:mm:ss.
Paramètres :
$seconds: Nombre de secondes
Retour : Temps formaté (hh:mm:ss)
Exemple :
timeToSeconds()
Convertit un temps formaté (hh:mm:ss ou HHMMSS) en secondes.
Paramètres :
$timeString: Temps au format hh:mm:ss ou HHMMSS
Retour : Nombre de secondes
Exemple :
Formatage
formatDistance()
Formate une distance en mètres avec unité (m ou km).
Paramètres :
$distance: Distance en mètres$decimals: Nombre de décimales (défaut: 2)
Retour : Distance formatée (ex: "125.43 km" ou "45.67 m")
Exemple :
formatSpeed()
Formate une vitesse en km/h.
Paramètres :
$speed: Vitesse en km/h$decimals: Nombre de décimales (défaut: 2)
Retour : Vitesse formatée (ex: "125.43 km/h")
Exemple :
Calculs
calculateSpeed()
Calcule la vitesse entre deux points GPS.
Paramètres :
$latitude1,$longitude1: Coordonnées du premier point$timestamp1: Timestamp du premier point$latitude2,$longitude2: Coordonnées du deuxième point$timestamp2: Timestamp du deuxième point
Retour : Vitesse en km/h, ou null si le temps est invalide
Exemple :
validatePointsProximity()
Valide une liste de points en vérifiant s'ils sont passés à proximité dans un fichier IGC.
Paramètres :
$points: Liste de points à valider. Chaque point doit être un objet ou un tableau associatif contenant les cléslatitudeetlongitude(en degrés décimaux)$distance: Distance maximale en mètres pour considérer qu'un point est validé$igcContent: Contenu du fichier IGC à analyser$includeIgcObject: Sitrue, inclut l'objet IGC parsé dans le résultat (défaut:false)
Retour : Objet contenant :
validatedPoints: Tableau des points validés avec leurs détailsinvalidatedPoints: Tableau des points non validésallValidated: Booléen indiquant si tous les points sont validésvalidatedCount: Nombre de points validéstotalPoints: Nombre total de pointsdistance: Distance maximale utilisée pour la validationigcObject: Objet IGC parsé (uniquement si$includeIgcObjectesttrue)
Lance : \Exception si le fichier IGC ne peut pas être parsé ou si les points sont invalides
Exemple :
Exemples complets
Exemple 1 : Lecture et validation d'un fichier IGC
Exemple 2 : Validation des turnpoints
Exemple 3 : Calcul de distance entre deux points
Exemple 4 : Validation de points personnalisés
Développement
- Namespace :
Ycdev\PhpIgcInspector - License : GPL-3.0-only
- Version PHP requise : >= 7.4
Auteur
Yann ([email protected])