Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2835 connectés 

  FORUM HardWare.fr
  Windows & Software
  Logiciels

  traitement d'un fichier de points : comment faire?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

traitement d'un fichier de points : comment faire?

n°1548609
itoine
To Infinity And Beyond
Posté le 30-04-2004 à 11:47:02  profilanswer
 

Je ne sais pas du tout où poster ca, mais bon, je vais tenter ca ici.
Si vous pensez qu'il faut mettre ca ailleurs, dites le ;) .
 
Alors voila mon probleme :
 
je dispose d'un fichier de points x,y,z representant un objet 3D par sections.
il y a donc plusieurs fois le meme z pour differents couples x,y
 
ce que je voudrais faire
-> homogeneiser les z : il y a plusieurs fois le meme z mais avec des petites incertitudes -> ca exel peut le faire.
 
-> ensuite, je voudrais sauvegarder autant de fichiers de points qu'il y a de paquets de z. Ces fichiers seraient en 2 colonnes representant les couples x,y.
 
Je pense pas avoir ete bien clair, aussi n'hesitez pas a le dire.
 
Donc comment faire? exel sait le faire? il faut faire un programme dedie?

mood
Publicité
Posté le 30-04-2004 à 11:47:02  profilanswer
 

n°1548621
itoine
To Infinity And Beyond
Posté le 30-04-2004 à 11:50:43  profilanswer
 

un petit exemple pour etre plus clair
 
je dispose de

Citation :

125.472702 152.692596 918.097595
128.390594 132.266800 918.098083
131.308594 132.266800 918.099670
125.472702 155.610596 918.099915
124.819298 152.692596 918.099976
125.444702 155.610596 918.099976
125.472702 151.959305 918.099976
125.472702 155.621704 918.099976
125.488800 155.610596 918.099976
126.299004 152.692596 918.099976
127.869202 132.266800 918.099976
128.390594 131.606903 918.099976
128.390594 132.926804 918.099976
131.308594 132.177307 918.099976
131.308594 132.341293 918.099976
131.360306 132.266800 918.099976
128.390594 129.348907 918.765930
131.308594 129.348907 918.799805
125.472702 132.266800 919.136719
122.554703 152.692596 919.282471
122.530899 152.692596 919.299988
122.554703 152.572800 919.299988
122.554703 153.147797 919.299988
122.864098 155.610596 919.299988
125.268501 132.266800 919.299988
125.472702 131.798401 919.299988
125.472702 132.938599 919.299988
125.472702 151.320694 919.299988
125.472702 156.678696 919.299988
126.666000 155.610596 919.299988
126.729698 152.692596 919.299988
127.164001 129.348907 919.299988
128.390594 128.526794 919.299988
128.390594 134.920807 919.299988
131.308594 128.311295 919.299988
131.308594 134.836304 919.299988
132.701004 129.348907 919.299988
133.368698 132.266800 919.299988
122.554703 155.610596 919.399292
128.390594 135.184799 919.673523
125.472702 132.266800 919.718994
122.554703 149.774704 919.979004
134.226593 132.266800 920.072571
119.636703 152.692596 920.119080
119.636703 155.610596 920.134583
116.718803 155.610596 920.286072
116.718803 152.692596 920.304016
134.226593 129.348907 920.400513
113.800797 158.528595 920.471619


on remarque donc 3 groupes suivant z: 918, 919, 920
et ce que je voudrais, c'est sortir trois fichiers de section, a savoir

Citation :

125,472702 152,692596
128,390594 132,2668
131,308594 132,2668
125,472702 155,610596
124,819298 152,692596
125,444702 155,610596
125,472702 151,959305
125,472702 155,621704
125,4888 155,610596
126,299004 152,692596
127,869202 132,2668
128,390594 131,606903
128,390594 132,926804
131,308594 132,177307
131,308594 132,341293
131,360306 132,2668


Citation :

128,390594 129,348907
131,308594 129,348907
125,472702 132,2668
122,554703 152,692596
122,530899 152,692596
122,554703 152,5728
122,554703 153,147797
122,864098 155,610596
125,268501 132,2668
125,472702 131,798401
125,472702 132,938599
125,472702 151,320694
125,472702 156,678696
126,666 155,610596
126,729698 152,692596
127,164001 129,348907
128,390594 128,526794
128,390594 134,920807
131,308594 128,311295
131,308594 134,836304
132,701004 129,348907
133,368698 132,2668
122,554703 155,610596

Citation :

128,390594 135,184799
125,472702 132,2668
122,554703 149,774704
134,226593 132,2668
119,636703 152,692596
119,636703 155,610596
116,718803 155,610596
116,718803 152,692596
134,226593 129,348907
113,800797 158,528595


voila, j'espere que c'est plus clair


Message édité par itoine le 30-04-2004 à 11:51:25
n°1548624
karoli
Posté le 30-04-2004 à 11:51:54  profilanswer
 

comment se présente ton fichier ? c'est un fichier plat ? il est mis en page ? avec quoi tu peux l'ouvrir ; bloc note, notepad ?
 
edit : oui c'est plus clair ;)
 
A priori excel n'aurait aucun probleme pour traiter ca


Message édité par karoli le 30-04-2004 à 11:53:43
n°1548635
itoine
To Infinity And Beyond
Posté le 30-04-2004 à 11:57:19  profilanswer
 

karoli a écrit :

comment se présente ton fichier ? c'est un fichier plat ? il est mis en page ? avec quoi tu peux l'ouvrir ; bloc note, notepad ?
 
