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 Thu 14 April 2011 13:48

kighafarz
Participant occasionnel
Lieu: Brest
Date d'inscription: 29 Apr 2009
Messages: 22

Nom du shapefile en paramètre d'entrée

Bonjour,

J'ai développé un projet qui exploite un shapefile en entrée.
Celui-ci est nativement un paramètre du projet, mais il semble possible uniquement de modifier la localisation du shapefile qui au final doit avoir le même nom (à savoir celui utilisé lors de la création de mon input).

Est-il donc possible de rendre paramétrable le nom du shapefile passé en entrée ?

Merci d'avance.

Hors ligne

 

#2 Thu 14 April 2011 14:10

MaelReboux
Participant actif
Lieu: Roazhon / Rennnes
Date d'inscription: 24 Aug 2010
Messages: 72

Re: Nom du shapefile en paramètre d'entrée

Bonjour,

Si vous souhaitez exécuter / lancer votre traitement (workbench) depuis un script python ou ms-dos et que vous souhaitez connaître les paramètres publiés disponibles, ouvrez votre workbench dans un éditeur de texte (pas WordPad...).

Vous y trouverez un paragraphe "Ligne de commande pour exécuter ce projet :"

Et là vous avez tout ce qu'il vous faut pour scripter, modifier les jeux de données en entrée / en sortie avec des variables.


Service SIG Rennes Métropole
AITF : Coordinateur GT voies-adresse
Et un peu OSM Bzh

Hors ligne

 

#3 Thu 14 April 2011 17:36

Cherubin
Participant assidu
Lieu: NGC 1300
Date d'inscription: 10 Jun 2008
Messages: 273

Re: Nom du shapefile en paramètre d'entrée

Wow je savais pas sa! C'est cool de pouvoir jouer dans le fichier!!

Voilà la ligne (5e ligne du fichier) en anglais :

Windows command-line to run this workspace:

Hors ligne

 

#4 Thu 14 April 2011 18:35

kighafarz
Participant occasionnel
Lieu: Brest
Date d'inscription: 29 Apr 2009
Messages: 22

Re: Nom du shapefile en paramètre d'entrée

Merci pour votre réponse.

Je connais bien le principe des passages de paramètres.
Mais si je passe un autre nom de ShapeFile que celui ayant permis de créer l'entrée des données, cela ne marche pas.
Le programme s'attend spécifiquement à avoir le même nom de Fichier.
C'est bien à ce niveau que je bute.

Comment faire donc, si du moins c'est possible.

Merci de votre aide.

Hors ligne

 

#5 Fri 15 April 2011 08:56

MaelReboux
Participant actif
Lieu: Roazhon / Rennnes
Date d'inscription: 24 Aug 2010
Messages: 72

Re: Nom du shapefile en paramètre d'entrée

Cela ne marchera pas si la structure de votre shape qui rentre dans le traitement est différente de la structure du shape qui a servi pour faire le workbench. Ce qui est logique.
A moins d'utiliser le "mode" "attributs dynamiques" qui produira en sortie la même structure que votre jeux de données en entrée.

Ci-dessous un exemple complet de boucle ms-dos avec des paramètre dynamique. Dans le cas présent je ne modifie que les répertoires (le chemin) mais c'est pareil avec le ficheir en entrée.

Code:

@echo off

cls

echo .
echo Copie de la GeoDB modele dans le repertoire cible de la tranche
echo puis remplissage de la table voie finale
echo . 
echo Ne pas oublier de specifier le nom de la tranche !!

:InputTranche
echo code de la tranche (ex : tranche_1 ) ?
SET /P TRANCHE=

:TestInput
if "%TRANCHE%"=="" (
  echo Vous n'avez rien saisi !
  goto InputTranche
)


set REP_HOME=V:\C-Gestion\C-SIG\PlanVilleInterco\filaire_adresses



rem on decompresse la GeoDB modele vers le repertoire souahite

7z x %REP_HOME%\donnees_support\geodb_modele\geodb_modele.gdb.zip -o%REP_HOME%\tranches\%TRANCHE%\1_GeoDB\



rem on renomme

rename %REP_HOME%\tranches\%TRANCHE%\1_GeoDB\geodb_modele.gdb rm_%TRANCHE%.gdb



rem on remplit la table des voies depuis la liste des communes precisee dans un fichier texte

for /f "tokens=1,2 delims=/ " %%a in (%REP_HOME%\tranches\%TRANCHE%\liste_des_communes.txt) do (

echo. -----  %%a

rem %%b = code insee

erase %REP_HOME%\tranches\%TRANCHE%\1_GeoDB\logs\%%a\*.*

fme.exe 01_creation_geodb.fmw --CodeInsee %%b --SrcBaseRefVoies %REP_HOME%\donnees_support\base_reference_des_voies\ref_voies_adresses.mdb --SrcMappingComplet %REP_HOME%\tranches\%TRANCHE%\0_nettoyage_des_voies\2_mapping_complet.csv --DestLogErreurs %REP_HOME%\tranches\%TRANCHE%\1_GeoDB\logs\%%a\erreurs_table_des_voies.log --DestCSV %REP_HOME%\tranches\%TRANCHE%\1_GeoDB\logs\%%a\ --DestGeoDB %REP_HOME%\tranches\%TRANCHE%\1_GeoDB\rm_%TRANCHE%.gdb


rem    fme.exe 01_creation_geodb.fmw
rem          --CodeInsee 35352
rem          --SrcBaseRefVoies V:\C-Gestion\C-SIG\PlanVilleInterco\filaire_adresses\donnees_support\base_reference_des_voies\ref_voies_adresses.mdb
rem          --SrcMappingComplet V:\C-Gestion\C-SIG\PlanVilleInterco\filaire_adresses\tranches\tranche_0\0_nettoyage_des_voies\2_mapping_complet.csv
rem          --DestLogErreurs V:\C-Gestion\C-SIG\PlanVilleInterco\filaire_adresses\tranches\tranche_0\1_GeoDB\logs\erreurs_table_des_voies.log
rem          --DestCSV V:\C-Gestion\C-SIG\PlanVilleInterco\filaire_adresses\tranches\tranche_0\1_GeoDB\logs
rem          --DestGeoDB V:\C-Gestion\C-SIG\PlanVilleInterco\filaire_adresses\tranches\tranche_0\1_GeoDB\rm_tranche_0.gdb

rem --CodeInsee %%b
rem --SrcBaseRefVoies %REP_HOME%\donnees_support\base_reference_des_voies\ref_voies_adresses.mdb
rem --SrcMappingComplet %REP_HOME%\tranches\%TRANCHE%\0_nettoyage_des_voies\2_mapping_complet.csv
rem --DestLogErreurs %REP_HOME%\tranches\%TRANCHE%\1_GeoDB\logs\%%a\erreurs_table_des_voies.log
rem --DestCSV %REP_HOME%\tranches\%TRANCHE%\1_GeoDB\logs\%%a\
rem --DestGeoDB %REP_HOME%\tranches\%TRANCHE%\1_GeoDB\rm_%TRANCHE%.gdb


)


:Fin
echo .
echo ============================
echo      FINI
echo ============================
echo .

erase 01_creation_geodb.log

pause

cls

Service SIG Rennes Métropole
AITF : Coordinateur GT voies-adresse
Et un peu OSM Bzh

Hors ligne

 

#6 Fri 15 April 2011 11:50

kighafarz
Participant occasionnel
Lieu: Brest
Date d'inscription: 29 Apr 2009
Messages: 22

Re: Nom du shapefile en paramètre d'entrée

Ma structure de ShapeFile est exactement la même.

Je crois comprendre votre script qui finalement renomme le fichier en amont afin qu'il soit homogène lors de l'appel à FME. Donc pas possible de dire vraiment à FME de prendre un autre nom.

Finalement, je viens d'obtenir la solution avec le support VEREMES.
Dans les propriétés de ma source, il faut sélectionner en bas le choix "Regroupement des types d'entités", puis saisir le caractère * dans le champ "Filtre de regroupement. Ainsi, peu import le nom de mon fichier, à partir du moment où la structure est la même, il est pris en compte.
Voir aussi ici, la cause et la solution de mon problème : http://www.fmepedia.com/index.php/Unexp … ut_Remover

Hors ligne

 

#7 Fri 22 April 2011 09:45

MaelReboux
Participant actif
Lieu: Roazhon / Rennnes
Date d'inscription: 24 Aug 2010
Messages: 72

Re: Nom du shapefile en paramètre d'entrée

Ha oui : effectivement : spécifier que le jeux de données en entrée est "générique" est un préalable.
Je pensais que c'était déjà le cas.


Service SIG Rennes Métropole
AITF : Coordinateur GT voies-adresse
Et un peu OSM Bzh

Hors ligne

 

Pied de page des forums

Powered by FluxBB