| Versions |
 |
|
|
Note: You must be registered in order to post a reply. To register, click here. Registration is FREE!
|
| T O P I C R E V I E W |
| FlorentBL |
Posted - 20 août 2006 : 19:13:47 Voici un petit programme en C (testé sous linux avec mon fichier de sauvegardes PPOIS.PPI) permettant d'extraire les coordonnées GPS des POIs enregistrés sur un x950t.
C'est du hack, c'est embryonnaire, les alphas testeurs sont les bienvenus 
À n'utiliser que sur votre PPOIS.PPI bien entendu 
Edit: Bon, alors puisque le code source rebute voici une archive avec exécutable et dll.
http://miatartense.free.fr/.data/x930/extract_poi.zip |
| 15 L A T E S T R E P L I E S (Newest First) |
| malbec |
Posted - 13 janv. 2013 : 15:24:05 quote: Originally posted by lucato
moi j'ai testé POI.exe et il plante avec mon Addresses.ppi... j'ai fini par examiner le code de FlorentBL et j'ai réécrit un programme en C qui marche super avec mon fichier Addresses.ppi mais je ne sais pas trouver l'ordre des blocs (FlorentBl non plus c'est pour cela que son programme ne marche pas chez moi...)
Si ça amuse quelqu'un voici mes avancées... je pars du fait que je connais le contenu des blocs du fichier...
Bonjour, Je n'ai pas vu dans ce forum de suite à tes expérimentations. As-tu réussi à résoudre le problème ? Je suis très intéressé, car j'ai un ViaMichelin X970T et je voudrais bien récupérer toutes les adresses que j'y ai entrées pour pouvoir les exporter vers un autre GPS. Mais je n'arrive pas à lire ces damnés .PPI !  Si tu peux me passer ton programme, même incomplet, j'essaierai volontiers de voir ce que je peux en faire. Merci d'avance de ton aide. |
| olman |
Posted - 08 avr. 2008 : 01:19:39 Même s'il n'est pas adapté à la structure des fichiers de la version 6, le logiciel extract_poi de FlorentBL peut être utilisé pour obtenir des infos sur certaines de vos listes de POIs personnels. Il suffit de renommer vos listes (Adresses, Hotels, ...) en PPOIS.ppi et de les passer dans la moulinette d'extract_poi. Plutôt qu'utiliser POIEdit, vous exploiterez le fichier asc résultant avec un simple éditeur de texte.
Selon le type de POI, vous pourrez constater qu'à un couple de coordonnées peut correspondre plusieurs zones, la première étant le libellé, les suivantes la rue puis la ville ...
Ce n'est rien d'autre qu'un artifice pour un dépannage dans l'urgence et ne suis pas certain que cela fonctionne sur des listes importantes (pas testé).
|
| morapat |
Posted - 29 mars 2008 : 13:07:39 Désolé (doublement), je n'avais pas compris. |
| lucato |
Posted - 28 mars 2008 : 21:27:04 justement morapat, si tu lis bien mon post tu verras que mon programme ne marche QUE avec mon fichier addresses.ppi et que je cherche de l'aide pour gérer les autres... désolé!
|
| morapat |
Posted - 28 mars 2008 : 09:11:13 Bonjour, pourrais-tu nous faire un petit executable? Est-ce que ça pourrait fonctionner pour le fichier .poi des radars viamichelin, car je cherche toujours à dresser la liste de ceux qui sont pris en compte par leur mise à jour. |
| lucato |
Posted - 27 mars 2008 : 22:14:03 Je persiste à dire qu'il n'y a aucun programme qui me récupère mon Addresses.ppi à part le mien...
|
| olman |
Posted - 27 mars 2008 : 14:58:49 @huis9 et lucato
Le petit programme Poi.exe avait été développé pour des fichiers de pois antérieurs destinés à des versions précédentes de ViaMichelin (version 4). La politique de VM n'étant pas à l'ouverture, mais plutôt à l'hyper protection de ses fichiers surtout s'il s'agit de ses Guides Rouge et Vert, ça explique qu'il ne fonctionne pas pour les fichiers actuels. Juste une remarque concernant les fichiers de nos amis russes : ils datent de 2005 (pas trop génant me direz-vous. les vieilles pierres n'étant généralement pas sujettes à déménagement).
Pour mémoire, j'avais fait en 2006 un petit résumé sur les POIs mais qui n'était vérifié que pour la version 5 : " http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=77072 "
|
| lucato |
Posted - 26 mars 2008 : 21:37:28 moi j'ai testé POI.exe et il plante avec mon Addresses.ppi... j'ai fini par examiner le code de FlorentBL et j'ai réécrit un programme en C qui marche super avec mon fichier Addresses.ppi mais je ne sais pas trouver l'ordre des blocs (FlorentBl non plus c'est pour cela que son programme ne marche pas chez moi...)
Si ça amuse quelqu'un voici mes avancées... je pars du fait que je connais le contenu des blocs du fichier... Voilà:
long bloc_gps[2] = { 0x3090, 0x3710 }; char table_gps[2*128]; long bloc_noms[3] = { 0x3110, 0x3510, 0x3890 }; char table_noms[3*128]; long bloc_rues[3] = { 0x3210, 0x3490, 0x3690 }; char table_rues[3*128]; long bloc_villes[3]= { 0x3290, 0x3590, 0x3910 }; char table_villes[3*128];
Puis j'ai programmé autour de ça une procédure de lecture:
void LoadPPI(HANDLE hFile, long *nb, char *ptr, int max) { int i; for (i=0; i < max; i++) { SetFilePointer (hFile, *nb, NULL, FILE_BEGIN); nb++; DWORD dwRead; ReadFile(hFile, ptr, 128, &dwRead, NULL); ptr+=128; } }
J'ai réutilisé des bouts de code de Florent BL Puis j'ai une procédure générale :
void extractDlg::WxButton2Click(wxCommandEvent& event) { // insert your code here wxString sPPIFile = WxEdit1->GetValue(); HANDLE hFile; hFile = CreateFile(sPPIFile.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); if(hFile != INVALID_HANDLE_VALUE) { LoadPPI( hFile, (long *)&bloc_gps, (char *)&table_gps, 2 ); LoadPPI( hFile, (long *)&bloc_noms, (char *)&table_noms, 3 ); LoadPPI( hFile, (long *)&bloc_rues, (char *)&table_rues, 3 ); LoadPPI( hFile, (long *)&bloc_villes, (char *)&table_villes, 3 ); CloseHandle(hFile); }
char *pg = (char *)&table_gps; char *pn = (char *)&table_noms; char *pr = (char *)&table_rues; char *pv = (char *)&table_villes; char nom[128]; char rue[128]; char ville[128]; double longitude, latitude; int next = GetNom( pn, (char *)&nom ); while (next) { wxString sText; sText.Printf("%s\n",nom); WxMemo1->AppendText(sText); pr += 4+GetNom( pr, (char *)&rue ); sText.Printf("\t%s\n",rue); WxMemo1->AppendText(sText);
pv += 4+GetNom( pv, (char *)&ville ); sText.Printf("\t%s\n",ville); WxMemo1->AppendText(sText);
pg += GetLong( pg, &longitude, &latitude ); sText.Printf("\tL = %.5f° l = %.5f°\n",longitude,latitude); WxMemo1->AppendText(sText); PrintConversion(latitude, longitude); pn += 4+next; next = GetNom( pn, (char *)&nom ); }
}
C'est assez propre/simple ....
Quelqu'un pour m'aider à trouver la FAT de ce fichier et à automatiser complètement?
voilà mon programme :
 |
| lucato |
Posted - 06 mars 2008 : 23:17:25 salut huis9 poi.exe ne reconnait pas Addresses.ppi (ni .poi) j'ai essayé de comprendre le codage binaire mais cocasse (des blocs de 128 octets avec une fat surement quelque part)
|
| huis9 |
Posted - 05 mars 2008 : 20:32:46 sinon j'ai trouvé sur ce forum la http://www.pocketgpsworld.com/modules.php?name=Forums&file=viewtopic&t=17620 cet executable qui permetrait (je n'ai pas fait le test) d'extraire les pois viamichelin http://www.ludik.cz/igorp/files/POI.exe
et autre truc trouvé aussi, le guide vert dans un format poi que poi edit ne lit pas mais beaucoup moins crypter que ceux actuel sur un site russe http://slawa.homeip.net/mapsonic/download.htm et par contre la j'ai testé et le poi.exe reussi a les lires
|
| lucato |
Posted - 04 mars 2008 : 23:11:51 bonjour florent BL j'ai un x950T europe et je voudrais récupérer les coordonnées de mes sauvegardes. j'ai réussi à utiliser ton programme mais il ne se finit pas bien... il se mélange un peu ! je peux fournir le fichier original Addresses.ppi et le fichier converti PPOIS.asc si tu veux... gilles |
| miscanthus |
Posted - 29 févr. 2008 : 18:31:51 Problème resolu autant pour moi le programme est telment rapide que je ne le vois pas demarrer et se fermer... merci en tout cas pour cette astuce |
| miscanthus |
Posted - 29 févr. 2008 : 15:14:34 Salut FlorentBtl, j'ai essayé de faire marcher ton programme qui me dépannerait beaucoup s'il fonctionnait sur mon fichier. C'est un fichier ppi (adresse.ppi) que j'ai acquis sur mon X-960 nouvelle édition V7 que je récupère dans "MyViamichelin"sur la storage card.
je n'ai pas le fichier PPOIS.PPI sur ce gps (sans doute du fait qu'il s'agisse d'une version différente).
Aurais tu une solution à ce problème? Merci d'avance |
| FlorentBL |
Posted - 06 août 2007 : 19:52:13 Bonjour,
Désolé pour cette longue absence. J'ai fini par trouver le temps de me replonger dans ce code. Voici donc une nouvelle version qui, j'espère, corrigera quelques uns des problèmes ci-dessus.
Bonne chance.
CHANGELOG: =========
v 0.3 : ------ - Correction de bug dans la diffrenciation des fichiers V4 et V5. - Reconnaissance des fichiers V4 gnrs partir d'un fichier asc. - Ajout de l'indication de l'offset dans les commentaires. - Hack pour grer les concidences lorsqu'une chane de caractres donne une coordonne GPS valide en V4. - Hack pour rabouter les structures dissocies du fichier.
|
| f064564 |
Posted - 13 juil. 2007 : 10:55:14 Salut, je ne peux récupérer que quelques lignes de sauvegardes de mon fichier PPOIS.PPI (adresses bureau seulement).
J'ai un X950T. |
|
|
| This page was generated in 0,45 seconds. |
 |
|