IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Traitement fichier GPX avec SimpleXML


Sujet :

PHP & Base de données

  1. #61
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    pas du tout

    le point de départ et d'arrivée sont les mêmes... c'est peut être ça...

    enfin c'est pas grave vu sa longueur
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  2. #62
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    J'ai supprimé le dernier point et ça fonctionne correctement

    http://partir-en-vtt.com/php/article...id_article=358

    Par-contre, mes photos se géolocalisent moins bien, il faut que je re-regarde mon code de géolocalisation.

  3. #63
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    étonnant non, quand tu comprends que c'est un récursion cet algo

    bizarre vu que les photo n'ont rien à voir... qu'est ce que tu appelles moins bien?
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  4. #64
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    J'ai l'impression que toutes les photos ne trouvent pas toujours un points gps (liaison via la date). Je vais regarder ça en détails ou ouvrir un post pour optimiser ce script.

    En tout cas, je te dois un grand merci pour ton aide. Maintenant l'affichage de ma carte openlayers, de mon profil d'altitude vont bien plus vite.

    NB/ Je dois également améliorer mon script de génération de profil car comme tu l'as vu, je n'arrive pas à afficher le kilométrage total en fin de diagramme.


    => Résolu !

  5. #65
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    ça c'est normal idéalement tu dois les recaler sur le point le plus proche de ta courbe réduite...


    tu as la formule pour le calcul de distance applique la sur le parcours des points originaux... lors du parcours dans le constructeur par exemple...

    tu te rajoutes la formule comme méthode de la classe
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  6. #66
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    On peut regarder si t'es en forme :

    Voici le code que j'utilise pour localiser mes photos

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
    <?php
     function recursive_readdir ($dir) 
     {
    	$dir = rtrim ($dir, '/'); // on vire un eventuel slash mis par l'utilisateur de la fonction a droite du repertoire
    	if(is_dir ($dir)) // si c'est un repertoire
    	{
    		$dh = opendir ($dir); // on l'ouvre
    	}
    	else 
    	{
    		echo $dir, ' n\'est pas un repertoire valide'; // sinon on sort! Appel de fonction non valide
    		exit;
    	}
    	while (($file = readdir ($dh)) !== false )//boucle pour parcourir le repertoire
    	{ 
    		if($file !== '.' && $file !== '..')
    		{ 
    			$path =$dir.'/'.$file; // construction d'un joli chemin...
    			if (is_dir ($path)) //si on tombe sur un sous-repertoire 
    			{ 
    				 recursive_readdir ($path); // appel recursif pour lire a l'interieur de ce sous-repertoire
    			}
    			$path_parts = pathinfo($path);
    			if($path_parts['extension'] == "jpg" OR $path_parts['extension'] == "JPG" )
    			{
    				// envoie les images dans la base
    				inserer_database_exif($path); 
    			}
    		}
    	}
    	 closedir ($dh); // on ferme le repertoire courant
    }
     
    //---------------------------------------------------------------------------------------------------------------------------------
    //---------------------------------------------------------------------------------------------------------------------------------
    function inserer_database_exif($chem_image)
    {
    	$racine = $_SERVER['DOCUMENT_ROOT'];
    	include($racine . '/inclusion/connect_pdo_v3.php');
     
    	//Récupèration des informations de l'image
    	$tab_info = exif_read_data($chem_image,FILE);
    	//si il a quelque chose dans le datetime photo
    	if(!empty($tab_info['DateTimeOriginal']))
    	{
    		$datetime = new DateTime($tab_info['DateTimeOriginal']);
    		$newdate = $datetime->format('Y-m-d H:i:s');
     
    		/* Cherche dans tout les points de la balade, le point le plus proche*/
    		$sql_trouver_point = $bdd->prepare('SELECT a.id_fichier_gps, MIN(id_coord_gps) AS id_coord_gps' 
    											. ' FROM pevtt_coordonnee_gps a'
    											. ' LEFT JOIN pevtt_fichier_gps_avec_article b ON a.id_fichier_gps = b.id_fichier_gps'
    											. ' WHERE coord_gps_date  >= ?'
    											. ' AND id_article = ?');								
    		if(!empty($_POST['id_prochain_article']))
    		{
    			$id_article = intval($_POST['id_prochain_article']);
    		}
    		else
    		{
    			$id_article = intval($_POST['id_article_a_modifier']);
    		}
     
    		$sql_trouver_point->execute(array($newdate,$id_article));
    		$tab_trouver_point = $sql_trouver_point->fetch();
     
    		$pieces = explode("/", $chem_image);
    		$nom_photo = end($pieces);
     
    		$chem_image = str_replace($_SERVER['DOCUMENT_ROOT'],"",$chem_image);
     
    		$id_pt_gpx = intval($tab_trouver_point['id_coord_gps']);
    		$id_fichier_gps = intval($tab_trouver_point['id_fichier_gps']);
    		$id_photo_gps = mt_rand();
     
    		if($id_pt_gpx != 0 OR $id_fichier_gps != 0)
    		{
    			$sql_update_pt_gpx = $bdd->prepare('INSERT INTO pevtt_photo_gps (id_fichier_gps,id_coord_gps,id_photo_gps,photo_gps_nom,photo_gps_url) VALUES(:id_fichier_gps,:id_coord_gps,:id_photo_gps,:photo_gps_nom,:photo_gps_url)');
    			$sql_update_pt_gpx->execute(array(':id_fichier_gps' => $id_fichier_gps,
    											  ':id_coord_gps' => $id_pt_gpx,
    											  ':id_photo_gps' => $id_photo_gps,
    											  ':photo_gps_nom' => $nom_photo,
    											  ':photo_gps_url' => $chem_image
    											));
    		}
    	}	
     
    	return $resultat;	
    }
     
    	//appel de la fonction
    	recursive_readdir ($racine.'/upload/articles/images/'.$fsb->userdata('u_id').'/'.$id_type_article.'/'.$id_article.'/'); ?>

  7. #67
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    oui c'est une façon de le faire en extrayant le timecode de l'image s'il existe et en regardant le point le plus immédiatement avant en terme de timecode...

    en fait faut que tu le fasses sur la table qui contient la forme réduite de la courbe, après sa génération...

    là je suppose que ta table contient encore tous les positionnements liés à la version non réduite des courbes... faut donc les remettre à jour...

    ensuite pourquoi perdre de la place à copier les coordonnées dans la table pevtt_photo_gps, alors que l'index de la trace et du point suffisent à faire un jointure pour les récupérer...
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  8. #68
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    Y'a t-il une possibilité d'améliorer ce code ?

    en fait faut que tu le fasses sur la table qui contient la forme réduite de la courbe, après sa génération...
    C'est ce que je fais

    ensuite pourquoi perdre de la place à copier les coordonnées dans la table pevtt_photo_gps, alors que l'index de la trace et du point suffisent à faire un jointure pour les récupérer...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     ':id_coord_gps' => $id_pt_gpx,
    ':id_photo_gps' => $id_photo_gps,
    ':photo_gps_nom' => $nom_photo,
    ':photo_gps_url' => $chem_image
    Je ne réinsère pas le lat/lon dans la table photo

  9. #69
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    oups mal lu

    et quand tu régénère entièrement pevtt_photo_gps ça recale pas les photos sur la courbe réduite?

    ton code semble pas trop mal... après faut voir les index posés sur les différentes tables c'est ça qui devrait surtout booster le truc...

    ensuite l'autre point c'est les requêtes de récupération et la façon don tu organise ton code pour générer les différentes pages en php
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  10. #70
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    et quand tu régénère entièrement pevtt_photo_gps ça recale pas les photos sur la courbe réduite?
    Si les photos sont de nouveau géolocalisées c'est jusque parfois, j'ai l'impression que certaines photos ne trouvent pas un point GPS. Je vais essayer de débusquer le moment où cela se produit.

    J'aimerais que l'on regarde la génération du profil d'altitude. Comment pourrait-on faire en sorte d'afficher le kilométrage total en fin du graphique tout en découpant "logiquement" les tirets qui séparent le kilomètrage ?

    Ex sur une trace de 21 km

    Graphique
    0-5-10-15-20-21 (km)

    Ex : http://partir-en-vtt.com/php/article...id_article=395

    N.B : Pour l'instant j'utilise artichow mais le projet semble mort. Faut-il recommencer sur un produit comme jpgraph ?

  11. #71
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    c'est pas très dur de faire un graph avec échelle automatique sans jpgraph... tu l'as vu avec ce que j'ai fait

    je pense pour des raisons de performance qu'il vaudrait mieux générer la distance lors de l'insertion dans la table (pas de calcul à la volée ensuite) à partir de la trace réduite pour plus de cohérence en utilisant ta fonction qui tient compte de l'altitude

    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  12. #72
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    La distance est effectivement envoyée en base lors de l'envoi de la trace. J'effectue aussi à ce moment d'autres calculs (durée, vitesse...).

    Voilà comment je m'y prend avec artichow (certainement comme un manche mais bon)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    <?php
    	$racine = $_SERVER['DOCUMENT_ROOT'];
    	include($racine . '/inclusion/connect_pdo_v3.php');
     
    	$id_article = intval($_GET['id_article']);
     
    	$sql_select_distance = $bdd->prepare('SELECT count(coord_gps_lat) as total_point, fichier_gps_distance'
    									. ' FROM pevtt_statistique_fichier_gps a'
    									. ' LEFT JOIN pevtt_fichier_gps_avec_article b ON a.id_fichier_gps = b.id_fichier_gps'
    									. ' LEFT JOIN pevtt_coordonnee_gps c on a.id_fichier_gps = c.id_fichier_gps'
    									. ' WHERE b.id_article = ?');
     
    	$sql_select_distance->execute(array($id_article));							
    	$tab_data = $sql_select_distance->fetch();
     
     
    	$sql_select_altitude = $bdd->prepare('SELECT coord_gps_altitude'
    								. ' FROM pevtt_coordonnee_gps a'
    								. ' LEFT JOIN pevtt_fichier_gps_avec_article b ON a.id_fichier_gps = b.id_fichier_gps'
    								. ' WHERE b.id_article = ?'
    								. ' ORDER BY id_coord_gps');
    	$sql_select_altitude->execute(array($id_article));							
     
    	$i = 0;
    	$table = array();
    	$table_elevations = array();
    	//tant qu'il y a des points à manger
    	while ($tab_data_altitude = $sql_select_altitude->fetch())
    	{
    		array_push($table,$tab_data_altitude);
    		array_push($table_elevations,ceil($tab_data_altitude['coord_gps_altitude']));
    	}
     
    	// Fonction d'affichage du graphe de l'altitude
    	include($racine . '/js/Artichow/LinePlot.class.php'); 
    	// En fonction de la distance totale on va créer le nombre de séparateur
     
       // Changer ces valeurs !!!!
    	$nb_separateur = 7;
    	$distance = $tab_data['fichier_gps_distance'];
     
    	 /*
    	 * Les valeurs concernant les altitudes sont retournée par la requête dans le tableau $table_elevation
    	 * ce tableau ne contient que des valeurs entières !
    	 */
     
    	$nb_pts_altitude = intval($tab_data['total_point']) ;
    	$graph = new Graph(600, 300);
    	$values = $table_elevations;
    	$plot = new LinePlot($values);
     
       //couleur du cadre
       $plot->setBackgroundColor(new Color(240, 240, 240));
       $plot->hideLine(FALSE);
    	//couleur de l'interieur de la ligne
       $plot->setFillColor(new Color(30, 147, 66,15));
       $plot->grid->setBackgroundColor(new Color(62, 171, 255, 35));
       $black = new Black(50);
       $plot->grid->setColor($black) ;
    	//nb de virgule
       $plot->yAxis->setLabelPrecision(0);
       //etiquette
       $plot->yAxis->title->set("Altitude (m)");
       $plot->yAxis->title->setPadding(0, 15, 0, 0);
     
       //on reduit par 30 le nombre de point pour aller plus vite
       //$plot->reduce(30);
     
       /*
    	* On a un nombre de point $nb_pts_altitude, une distance totale $distance
    	* et un nombre de séparateur $nb_separateur on va donc chercher la fréquence
    	* d'affichage des étiquettes càd le nombre de point séparant chaque etiquette
    	*/
     
       $espace_distance = round(($distance / $nb_separateur),1);
       // distance en km entre deux tirets sur le graphe
       $tab_tirets = array(0);
       for($i=1; $i <($nb_separateur+1); $i++) // pour i de 1 à 9 dc 8 tours
       {
    		$valeur_tiret = ($i*$espace_distance);
    		$valeur_tiret_2 = $valeur_tiret;
    		array_push($tab_tirets, $valeur_tiret_2);
    		// On rajoute un huitieme, deux huitieme, ... huit huitiemes
       }
     
       // ici on va calculer la distance en km entre deux points !
       $distance_km_points = ($distance/($nb_pts_altitude - 1)); // ex: 1/8 : 8points = 1km (totalement fictif)
       // Sachant qu'on a la distance en kilomètre entre deux tirets $espace_distance : ici 3km (24/8)
       // On calcule le nombre de points correspondant :
       $nb_points_entre_tirets = ceil($espace_distance / $distance_km_points);
       // par exemple 3km = 3/ (1/8) = 3*8 = 24 points
       // ce qui veut dire que le point 24 = 2km
       // mais le 1/8 est cité comme exemple pour simplifier !
     
       // On va donc remplir le tableau avec pour l'indice 0 bah 0
       // a l'indice 24 la premiere valeur de $tab_tirets soit un huitieme du parcourt, etc ...
     
       $tab_ordonnees = array();
       $tab_ordonnees[0] = 0;
     
       for ($i=1; $i<($nb_separateur+1);$i++) // pour i allant de 1 à 9 donc 8 tours
       {
    		$tab_ordonnees[($i*$nb_points_entre_tirets)] = $tab_tirets[$i];
    		// Pour le premier tour $tab_ordonnees[1*24] = $tab_tirets[1]
    		// Soit tab_ordonne[24]= un huitieme de la distance
    		// rappel $tab_tiret[0] =0 (ligne 110)
       }
     
       //Et donc d'un point de vue de la fréqence d'affichage f= nb_point_entre_tiret
       $plot->xAxis->setLabelText($tab_ordonnees);
       //frequence des point de distance
       $frequence = $nb_points_entre_tirets;
     
      //grid (trait) horzontal vertical
       $plot->grid->setInterval(1,$frequence ); 
     
       $plot->xAxis->setLabelInterval($frequence);
     
    	//etiquette
       $plot->xAxis->title->set("Distance (km)");
       $plot->xAxis->title->setPadding(5, 0, 0, 0);
    	//vertical horizontale frequence grid
     
    	// On ajoute 6 % d'espace en haut de la courbe
    	$plot->setSpace(
    	  0, /* Gauche */
    	  0, /* Droite */
    	  5, /* Haut */
    	  0 /* Bas */
       );
     
       $graph->add($plot);
       $graph->draw();
    	 ?>

  13. #73
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    non c'est des lib qui sont ce qu'elles sont...

    après tu peux faire tout aussi bien à la main (tu as vu le temps de génération de mon graph)

    tu ne gardes que la distance totale ou celle de chaque point au précédent?
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  14. #74
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    Je garde uniquement la distance totale dans la base.

    Edit : Maintenant, la génération de mes graph sont très rapide (depuis qu'il ya moins de points). J'aimerais juste générer des intervalles logiques selon la distance et afficher la distance totale en fin de graph.

  15. #75
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    donc le graph est assez facile à faire...

    tu peux te faire une classe ou une fonction qui te le fais...

    c'est pas dur...

    par contre, tes requêtes sont mal construites formellement tu mélanges des conditions de jointure avec la condition de restriction générale...

    ensuite est ce bien utile de reproduire à la volée ces graph qui ne devraient être généré qu'en cas de changement d'une courbe... c'est pas des statistiques temps réel...

    la tu bouffes un temps de génération considérable... pour rien...

    bref... y a à repenser...
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  16. #76
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    je veux bien quelques éclaircissements car le "c'est pas dur" dépend du niveau !

    par rapport à la fonction qui génère la courbe correctement, je veux bien un peu d'aide sur l'algorithme que tu mettrais en place et tant qu'à faire, on pourrais utiliser jpgraph au lieu d'artichow voir du fait maison si c'est aussi joli.

    Concernant la génération à la demande. Tu penses que générer une fois l'image et stocker cette dernière serait plus simple/efficace/logique ? Je trouve pas que ce soit long à générer dorénavant !

  17. #77
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    le graph est facile à faire mais 2 remarques déjà:
    • ton graph devrait être générer à la création de la trace en bd pour des questions de performances
    • ton graph est faux vu que tu ne places pas les altitudes à la bonne distance mais à équidistance... il faut donc générer la distance pour chaque point depuis le départ et la stocker dans la trace
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  18. #78
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    ton graph devrait être générer à la création de la trace en bd pour des questions de performances
    Dans un premier temps on peut générer le graph à la demande puis ensuite on peut voir comment le générer une fois pour toute et le stocker l'image. Bien-sûr, il faudra re-calculer le graph si la trace venait à changer.

    ton graph est faux vu que tu ne places pas les altitudes à la bonne distance mais à équidistance... il faut donc générer la distance pour chaque point depuis le départ et la stocker dans la trace
    Un point est composé d'une date, puis d'un X,Y,Z. Dans la base, j'ai donc ces 4 paramètre pour chaque point. A partir de là on doit pouvoir générer un bon graph. J'attends avec impatience tes lumières sur le sujet.

  19. #79
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    si tu faisais un graph (altitude/temps écoulé) oui...

    après ça dépend ce que tu veux (distance/alti) ou (altitude/temps écoulé)
    ça représente pas la même chose vu que l'un dépend des poses éventuelles, l'autre est indépendant de la façon de parcourir le trajet...
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  20. #80
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    A l'origine, mon idée était de faire un graph altitude/distance afin de montrer la dénivellation générale du parcours mais aussi par exemple qu'à 4 km, la montée commence et se termine à 6 km.

    Avec les données que j'ai, il est impossible de faire ce graph ? Pourtant c'est ce que je pensais faire : afficher l'altitude de chaque point par rapport à sa distance.

Discussions similaires

  1. [Débutant] Traitement fichier .csv avec valeurs manquantes
    Par Jah73 dans le forum VB.NET
    Réponses: 3
    Dernier message: 28/01/2014, 16h19
  2. Traitement fichier Excel avec insertion en base
    Par luvtribe dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 23/11/2011, 16h48
  3. [XML] parser un fichier xml avec simplexml
    Par gtraxx dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 06/08/2011, 22h43
  4. Python probleme pour traitement fichier Xml avec l'API dom
    Par chenimitz dans le forum Général Python
    Réponses: 11
    Dernier message: 30/10/2007, 19h34
  5. Traitement fichier excel avec vb6
    Par couscoussier dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 12/09/2006, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo