[Ex] Convertir les fichier POI de GPSPASSION pour Sygic Aura

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Répondre
sieurcoug
Niveau 1
Niveau 1
Messages : 9
Enregistré le : jeu. 06 mars 2008 16:44
Localisation : Normandie
Status : Hors ligne

[Ex] Convertir les fichier POI de GPSPASSION pour Sygic Aura

#1

Message par sieurcoug »

Bonjour,

Pour les utilisateurs du logiciel de guidage GPS Sygic Aura, je vous propose un petit script qui retravaille les fichiers plats ASC de POI fournis par GPSPASSION.com (http://www.gpspassion.com/forumsen/topi ... C_ID=98498) en fichiers exploitables par l'utilitaire de conversion de l'éditeur Sygic :
http://support.sygic.com/sygic/topics/a ... ion-11ybt7

Ce script sera utile à la communauté Sygic utilisant les POI de GPSPASSION.

J'en décris l'utilisation complète ici :
http://www.gpspassion.com/forumsen/post ... RUM_ID=181

Voici le code :

Code : Tout sélectionner

#cs ----------------------------------------------------------------------------
 AutoIt Version : 3.3.6.1
 Auteur:         Sieurcoug
 Fonction du Script :
    Convertir les fichier ASC de GPSPASSION en TXT afin de les transférer
    sur Sygic Aura

#ce ----------------------------------------------------------------------------
#include <GUIConstants.au3>
#Include <GuiButton.au3>
#include <GuiTreeView.au3>
#include <GuiEdit.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <WindowsConstants.au3>
#include <String.au3>
#include <array.au3>
#Include <File.au3>
Opt("TrayIconHide", 0)          ;0=show (default), 1=hide tray icon
Opt("WinTitleMatchMode", 1)     ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase
Opt("GUIOnEventMode", 1)  ; Change to OnEvent mode
Opt("SendCapslockMode", 1)      ;1=store and restore, 0=don't
Opt("SendKeyDelay", 0)          ;5 milliseconds

Global   $szDrive,  $szDir,  $szFName,  $szExt

Dim $NbEnregistrements
$NbEnregistrements = 0

$sFichierASC = FileOpenDialog("Sélectionnez le fichier ASC à traiter", @ScriptDir & "\", "Fichiers asc (*.asc)", 1)
If @error=1 Then Exit


$fichierASC = FileOpen($sFichierASC, 0)
If $fichierASC = -1 Then
    MsgBox(16, "Erreur", "Impossible d'ouvrir le fichier ASC (" & $sFichierASC & ") en lecture" & @CRLF & @CRLF & "Ce programme va se fermer.")
    Exit
EndIf


$szPath = $sFichierASC
_PathSplit($szPath,  $szDrive,  $szDir,  $szFName,  $szExt)
$sFichierTXT = $szFName & ".txt"

If FileExists($szDir & "\" & $szFName & ".txt") Then
    $res = MsgBox(48 + 3, @ScriptName, "Attention ! " & @CRLF & "Un fichier " & $szFName & ".txt" & " existe déjà dans le répertoire " & @CRLF & $szDrive & $szDir & @CRLF & @CRLF & "Continuer la procédure va effacer le fichier actuel. Voulez-vous continuer ?")
    If $res <> 6 Then Exit
EndIf


$fichierTXT = FileOpen($sFichierTXT, 2)
If $fichierTXT = -1 Then
    MsgBox(16, "Erreur", "Impossible d'ouvrir le fichier TXT (" & $sFichierTXT & ") en écriture. Vérifiez qu'il n'est pas déjà ouvert par une autre application." & @CRLF & @CRLF & "Ce programme va se fermer.")
    Exit
EndIf

FileWriteLine($fichierTXT, "delimiter=|")

While 1
    $ligne = FileReadLine($fichierASC)
    If @error = -1 Then ExitLoop
    $NbEnregistrements += 1
    $ligne = StringReplace($ligne, ", ", "|", 1)    ; remplace la 1ere ","
    $ligne = StringReplace($ligne, ", ", "|", 1)    ; remplace la 2e ","
    $ligne = StringReplace($ligne, '"', "")     ; supprime tous les guillements
    FileWriteLine($fichierTXT, $ligne)
Wend

FileClose($sFichierASC)
FileClose($fichierTXT)

MsgBox(64, @ScriptName, "Le conversion est terminée." & @CRLF & @CRLF & $NbEnregistrements & " enregistrements du fichier " & $sFichierASC & @CRLF & " ont été converties dans le fichier de de sortie " & $sFichierTXT)

 
sieurcoug
Niveau 1
Niveau 1
Messages : 9
Enregistré le : jeu. 06 mars 2008 16:44
Localisation : Normandie
Status : Hors ligne

Re: [Ex] Convertir les fichier POI de GPSPASSION pour Sygic

#2

Message par sieurcoug »

Avec le Fichier exécutable compilé...


Edit par Tlem : Fichier supprimé. Pour des raisons évidentes de sécurité, pas de script compilé sur le forum.
Merci.
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [Ex] Convertir les fichier POI de GPSPASSION pour Sygic

#3

Message par pierrotm777 »

Bonjour,
J'utilise Sygic FLEET 10 Truck sur Pc depuis le début de ce mois et connais bien sygic .
Je me suis donc tout naturellement intéressé à votre script !
Je l'ai testé tel quel sur un fichier radarsF.asc datant du 04/05/2010 puis ai utitilisé PoiConvertor pour obtenir le fichier .upi de sygic .
J'ai obtenu un fichier upi vraiment trés petit qui m'a semblé bizard en terme de taille.
J'ai donc modifié le fichier résultant de votre script , en effaçant la première ligne et remplacé les | par plusieurs espaces.
En relançant PoiConvertor , j'obtient alors un fichier bien plus conséquent ! :roll:
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Ex] Convertir les fichier POI de GPSPASSION pour Sygic

#4

Message par Tlem »

Je tiens à rappeler que j'ai réalisé quelques fonctions de traitement de fichier OV2 et ASC (section UDFs et fonctions).
Si vous connaissez la structure du type de fichier UPI alors il vous sera simple de modifier les fonctions pour vos besoins. ;)
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é".
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [Ex] Convertir les fichier POI de GPSPASSION pour Sygic

#5

Message par pierrotm777 »

Je confirme les dires de Mr Tlem puisque grace à ces fichiers j'ai commancé mon premier script autoit :D
sieurcoug
Niveau 1
Niveau 1
Messages : 9
Enregistré le : jeu. 06 mars 2008 16:44
Localisation : Normandie
Status : Hors ligne

Re: [Ex] Convertir les fichier POI de GPSPASSION pour Sygic

#6

Message par sieurcoug »

Bonjour,

Je fais du déterrage de topic, car je suis en train de faire évoluer mon script de conversion des Points d'intérêts pour GPS du format OV2 vers Sygic.
Merci Tlem pour tes UDF de traitement des fichiers OV2 ! Je l'ai pris en compte, c'est impec.

Malheureusement l'éditeur Sygic n'est pas très ouvert pour documenter son format de données :
https://support.sygic.com/sygic/topics/ ... upi_format

J'essaye d'automatiser le traitement avec l'utilitaire fourni par Sygic : http://cdn.sygic.com/static/downloads/s ... vertor.zip
(La procédure est documentée ici : http://www.sygic.com/en/poi )

Mais je n'arrive pas lancer le clic sur le bouton.
La Window Info donne ces infos :
► Afficher le texte>>>> Window Info <<<<

J'essaye ce code ainsi que "[CLASS:Button; INSTANCE:3]", mais aucune action ne se produit sur le bouton :

Code : Tout sélectionner

    Run($sSygicRupiConvertor)
    Sleep(1000)
    ControlClick("Sygic Rupi Convertor", "", "Button3")
Avez-vous une idée ?
Merci pour votre aide.
sieurcoug
Niveau 1
Niveau 1
Messages : 9
Enregistré le : jeu. 06 mars 2008 16:44
Localisation : Normandie
Status : Hors ligne

Re: [Ex] Convertir les fichier POI de GPSPASSION pour Sygic

#7

Message par sieurcoug »

Bon, j'ai dû faire un code un peu plus propre, car ca marche, je peux interagir avec la fenêtre.
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [Ex] Convertir les fichier POI de GPSPASSION pour Sygic

#8

Message par pierrotm777 »

Je serais intérréssé par votre code !
Répondre