[..] Affecter des éléments d'un tableau à une variable
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
-
pierrotm777
- Membre émérite

- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
[..] Affecter des éléments d'un tableau à une variable
Bonjour,
J'essaie de comprendre l'utilisation des tableaux que j'ai franchement du mal à comprendre.
Pour cela je lis un fichier texte qui comporte des points gps, que je mais dans un tableau.
Pour tous les points gps de ce tableau, je voudrais tester la distance entre ces points GPS ($lat2,$lon2) et le point GPS où je me trouve ( $lat1,$lon1).
Le point GPS est lu toutes les 0.5s (timer) $lat1,$lon1 .
Mon script est pratiquement terminé mais actuellement, le programme ne vois que le dernier point.
Je voudrais que le programme teste en permanence si ma position se rapproche d'un des points listés dans le fichier zones.txt et si
c'est le cas visualiser la distance dans le input.
La distance d'alarme est définie par la variable $Distance2 = $Var[5] .
Je vous remercie de votre aide par avance.
J'essaie de comprendre l'utilisation des tableaux que j'ai franchement du mal à comprendre.
Pour cela je lis un fichier texte qui comporte des points gps, que je mais dans un tableau.
Pour tous les points gps de ce tableau, je voudrais tester la distance entre ces points GPS ($lat2,$lon2) et le point GPS où je me trouve ( $lat1,$lon1).
Le point GPS est lu toutes les 0.5s (timer) $lat1,$lon1 .
Mon script est pratiquement terminé mais actuellement, le programme ne vois que le dernier point.
Je voudrais que le programme teste en permanence si ma position se rapproche d'un des points listés dans le fichier zones.txt et si
c'est le cas visualiser la distance dans le input.
La distance d'alarme est définie par la variable $Distance2 = $Var[5] .
Je vous remercie de votre aide par avance.
- Fichiers joints
-
- CheckZones.zip
- (3.33 Kio) Téléchargé 77 fois
Modifié en dernier par pierrotm777 le ven. 01 oct. 2010 06:54, modifié 7 fois.
- moutelous
- Niveau 6

- Messages : 229
- Enregistré le : sam. 09 févr. 2008 19:51
- Localisation : Rennes
- Status : Hors ligne
Re: [..]Affectation des éléments d'un tableau à une variable
Bonsoir,
En fait l'algorithme doit être le suivant :
While 1
For
"chaque groupe de variables déterminant la position d'un radar"
"calculer la distance me séparant de ce radar"
Next
Wend
En espérant avoir été clair ....
Regardez votre boucle For .... Next, elle ne fait qu'affecter des valeurs du tableau à des variables et ce jusqu'à la fin du tableau sans aucune exploitation de ces variables sauf effectivement pour le dernier point.pierrotm777 a écrit :Mon script est pratiquement terminé mais actuellement, le programme ne vois que le dernier point
En fait l'algorithme doit être le suivant :
While 1
For
"chaque groupe de variables déterminant la position d'un radar"
"calculer la distance me séparant de ce radar"
Next
Wend
En espérant avoir été clair ....
A+
-
pierrotm777
- Membre émérite

- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Affecter des éléments d'un tableau à une variable
Oui, je pense, je vais essayer d'y réflaichir ,
Merci
Merci
-
pierrotm777
- Membre émérite

- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Affecter des éléments d'un tableau à une variable
J'ai travaillé un peu le sujet, mais cela ne fait pas ce que je veux.
Le post 1 est mis à jour.
Quell est mon erreur SVP.
Le post 1 est mis à jour.
Quell est mon erreur SVP.
- moutelous
- Niveau 6

- Messages : 229
- Enregistré le : sam. 09 févr. 2008 19:51
- Localisation : Rennes
- Status : Hors ligne
Re: [..] Affecter des éléments d'un tableau à une variable
Bonsoir,
C'est à dire ?pierrotm777 a écrit :mais cela ne fait pas ce que je veux
A+
-
pierrotm777
- Membre émérite

- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Affecter des éléments d'un tableau à une variable
Et bien le tableau est relu régulièrement, alors qu'il suffirait qu'il soit lu une seule fois.
Enfin, il faudrait que ma boucle ne teste que la distance qui change entre les différents points du tableau, et si la distance est inférieure à 500 alors l'alarme se déclanche et indique la distance restante avant la position qui déclanche cette alarme.
Enfin, il faudrait que ma boucle ne teste que la distance qui change entre les différents points du tableau, et si la distance est inférieure à 500 alors l'alarme se déclanche et indique la distance restante avant la position qui déclanche cette alarme.
-
pierrotm777
- Membre émérite

- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Affecter des éléments d'un tableau à une variable
Désolé mais je ne m'en sort pas.
Si vous pouviez me guider svp ?
Si vous pouviez me guider svp ?
- Tlem
- Site Admin

- Messages : 11823
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Affecter des éléments d'un tableau à une variable
Je ne peut pas tester votre code, car je n'ai pas l'objet SDK RideRunner, mais voici quelques conseils rapides en passant :
1 - L'utilisation du Timer et le type de codage dans la boucle While !!!
Au lieu de mettre le code dans la boucle, utilisez plutôt la fonction AdlibRegister.
Cela vous permettra d'activer/désactiver la comparaison de point plus facilement.
2 - Pour votre code de comparaison, vous pourriez (pour plus de facilité pour vous), utiliser la fonction _ArrayFileToArray qui vous permettra de convertir votre fichier zones.txt directement en tableau 2D (ce qui devrait simplifier légèrement le code de votre boucle ainsi que la lecture de vos valeurs).
1 - L'utilisation du Timer et le type de codage dans la boucle While !!!
Au lieu de mettre le code dans la boucle, utilisez plutôt la fonction AdlibRegister.
Cela vous permettra d'activer/désactiver la comparaison de point plus facilement.
2 - Pour votre code de comparaison, vous pourriez (pour plus de facilité pour vous), utiliser la fonction _ArrayFileToArray qui vous permettra de convertir votre fichier zones.txt directement en tableau 2D (ce qui devrait simplifier légèrement le code de votre boucle ainsi que la lecture de vos valeurs).
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
-
pierrotm777
- Membre émérite

- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Affecter des éléments d'un tableau à une variable
Merci Tlem de votre intérêt pour mon problème.
Je vous propose mon script modifié de tel sorte qu'il n'a plus besoin de l'objet $RR .
Le point GPS du véhicule est simulé ici par le combo '$SelectPoi' qui donne 4 positions possibles.
Le post #1 est modifié, merci encore
Je vous propose mon script modifié de tel sorte qu'il n'a plus besoin de l'objet $RR .
Le point GPS du véhicule est simulé ici par le combo '$SelectPoi' qui donne 4 positions possibles.
Le post #1 est modifié, merci encore
- Tlem
- Site Admin

- Messages : 11823
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Affecter des éléments d'un tableau à une variable
Merci de ré-éditer votre premier message afin de ne laisser que le fichier joint.
Il est inutile d'avoir le code deux fois.
En ce qui concerne votre problème, je vais vous laisser travailler quand même un peut.
Je vous joint un code qui teste en boucle les coordonnées d'un point X (lat/lon) par rapport aux points de votre fichier zones.txt et qui affiche (dans la console de Scite) le texte lié au POI.
Amusez vous bien.
Il est inutile d'avoir le code deux fois.
En ce qui concerne votre problème, je vais vous laisser travailler quand même un peut.
Je vous joint un code qui teste en boucle les coordonnées d'un point X (lat/lon) par rapport aux points de votre fichier zones.txt et qui affiche (dans la console de Scite) le texte lié au POI.
Amusez vous bien.
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
-
pierrotm777
- Membre émérite

- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Affecter des éléments d'un tableau à une variable
Je ne vois pas de fichier attaché à votre réponse !
- Tlem
- Site Admin

- Messages : 11823
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Affecter des éléments d'un tableau à une variable
Oups !!!
Voici le code :
Voici le code :
► Afficher le texte
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
-
pierrotm777
- Membre émérite

- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Affecter des éléments d'un tableau à une variable
Merci Tlem,
C'est bien ce qu'il me fallait.
Je vais tester avec un plus gros fichier pour voir
C'est bien ce qu'il me fallait.
Je vais tester avec un plus gros fichier pour voir
-
pierrotm777
- Membre émérite

- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Affecter des éléments d'un tableau à une variable
Tlem,
Je vous joinds un fichier zones.txt complet (radars france 2009)
J'ai modifié mon script à partir de votre exemple.
Pourriez me dire si votre script fonctionne comme vous l'entendez.
Pour ma part, il semble trés lent .
Est possible d'utiliser plusieurs AdlibRegister , cela semble possible, mais la boucle principale prenant beaucoup de temp cpu, la mise à jour _LatLonUpdate ne se fait pas !
Par exemple:
AdlibRegister("_IsNear", 2000)
AdlibRegister("_LatLonUpdate", 500)
Je vous joinds un fichier zones.txt complet (radars france 2009)
J'ai modifié mon script à partir de votre exemple.
Pourriez me dire si votre script fonctionne comme vous l'entendez.
Pour ma part, il semble trés lent .
Est possible d'utiliser plusieurs AdlibRegister , cela semble possible, mais la boucle principale prenant beaucoup de temp cpu, la mise à jour _LatLonUpdate ne se fait pas !
Par exemple:
AdlibRegister("_IsNear", 2000)
AdlibRegister("_LatLonUpdate", 500)
- Fichiers joints
-
- checkzones.zip
- (320.82 Kio) Téléchargé 57 fois
- Tlem
- Site Admin

- Messages : 11823
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Affecter des éléments d'un tableau à une variable
Ben ... c'est ptet un chti peut normal non ?
36000 POI.
Vous imaginez un peut, que le script doit :
1 - Mettre en tableau spécial chaque élément de votre fichier, soit : 36000 X 7 = 252000
2 - Lire ce tableau ligne par ligne (36000) et prendre à chaque fois la longitude + la latitude pour calculer une valeur moyenne par rapport à la longitude + la latitude actuelle (et tout ca dans un délais de deux secondes sur mon script original) .
Vous ne trouvez pas que ca fait beaucoup ?
Dans votre cas précis, si vous devez lire chaque ligne du tableau, vous n'arriverez à rien de potable.
Pour cela, il vous faudra user d'un peut d'astuce et de bon sens.
Je vais vous mettre sur la voie :
Avez vous vraiment besoin de lire la totalité des lignes du tableau et d'y pratiquer chaque fois le calcul de proximité ?
Juste pour information, sur mon PC, la lecture du tableau de 36000 POI $aZones sans aucune instruction dans la boucle, prend 4.7ms.
Si je rajoute la simple condition If Int($aZones[$i][0]) > 1 Then ContinueLoop, hé bien nous passons de 5ms à 250ms et si je remplace par la fonction de test distHaversine(), je passe à 5250ms.

36000 POI.
Vous imaginez un peut, que le script doit :
1 - Mettre en tableau spécial chaque élément de votre fichier, soit : 36000 X 7 = 252000
2 - Lire ce tableau ligne par ligne (36000) et prendre à chaque fois la longitude + la latitude pour calculer une valeur moyenne par rapport à la longitude + la latitude actuelle (et tout ca dans un délais de deux secondes sur mon script original) .
Vous ne trouvez pas que ca fait beaucoup ?
Dans votre cas précis, si vous devez lire chaque ligne du tableau, vous n'arriverez à rien de potable.
Pour cela, il vous faudra user d'un peut d'astuce et de bon sens.
Je vais vous mettre sur la voie :
Avez vous vraiment besoin de lire la totalité des lignes du tableau et d'y pratiquer chaque fois le calcul de proximité ?
Juste pour information, sur mon PC, la lecture du tableau de 36000 POI $aZones sans aucune instruction dans la boucle, prend 4.7ms.
Si je rajoute la simple condition If Int($aZones[$i][0]) > 1 Then ContinueLoop, hé bien nous passons de 5ms à 250ms et si je remplace par la fonction de test distHaversine(), je passe à 5250ms.
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
-
pierrotm777
- Membre émérite

- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Affecter des éléments d'un tableau à une variable
Oui, je m'en doutais un peu !
Mon idée serait peut être de découper une fois pour toute les fichier en zones de 100km par exemple et de ne tester en suite
que dans la zone où l'on se trouve.
Qu'en pensez vous ?
Mon idée serait peut être de découper une fois pour toute les fichier en zones de 100km par exemple et de ne tester en suite
que dans la zone où l'on se trouve.
Qu'en pensez vous ?
- Tlem
- Site Admin

- Messages : 11823
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Affecter des éléments d'un tableau à une variable
Ce sera moins simple au début, mais votre script n'en sera que plus rapide au final. 
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
-
pierrotm777
- Membre émérite

- Messages : 770
- Enregistré le : sam. 11 oct. 2008 14:44
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Affecter des éléments d'un tableau à une variable
On pourrait par exemple découper le fichier en plusieurs, en prenant comme principe que chaque nom de fichier est du type:
partie entière latitude partie entière longitude . txt
soit pour un fichier comme suivant:
5003.txt
Le problème est que chaque partie entière peut être soit positive soit négative en fonction de sa position Gps sur le globe !
De plus avant la création des zones, je ferais bien un tri du fichier par rapport à la première colonne .
partie entière latitude partie entière longitude . txt
soit pour un fichier comme suivant:
Code : Tout sélectionner
[color=#FF0000]50[/color].17353,[color=#FF0000]3[/color].24325,300,60,500,M,"ZONE_DANGEREUSE_0"
[color=#FF0000]50[/color].18552,[color=#FF0000]3[/color].34339,300,60,500,M,"ZONE_DANGEREUSE_0"
[color=#FF0000]50[/color].21,[color=#FF0000]3[/color].3865,300,60,500,M,"ZONE_DANGEREUSE_0"
[color=#FF0000]50[/color].24937,[color=#FF0000]3[/color].03142,300,60,500,M,"ZONE_DANGEREUSE_0"
[color=#FF0000]50[/color].2842,[color=#FF0000]3[/color].97474,300,60,500,M,"ZONE_DANGEREUSE_0"
[color=#FF0000]50[/color].34262,[color=#FF0000]3[/color].97068,300,60,500,M,"ZONE_DANGEREUSE_0"Le problème est que chaque partie entière peut être soit positive soit négative en fonction de sa position Gps sur le globe !
De plus avant la création des zones, je ferais bien un tri du fichier par rapport à la première colonne .
- Tlem
- Site Admin

- Messages : 11823
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Affecter des éléments d'un tableau à une variable
La fragmentation des POI en plusieurs fichiers n'est pas mal, mais je pense qu'elle ne doit pas être en relation avec les coordonnées.
Vous pouvez, par exemple séparer les radars en fonction de leur vitesse, mais dans ce cas cela va compliquer leur gestion.
J'avais plutôt à l'idée de ce concentrer sur une partie significative des coordonnées.
Lorsque l'on prend pour exemple une longitude de 50.17353°, le fait de ce déplacer va modifier ce nombre et plus particulièrement la dernière partie de celui-ci.
En règle générale, il est très rare de prévenir de la présence d'un POI qui ce trouve en dehors d'un périmètre de quelques kilomètres (1 à 5 max).
Donc l'idée serait de voir ce que représente un déplacement de 5 Km Ouest sur la valeur de la longitude cité précédemment.
Je n'ai pas l'information exacte, mais d'après mes petits tests, je dirait que pour 5 Km, le chiffre significatif à prendre en considération, est le deuxième après la virgule.
En ce basant sur la longitude de 50.17353°, si j'augmente ce nombre de 0,05 soit 50.22353°, j'obtiens un déplacement approximatif sur Google Map de 5 Km et des brouettes.
Donc dans ce cas, il suffit de comparer brièvement la partie significative des coordonnées à comparer et de prendre la décision de faire le test de la distance entre les points ou non.
En reprenant une partie de votre tableau, voici ce que je prendrais en considération :
De plus, si le tableau est trié par ordre croissant, je peut rajouter un test afin d'éviter de lire la suite du tableau si je rencontre une valeur supérieur de 5 Km à mes coordonnées actuelles.
Vous pouvez, par exemple séparer les radars en fonction de leur vitesse, mais dans ce cas cela va compliquer leur gestion.
J'avais plutôt à l'idée de ce concentrer sur une partie significative des coordonnées.
Lorsque l'on prend pour exemple une longitude de 50.17353°, le fait de ce déplacer va modifier ce nombre et plus particulièrement la dernière partie de celui-ci.
En règle générale, il est très rare de prévenir de la présence d'un POI qui ce trouve en dehors d'un périmètre de quelques kilomètres (1 à 5 max).
Donc l'idée serait de voir ce que représente un déplacement de 5 Km Ouest sur la valeur de la longitude cité précédemment.
Je n'ai pas l'information exacte, mais d'après mes petits tests, je dirait que pour 5 Km, le chiffre significatif à prendre en considération, est le deuxième après la virgule.
En ce basant sur la longitude de 50.17353°, si j'augmente ce nombre de 0,05 soit 50.22353°, j'obtiens un déplacement approximatif sur Google Map de 5 Km et des brouettes.
Donc dans ce cas, il suffit de comparer brièvement la partie significative des coordonnées à comparer et de prendre la décision de faire le test de la distance entre les points ou non.
En reprenant une partie de votre tableau, voici ce que je prendrais en considération :
Code : Tout sélectionner
[color=#FF0000]50.17[/color]353,[color=#FF0000]3.24[/color]325,300,60,500,M,"ZONE_DANGEREUSE_0"
[color=#FF0000]50.18[/color]552,[color=#FF0000]3.34[/color]339,300,60,500,M,"ZONE_DANGEREUSE_0"
[color=#FF0000]50.24[/color]937,[color=#FF0000]3.03[/color]142,300,60,500,M,"ZONE_DANGEREUSE_0"Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
-
GaRydelaMer
- Niveau 7

- Messages : 450
- Enregistré le : mer. 18 mars 2009 22:12
- Localisation : Montpellier
- Status : Hors ligne
Re: [..] Affecter des éléments d'un tableau à une variable
Bonsoir
vous allez dire que je reviens encore avec ca, mais bon je me lance !!
Pourquoi pas utiliser ADO ?.
J'ai fais un test avec ton fichier les 38000 POI:
Le truc ici est de filtrer rapidement les données, la je filtre uniquement sur le 1er champ mais on peut multiplier les conditions du filtre.
Par exemple:
Un dernier point, attention si le filtre renvoie aucune valeur la fonction GetRows() renvoie une erreur.
Facile à gérer:
Un autre dernier point c'est plus long à ouvrir:
Pour trier un tableau Type de radar décroissant puis par latitude, longitude croissant:
le résultat sur ma machine:
Name=F1
Name=F2
Name=F3
Name=F4
Name=F5
Name=F6
Name=F7
Time Difference 834.542378989508
Time Difference 29.2523211748979
Time Difference 4029.22913387037
On voit que même en ouvrant la connexion on est plus rapide que le parcours du tableau. dans mon test je filtre 2 fois le tableau, le 1er je compte l'ouverture de la connexion ensuite en 29 ms je le filtre sur les autres valeurs.
26 valeurs entre 44.87 et 44.88
32 valeurs entre 45.87 et 45.88
Avec le tri:
Name=F1
Name=F2
Name=F3
Name=F4
Name=F5
Name=F6
Name=F7
Time Difference 32249.4923237451
Time Difference 53.4419877386651
F1 >= 44.86 AND F1 <= 44.88 AND F2 >= -0.58 AND F2 <= -0.56
6 enregstrements
Time Difference 288.390842970266
Time Difference 4707.70279462893
vous allez dire que je reviens encore avec ca, mais bon je me lance !!
Pourquoi pas utiliser ADO ?.
J'ai fais un test avec ton fichier les 38000 POI:
► Afficher le texte
Par exemple:
Un dernier point, attention si le filtre renvoie aucune valeur la fonction GetRows() renvoie une erreur.
Facile à gérer:
► Afficher le texte
Pour trier un tableau Type de radar décroissant puis par latitude, longitude croissant:
Code : Tout sélectionner
$oRs.Sort = "F7 desc, F1, F2"le résultat sur ma machine:
Name=F1
Name=F2
Name=F3
Name=F4
Name=F5
Name=F6
Name=F7
Time Difference 834.542378989508
Time Difference 29.2523211748979
Time Difference 4029.22913387037
On voit que même en ouvrant la connexion on est plus rapide que le parcours du tableau. dans mon test je filtre 2 fois le tableau, le 1er je compte l'ouverture de la connexion ensuite en 29 ms je le filtre sur les autres valeurs.
26 valeurs entre 44.87 et 44.88
32 valeurs entre 45.87 et 45.88
Avec le tri:
Name=F1
Name=F2
Name=F3
Name=F4
Name=F5
Name=F6
Name=F7
Time Difference 32249.4923237451
Time Difference 53.4419877386651
F1 >= 44.86 AND F1 <= 44.88 AND F2 >= -0.58 AND F2 <= -0.56
6 enregstrements
Time Difference 288.390842970266
Time Difference 4707.70279462893
