Page 1 sur 1

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

Posté : ven. 27 janv. 2012 18:10
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)

 

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

Posté : ven. 27 janv. 2012 23:48
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.

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

Posté : lun. 13 févr. 2012 15:48
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:

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

Posté : lun. 13 févr. 2012 16:51
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. ;)

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

Posté : lun. 13 févr. 2012 17:45
par pierrotm777
Je confirme les dires de Mr Tlem puisque grace à ces fichiers j'ai commancé mon premier script autoit :D

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

Posté : lun. 03 sept. 2012 12:27
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.

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

Posté : lun. 03 sept. 2012 17:09
par sieurcoug
Bon, j'ai dû faire un code un peu plus propre, car ca marche, je peux interagir avec la fenêtre.

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

Posté : mar. 04 sept. 2012 11:40
par pierrotm777
Je serais intérréssé par votre code !