# Exemples de publication de traitements

## Traitement de conversion d'un fichier statique sur le serveur

Objectif

Création d’un traitement simple de conversion d’un fichier Shape, disponible sur le serveur, en fichier MapInfo, avec publication du répertoire destination à créer.

Le fichier source est statique (toujours le même) et il se trouve à un emplacement quelconque du serveur. L'emplacement du jeu de données sur le serveur est défini dans le paramètre source dans FME et ce paramètre est dépublié.

### Création du projet FME

- Lancer FME Workbench
- Cliquer sur Fichier > Nouveau> Générer un projet
- Indiquer le fichier Shape en source et le format Mapinfo en sortie. Cocher Schéma statique puis cliquer sur OK.

Après validation, un projet simple de conversion d’un fichier Shape vers un fichier MapInfo est généré.

Par défaut, deux paramètres sont publiés : ‘sourceDataset_SHAPE’ et ‘DestDataSet_MAPINFO’.

Chaque paramètre publié d’un projet FME génère une entrée dans le formulaire GTF. Dans cet exemple, le formulaire GTF permet de modifier le répertoire source et le répertoire destination. Or nous souhaitons que GTF ignore la publication des données sources, empêchant les utilisateurs finaux de sélectionner et modifier les fichiers sources.

- Supprimer la publication du paramètre [SourceDataset_SHAPE] pour forcer les utilisateurs à utiliser le fichier Shape mis à disposition sur le serveur.
- Editer si désiré, le paramètre publié DestDaraset_MAPINFO

- Enregistrer le projet, par exemple sous le nom 'extraction_departements.fmw'.

Avant de publier ce projet dans GTF, il convient de le tester localement. Lancer le traitement depuis FME Workbench, vérifier le bon déroulement du traitement et s’assurer que le résultat soit correctement généré.

### Publication du traitement dans GTF

- Se connecter à GTF.
- Dans le menu Publication, cliquer sur « Ajouter Projet FME ». Donner un nom au traitement, par exemple, ‘Conversion_dept_shp2mapinfo’.Cliquer sur Parcourir et charger le projet FME. Choisir de ne pas rendre ce traitement disponible sur abonnement et ni pour une surveillance. Sélectionner le mot clé associé au moteur GTF désiré. Cliquer sur « Créer ».

- Dans la section ‘Droits’, associer un groupe au traitement et cliquer sur « Mettre à jour ».
- Dans la section Formulaire, visualiser le formulaire publié par défaut. Constater que le paramètre publié source du projet FME n’est pas publié et que seul le paramètre «Nom du dossier Destination MapInfo » est publié. La valeur par défaut configurée dans FME a été importée.

### Exécution du traitement

- Dans le Mode ‘Mon travail’ cliquer sur ‘Ajouter demande’, et choisir le traitement préalablement publié « Extraction Départements».

- Cliquer sur ‘Demander’. La demande de traitement est créée et celle-ci est en attente de traitement.

- Une fois traité, le voyant passe au vert. Le résultat est téléchargeable.

Le fichier ZIP généré contient un répertoire «Mon résultat» contenant les fichiers MapInfo générés par le traitement.

## Ajout de Paramètres publiés supplémentaires

Objectif

Compléter le projet exemple n°1. Publication d’un paramètre publié supplémentaire pour spécifier une emprise d’extraction de données.

### Création du projet FME

- Ouvrir le précédent projet ‘extraction-departements.fmw’ dans FME Workbench. Dans le Navigateur, publier les 4 paramètres : X minimum, Y minimum, X maximum et Y maximum des données sources. Entrer les valeurs par défaut correspondant à l’emprise de l’ensemble des données, par exemple : X minimum = 50000 ; X maximum = 1 200 000 ; Y minimum = 1 700 000 ; et Y maximum = 2 700 000.

- Enregistrer le projet extraction_depts_emprise.fmw

### Publication du traitement dans GTF

- Se connecter à GTF.
- Dans le menu Publication, cliquer sur « Ajouter Projet FME ». Donner un nom au traitement GTF, par exemple, ‘extraction depts emprise’. Aucune ressource complémentaire ne doit être chargée puisque la donnée source est intégrée dans le projet FME. Choisir de ne pas rendre ce traitement disponible sur abonnement ni pour une surveillance. Sélectionner le mot clé associé au moteur GTF désiré. Cliquer sur « Créer ». Dans la section ‘Droits’, associer un groupe au traitement et cliquer sur « Mettre à jour ».

- Dans la section Formulaire, visualiser le formulaire publié par défaut. Constater que les 4 paramètres de l’emprise apparaissent dans le formulaire avec les valeurs par défaut définies dans le projet FME.

### Exécution du traitement

- Dans le mode ‘Mon travail’ cliquer sur ‘Ajouter demande’, et choisir le traitement préalablement publié « Extraction Département emprise».
- Indiquer comme valeurs d’emprise X min = 500 000, Y min = 2 000 000, X max = 1 000 000 et Y max = 2 500 000, et ‘Mon_résultat_emprise’ comme nom de répertoire destination.

- Cliquer sur ‘Créer la Demande’.
- Une fois la demande traitée (voyant vert), télécharger le ZIP généré.

Remarquer que le nom ZIP correspond à l’identifiant de la demande de traitement : par exemple 19.zip pour la demande n°19. Ce numéro est unique car issu d’une séquence PostgreSQL.

- Ouvrir le fichier MapInfo généré dans FME Data Inspector et constater que les données ont été extraites selon l’emprise spécifiée.

##

## Conversion de fichiers sources statiques chargés sur le serveur lors du chargement du projet FME

Objectif

Le fichier source est statique et il est chargé sur le serveur par GTF comme ressource du projet FME. Les utilisateurs finaux n’uploadent pas de fichiers sources, ils se trouvent sur le serveur au même endroit que le projet FME.

Il s'agit ainsi de reconstituer la même arborescence que celle du poste de développement.

### Création du projet FME

- Créer un nouveau projet FME pour convertir un fichier Shape vers un fichier MIF/MID.

- Deux paramètres doivent être publiés : la source et la destination. La source pointe vers un fichier Shape en local. Pour que GTF puisse accéder à ce fichier, il faut uploader le fichier shape et ses dépendances sur le serveur GTF. Ces données seront stockées dans le même répertoire que le projet FME lors de la création du traitement dans GTF.
- Modifier le chemin de la source comme tel :

$(FME_MF_DIR_UNIX) est une variable FME qui indique l’emplacement d’un projet FMW. Le fichier source (dpt2.shp et fichiers dépendants) est uploadé à cet emplacement. Il sera directement utilisable dans GTF (sans avoir à l’uploader à chaque demande de traitement).

- Les données sources étant fixes, il convient de dépublier ce paramètre, en cliquant sur Supprimer le lien du paramètre publié.

- Enregistrer le projet.

### Publication du traitement dans GTF

- Se connecter à GTF.
- Dans le menu Publication, cliquer sur « Ajouter Projet FME ». Donner un nom au traitement GTF, par exemple ‘Conversion_dept_shp2mif’.Charger le projet FME. Choisir de ne pas rendre ce traitement disponible sur abonnement ni pour une surveillance. Sélectionner le mot clé associé au moteur GTF désiré puis dans la section Droits associer un groupe au projet.
- Pour uploader le fichier Shape et ses dépendances, compresser les fichiers dans un fichier ZIP. Dans le champ ‘Ressources complémentaires’ cliquer sur Parcourir et chercher le fichier ZIP précédemment créé. Cliquer sur « Créer ».

Ces ressources complémentaires sont décompressées dans le répertoire contenant le projet .fmw. L'arborescence du poste de développement est ainsi reconstituée sur le serveur.