edit : oui c'est plus clair ;)
 
A priori excel n'aurait aucun probleme pour traiter ca

oui, il est presente en colonnes
et comment s'y prendre avec excel pour automatiser ca stp? :wahoo:
parce que le fichier complet fait dans les 27 000 lignes...

n°1548645
karoli
Posté le 30-04-2004 à 12:06:07  profilanswer
 

bah faut developper un p'tit truc en VBA mais ca demande un p'tit peu de temps
En gros tu importes ton fichier plat dans excel, et tu boucles sur toutes lignes pour d'une part separer x,y de z, et d'autre part classer puis isoler tes données en fonction de z...
il fait quelle taille ton fichier ? en Ko ou Mo, pas en lignes ;)
 

n°1548653
itoine
To Infinity And Beyond
Posté le 30-04-2004 à 12:08:24  profilanswer
 

c'est un fichier texte de 906ko

n°1548686
karoli
Posté le 30-04-2004 à 12:26:15  profilanswer
 

itoine a écrit :

c'est un fichier texte de 906ko


 
je t'ai envoyé un mp

n°1549565
firstorang​utan
Posté le 30-04-2004 à 21:21:19  profilanswer
 

itoine a écrit :


 
Donc comment faire? exel sait le faire? il faut faire un programme dedie?


 
Charge ton fichier dans excel pour qu'il se retrouve dans la colonne A.
 
Dans les colonnes adjacentes copie les formules suivante et sur au temps de lignes que tu veux:
=SI(CHERCHE( " 918";$A1);GAUCHE($A1;CHERCHE( " 918";$A1) - 1);"" )
 
=SI(CHERCHE( " 919";$A1);GAUCHE($A1;CHERCHE( " 919";$A1) - 1);"" )
 
=SI(CHERCHE( " 920";$A1);GAUCHE($A1;CHERCHE( " 920";$A1) - 1);"" )
 
 
 
===============
Apres avec un filtre automatique (Données/Filtre /Filtres automatique)
Tu choisis ce que tu veux .
================
Apres avec l'option tri, tu fais ce que tu veux.
 
J'ai testé avec 40000 entrées sur un 850Mo 600Mo RAM
Ca passe largement et c'est très facile à mettre en oeuvre.
 
Bien sur apres tu fais les copier/coller ou selection que tu veux pour les mettre ou tu veux.
 
Bon bien sur C'est un peu bourrin mais bon.


Message édité par firstorangutan le 30-04-2004 à 23:05:13
n°1549585
itoine
To Infinity And Beyond
Posté le 30-04-2004 à 22:00:53  profilanswer
 

c'est justement le copier/coller repete 200 fois de suite que je veux eviter :)

n°1549629
firstorang​utan
Posté le 30-04-2004 à 23:10:49  profilanswer
 

itoine a écrit :

c'est justement le copier/coller repete 200 fois de suite que je veux eviter :)


 200 fois. :non:  
positionner les filtres automatiques en 3 cliques.
3 tris
3 copies/collés
et c'est bon.
 Mais ca ne reste pas totalement automatique.
Bon courage. :sol:

mood
Publicité
Posté le 30-04-2004 à 23:10:49  profilanswer
 

n°1549731
itoine
To Infinity And Beyond
Posté le 01-05-2004 à 08:13:23  profilanswer
 

a desole j'ai pas du etre assez precis dans mon explication.
 
car dans le fichier ci dessus, ce n'est qu'un exemple :)
dans cet exemple j'ai pris les 3 premiers groupes de z
 
en fait, dans le fichier complet, il y aura environ 200 groupes a faire et donc 200 fichiers a creer.

n°1550631
firstorang​utan
Posté le 01-05-2004 à 20:53:30  profilanswer
 

itoine a écrit :

a desole j'ai pas du etre assez precis dans mon explication.
 
car dans le fichier ci dessus, ce n'est qu'un exemple :)
dans cet exemple j'ai pris les 3 premiers groupes de z
 
en fait, dans le fichier complet, il y aura environ 200 groupes a faire et donc 200 fichiers a creer.


 :pt1cable:  
Alors tu peux toujours commencer par ca en Programmation Batch
for /L %%b in (800,1,999) do for %%a in ( %%b ) do find " %%a" tonfichier.txt > fichierpour%%a
 
En comptant de 800 a 999 pour exemple, la boucle cherche le nombre pointé (précédé d'un espace) dans "tonfichier.txt" et place les lignes dans un fichier specifique. Ainsi tu sépares tes lignes vers de petit fichier en fonction de la chaine cherchée.  
Bon ok ca fait pas tous. Il va falloir que j'apprenne un peu à aller dans la catégorie programmation du forum si je veux faire des progres en Batch windows ou VB. :lol: Je suis plutot batch unix normalement ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Logiciels

  traitement d'un fichier de points : comment faire?

 

Sujets relatifs
fichier .EXE de l'exteinction de windows xpSuppression de fichier
probleme pour ouvrir un fichier word 2000 avec word 2003commentaire dans fichier .reg ?
comment lire un fichier .virpartage de fichier sous xp pro
Installation de win2000 avec fichier de réponse depuis un serveurAutologin serveur Terminal service / client novell / fichier RDP
Probléme lors d' envoient de fichier avec MSN MESSENGER 6comment récupérer le fichier imscan.dll
Plus de sujets relatifs à : traitement d'un fichier de points : comment faire?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR