banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#1 Mon 18 March 2013 16:13

MagBar
Participant assidu
Date d'inscription: 27 Jun 2012
Messages: 203

vérification entités shapes:tous les fichiers indispensable presents

Bonjour,

j'ai un dossier comprenant des sous dossiers, comprenant eux même des sous dossier etc... comprenant des fichiers shape composés des 3 fichiers obligatoires : shx, dbf et shp ainsi que d'un fichier facultatif .prj

Je souhaiterai vérifier en début de traitement que chaque sous dossiers qui comprends les shapes comprends bien les 3 fichiers obligatoires et si possible le fichiers prj et ressortir le nom ou chemin des fichiers qui aurait un manque.

Le Log le fait, mais j'aimerai sortir celà sur une liste type excel, car j'en ai pas mal et la log le dissémine un peu partout.

Sauriez vous comment faire ?

Hors ligne

 

#2 Thu 21 March 2013 07:43

MagBar
Participant assidu
Date d'inscription: 27 Jun 2012
Messages: 203

Re: vérification entités shapes:tous les fichiers indispensable presents

quelqu'un aurait une idée ?

Hors ligne

 

#3 Thu 21 March 2013 08:44

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1022
Site web

Re: vérification entités shapes:tous les fichiers indispensable presents

En TCL, il ya sûrement moyen de scanner un dossier pour y lister les différents fichiers. A partir de là, il faut mettre en place un mécanisme qui test si pour chaque Shape, il y a bien tous les fichiers nécessaires.


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#4 Thu 21 March 2013 11:29

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1022
Site web

Re: vérification entités shapes:tous les fichiers indispensable presents

Sinon via un batch avec une commande comme

Code:

dir "C:\mon_dossier" /b /s > "c:\list\fichier.txt"

Qu'on pourra utiliser avec un SystemCaller

Dernière modification par heretik25 (Thu 21 March 2013 11:37)


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#5 Thu 21 March 2013 13:57

MagBar
Participant assidu
Date d'inscription: 27 Jun 2012
Messages: 203

Re: vérification entités shapes:tous les fichiers indispensable presents

argh, je ne sais même pas ce qu'est un TCL et je n'y connais rien en batch... (j'ai bien acheté un livre sur le PYTHON mais je ne l'ai pas encore lu.. :s)

décidemment, n'existe t-il pas une manière de faire celà par un enchaînement de transformer ?

sinon, pour le batch, est ce facile si je l'effectue bêtement en collant l'enoncé dans un transformer python caller et en modifiant le chemin ?
(il faudrait que je sache ce que signifie le /b et /s et dir..wink lol)

Hors ligne

 

#6 Thu 21 March 2013 14:05

Pascal GRAPHLAND
Juste Inscrit !
Date d'inscription: 23 Jun 2009
Messages: 7

Re: vérification entités shapes:tous les fichiers indispensable presents

Bonjour

Vous pouvez dans un premier temps, utiliser en entrée le reader « Directory and File Pathnames » et en sortie le writer XLS. Ceci vous permettra de générer la liste des fichiers situés dans vos répertoires.

2 options possibles :
Option1 : vous faites votre recherche dans le fichier EXCEL généré.
Option2 :
1-vous faites un filtrage des fichiers dans FME en fonction des extensions de fichiers. (Attention à bien prendre en compte les répertoires, car les 3 fichiers doivent être situés dans le même répertoire.)
2-Créez une liste en effectuant un regroupement par nom de fichier et par répertoire.
3-analysez le nombre d’éléments de la liste qui doit être égal à 3


Pascal ROCHE

Hors ligne

 

#7 Thu 21 March 2013 16:35

MagBar
Participant assidu
Date d'inscription: 27 Jun 2012
Messages: 203

Re: vérification entités shapes:tous les fichiers indispensable presents

oki,

après plusieurs tests :

etape 1 :
lire les fichiers avec le format "Directory and File Pathnames"  au lieu du format "shp"

etape 2 :
utiliser le transformer AttributeAccumulator avec
- regroupement par les attribut "path_rootname" et  "path_directory_windows"
- list des autres attributs

etape 3 :
utiliser le transformer "ListHistogrammer"  sur la liste source "liste{}.path_extension"
-> ceci pour dédoublonner les éventuelles fichier en double et ressortir le décompte

etape 4 :
utiliser "ListConcatenator" pour indiquer dans un attribut unique toutes les valeurs du "path_extension" pour les fichiers portant le même nom dans le même répertoire.

etape 5 :
utiliser "Tester" pour ressortir les couples FICHERS/REPERTOIRE ne disposant pas d'extension .dbf, .shx et .shp

etape 4bis :
utiliser "ListConcatenator" pour ressortir dans un même attribut toutes les valeurs de l'histogramme "count" de "path_extension"

etape 5bis :
utiliser "Tester" pour ressortir les couples FICHERS/REPERTOIRE disposant de plusieurs fois le même fichier
pour cette étape j'ai galérée, j'ai donc filtrés toutes les valeurs de la concatenation du resultat count de l'histogramme qui étaient différent de 1,1,1 ou 1,1,1,1 (si fichier prj)
-> toutefois j'ignore si cette étape est vraiment nécessaire car il ne devrait pas y avoir dans un même répertoire 2 fichiers portant le même nom et la même extension, n'est ce pas ???

Du coup ça réponds à mon besoin. mais par contre ça m'embête un peu car ça risque d'alourdir encore mon process par une nouvelle lecture (et la ça fait déjà 4 jours qu'il tourne...)-j'ai essayer avec le dataset de la lecture format shp mais celui la ne ressort pas les fichier annexe .shx et .dbf sad

Hors ligne

 

#8 Thu 21 March 2013 17:07

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1022
Site web

Re: vérification entités shapes:tous les fichiers indispensable presents

4 jours :-) balaise la bête ! ca fait quoi exactement ?


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#9 Thu 21 March 2013 18:28

ogayte
Participant assidu
Lieu: Saint-Estève
Date d'inscription: 6 Mar 2006
Messages: 658
Site web

Re: vérification entités shapes:tous les fichiers indispensable presents

Je pense que vous pouvez faire plus simple en utilisant 3 readers "Directory and File Pathnames", un pour les *shp, un pour les .dbf et l'autre pour les *.shx.

Utilisez 2 featureMerger entre .shp et .dbf et entre .shp et .shx
Les .shp orphelins (sans .dbf ou .shx) vont ressortir par le port INCOMPLETE.

Critère de jointure : path_windows


Olivier Gayte
http://www.veremes.com
+33 (0)4-68-38-65-27

Hors ligne

 

#10 Fri 22 March 2013 07:24

MagBar
Participant assidu
Date d'inscription: 27 Jun 2012
Messages: 203

Re: vérification entités shapes:tous les fichiers indispensable presents

et ce n'est pas encore fini ....

en fait ça fait énormément de chose, contrôles de cohérences, de formats, etc..
mais ce qui fait ramer le tout c'est la fusion de polygone. En effet les documents sources sont excessivement lourd, ils domprennent des données cartographiques sur la France entière et sont organisé par une arborescences très complexes :
4 dossiers, comprenant 1 dossier par région qui comprends lui même 1 dossier par département qui comprennent eux même 1 dossier par commune qui comprends lui même les fichiers shapes....
JE crois que c'est surtout celà et le nombre énorme de vertex qui allourdissent la charge car je fusionne tout afin d'obtenir un unique polygone que je redécoupe par la suite (car si je découpe avant, il me créer des trous lorsque les polygones se superpose !s)


Pour la proposition de Monsieur Gayte, ok je tente le système qui semble en effet plus simple mais rajoute beaucoup plus de transformer -> est ce que feature Merger ne va pas alourdir la tache et  le fait d'avoir 3 readers ?

Hors ligne

 

#11 Fri 22 March 2013 10:00

Pascal GRAPHLAND
Juste Inscrit !
Date d'inscription: 23 Jun 2009
Messages: 7

Re: vérification entités shapes:tous les fichiers indispensable presents

La solution d'Olivier est en effet plus simple.
Vous faites référence à des fichiers lourds, de nombreux vertex,de polygones superposés...J'avais compris que vous vouliez uniquement contrôler la présence des 3 fichiers (SHP,DBF,SHP) ce qui n'implique pas la lecture des objets.
l'utilisation du  reader "Directory and File Pathname" permet par exemple d'établir une liste des fichiers contenu dans un ou plusieurs répertoires. le fait que ces fichiers contiennent 1 ou 10000 objets n'a aucune incidence sur le temps de traitement.

Je pense qu'il doit s'agit d'un autre besoin?

Pascal ROCHE

Hors ligne

 

#12 Fri 22 March 2013 10:05

MagBar
Participant assidu
Date d'inscription: 27 Jun 2012
Messages: 203

Re: vérification entités shapes:tous les fichiers indispensable presents

en fait je cherche a faire tout dans un seul projet afin de n'avoir a lancer qu'un seul projet à chaque fois.

Donc oui le besoin de ce post est effectivement de vérifier le contenu des données lues.

Mais je répondais juste à la question de heretik25

heretik25 a écrit:

4 jours :-) balaise la bête ! ca fait quoi exactement ?


En testant les 2 version je retrouve des resultats différents entre l'utilisation du feature et l'utilisation des filtres et aggregat. LEs features semble passer à côté de certains fichiers :s

Hors ligne

 

Pied de page des forums

Powered by FluxBB