La section Répertoire Projet permet de visualiser l'intégralité du répertoire projet du serveur :

- Dans la section Formulaire, visualiser le formulaire publié par défaut. Constater que seul le fichier destination est paramétrable. Le fichier des départements dpts.shp est automatiquement associé au projet.

### Exécution du traitement

- Dans le Mode ‘Mon travail’ cliquer sur ‘Ajouter une demande’, et choisir le traitement préalablement publié « conversion_dept_shp2mif».
- Indiquer le nom répertoire à créer en destination. Cliquer sur Créer la demande.
- Une fois la demande traitée (voyant vert), télécharger le ZIP généré.

Remarquer que le nom ZIP correspond à l’identifiant de la demande de traitement : par exemple 19.zip pour la demande n°19. Ce numéro est unique car issu d’une séquence PostgreSQL.

## Traitement de conversion avec sortie générique

Objectif

Publication d'un traitement de conversion d'un fichier dont le format destination est générique. L’utilisateur final choisit le format destination. Le fichier source au format shape est statique.

### Création du projet FME

- Ouvrir le traitement créé dans l'exercice n°2 'extraction_depts_emprise.fmw' dans FME Workbench. Supprimer le jeu de données destination MapInfo et ajouter un nouveau jeu de données au format ‘Generic’. Indiquer une destination temporaire.

- Cliquer sur le bouton Paramètres et choisir le format de sortie MapInfo :

- Dupliquer le type d’entités source, par un clic droit en choisissant l’option "Dupliquer"
- Publier le paramètre « Système de coordonnées » du jeu de données Generic.

Le format Generic permet de spécifier le format de destination via un paramètre. Le paramètre « GENERIC_OUT_FORMAT_GENERIC » est publié par défaut. GTF ne supporte pas ce paramètre car tous les formats supportés par FME devraient être listés.

- Dans un premier temps, il faut donc dépublier ce paramètre par un clic droit > Supprimer.

- Il faut ensuite créer sa propre liste de formats dans un nouveau paramètre publié : ajouter un nouveau paramètre publié que vous nommerez 'FORMAT' de type 'choix' et saisir les formats destination désirés.

Le nom des formats doit correspondre aux noms courts tels qu’ils sont listés dans la galerie des formats de FME Workbench (Outils> Consulter la galerie des formats). Il est également possible de choisir un type "Choix avec alias" pour afficher un texte plus explicite dans la liste.

- Associer ensuite le paramètre ‘FORMAT’ au jeu de données générique. Faire un clic droit sur le paramètre ‘Format en sortie’ et choisir ‘Lier au paramètre publié‘.

- Enregistrer le projet, par exemple « shape2generic.fmw »

### Publication du traitement dans GTF

- Se connecter à GTF.
- Dans le menu Publication, cliquer sur « Ajouter Projet FME ». Donner un nom au traitement GTF, par exemple ‘Extraction départements avec choix de l’emprise et du format destination’. Aucune ressource complémentaire ne doit être chargée puisque la donnée source est intégrée dans le projet FME. Choisir de ne pas rendre ce traitement disponible sur abonnement et ni pour une surveillance. Sélectionner le mot clé associé au moteur GTF désiré. Cliquer sur « Créer ». Dans la section ‘Droits’, associer un groupe au traitement et cliquer sur « Mettre à jour ».

- Dans la section Formulaire, visualiser le formulaire publié par défaut. Constater que le paramètre Format destination est bien associé au projet.

### Exécution du traitement

- Dans le mode ‘Mon travail’, cliquer sur ‘Ajouter demande’, et choisir le traitement préalablement publié « Extraction départements avec choix de l’emprise et du format destination».
- Indiquer le fichier ZIP source et le répertoire destination. Cliquer sur Créer la demande.
- Une fois la demande traitée (voyant vert), télécharger le ZIP généré.

