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 :

sélectionner des points GPS aléatoires


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de fadex
    Inscrit en
    Septembre 2005
    Messages
    223
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2005
    Messages : 223
    Par défaut sélectionner des points GPS aléatoires
    Bonjour

    Je veux écrire un programme php pour sélectionner 16 points aléatoires à partir de 400 points dans ma base de données

    (tableau de points: id - Titre - latitude - longitude).

    exemple de point :
    id : 1
    titre : un titre
    latitude : 37.9824
    longitude: -87.5781547

    exigences, 16 points aléatoires, dont chaque point est au moins à 1km de l'autre point.

    par exemple:

    si le programme sélectionne 3 points A, B et C.

    la distance entre les point doivent être:

    A et B >= 1 KM

    A et C >= 1 KM

    B et C >= 1 km

    ps : j'ai crée une table distance sur la quelle il y a la distance entre chaque deux points :

    exemple :

    point_1 : 1
    point_2 : 2
    distance : 1200

    point_1 : 3
    point_2 : 6
    distance : 800

    ma question est comment sélectionner les 16 points aléatoires, dont chaque point est au moins à 1km de l'autre point.

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Quelle est ta question ?

  3. #3
    Membre confirmé Avatar de fadex
    Inscrit en
    Septembre 2005
    Messages
    223
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2005
    Messages : 223
    Par défaut
    ma question est comment sélectionner les 16 points aléatoires, dont chaque point est au moins à 1km de l'autre point.

  4. #4
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Une solution simple serait de récupérer toutes les cordonnées éloignées d'1km, de les mettre en cache, de les mélanger et d'en sortir 16

  5. #5
    Membre confirmé Avatar de fadex
    Inscrit en
    Septembre 2005
    Messages
    223
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2005
    Messages : 223
    Par défaut
    tu peux développer plus votre solution ( simple ) ??
    - vu que je ne pence pas que c aussi simple

  6. #6
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Je pensais à quelque chose dans ce genre (en utilisant PDO):
    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
    <?php
    define("CACHE_FILE", "coords.cache");
     
    if (!is_file(CACHE_FILE) || !@include(CACHE_FILE)) {
    	$query = "SELECT x,y,z FROM table WHERE blah";
    	if (!$results = $pdo->query($query))
    		throw new RuntimeException("Query execution fails");
    	$data = $results->fetchAll(PDO::FETCH_ASSOC);
    	// écriture du cache
    	if (!file_put_contents(CACHE_FILE, '<?php $data='.var_export($data,true).';')) {
    		throw new RuntimeException("Could not write cache file " . CACHE_FILE);
    	}
    }
     
    // sait on jamais
    !empty($data) or $data = array();
     
    shuffle($data);
    $firsts = array_slice($data, 0, 16);
     
    var_dump($firsts);
    A toi de jouer

Discussions similaires

  1. Réponses: 9
    Dernier message: 20/07/2012, 16h15
  2. Réponses: 6
    Dernier message: 01/05/2012, 17h56
  3. sélectionner des points GPS aléatoires
    Par fadex dans le forum APIs Google
    Réponses: 0
    Dernier message: 22/03/2012, 03h09
  4. générer des points aléatoires
    Par gueloude dans le forum MATLAB
    Réponses: 0
    Dernier message: 18/05/2011, 10h24
  5. Réponses: 11
    Dernier message: 29/08/2006, 15h10

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