Remarquer que le nom ZIP correspond à l’identifiant de la demande de traitement : par exemple 19.zip pour la demande n°19. Ce numéro est unique car issu d’une séquence PostgreSQL.

## Personnalisation de formulaire : exploitation du contrôle de type Carte OSM.

Objectif

Extraction de types d’entités à partir d’une zone d’emprise saisie graphiquement sur une carte OSM par l’utilisateur final. Modification du formulaire directement dans GTF.

### Création du projet FME

Créer un nouveau projet FME pour extraire un fichier GeoFla au format Esri Shape avec un paramètre qui permet de choisir une zone d’extraction sous la forme d’un polygone décrit par une chaîne WKT.

Dans FME, 3 paramètres sont publiés :

- Zone d’extraction WKT : chaîne de caractères WKT pour définir la zone d’extraction. (Paramètre publié de type Texte)
- Couches à extraire : choix du type d’entités à extraire (COMMUNES, CANTONS, DEPARTEMENTS…). (Paramètre publié de type Choix)
- Nom du Répertoire Destination à créer. (Paramètre publié de type Répertoire en sortie)

### Publication du traitement dans GTF

- Se connecter à GTF.
- Dans le menu Publication, cliquer sur « Ajouter Projet FME ». Donner un nom au traitement GTF, par exemple ‘Extraction GeoFla’. Entrer ensuite une description et attribuer une catégorie. Choisir de ne pas rendre ce traitement disponible sur abonnement et ni pour une surveillance.
- Pour uploader les fichiers GeoFla au format Shape, compresser les fichiers dans un fichier ZIP. Dans le champ ‘Ressources complémentaires’ cliquer sur Parcourir et chercher le fichier ZIP précédemment créé. Cliquer sur « Créer ». Dans la section ‘Droits’, associer un groupe au traitement et cliquer sur « Mettre à jour ».

- Dans la section Formulaire, visualiser le formulaire publié par défaut. Constater que les 3 paramètres sont bien affichés.

### Personnalisation du formulaire

La saisie de la zone d’extraction sous la forme d’une chaîne de caractères WKT n’est pas simple. Une alternative serait de proposer à l’utilisateur final la possibilité de saisir manuellement la zone d’extraction de son choix en dessinant ses contours directement sur une carte. GTF permet l'exploitation de contrôles de type carte :

- Carte OSM
- Carte Bing
- Carte Veremap

Dans notre exemple, nous proposons d'exploiter la carte OSM qui ne nécessite pas de clé.

Il est donc nécessaire de personnaliser le formulaire en cliquant sur le bouton dans la fenêtre Formulaire.

- Dans la fenêtre Paramètres publiés, sélectionner ensuite le paramètre 'wktPolygon' de type Texte que vous souhaitez convertir en contrôle de type Carte OSM.
- Dans la fenêtre Définition, sélectionner dans la liste, le contrôle de type 'Carte OSM'.

- Ajuster les paramètres d'affichage de la carte en définissant un libellé, par exemple "Dessiner la zone d'extraction", la largeur/hauteur de la carte, son échelle et projection, les coordonnées de son centre, ainsi que les outils qui seront affichés dans le formulaire de demande.

- Cliquer ensuite sur le bouton 'Sauvegarder le formulaire personnalisé' puis sur le bouton de publication de ce dernier .
- S'assurer que le formulaire a bien été mis à jour et que le paramètre ‘Zone d’extraction WKT’ a été remplacé par un paramètre permettant la saisie du périmètre d’extraction directement sur une carte OSM.

### Exécution du traitement

- Dans le Mode ‘Mon travail’ cliquer sur ‘Ajouter demande’, et choisir le traitement préalablement publié « Extraction GeoFla ».
- Indiquer les couches à extraire, le répertoire destination et saisir directement sur la carte la zone d’extraction. Cliquer ensuite sur Créer la demande.
- Une fois la demande traitée (voyant vert), télécharger le ZIP généré.