Import liste depuis un csv dans un script ISIS
Bonjour, Ci-joint un script nommé 'ImportZoneMetierShapefile_sup12.java' qui sert à importer dans isis un shapefile associé à une zone_métier déjà créée (avec succès). Il s'agit en fait d'un script créé par Anh que j'ai modifié car le nom des shapefiles à importer n'est pas identique aux noms de la zone-métier que nous avons créé. Ces noms ont en effet changé au cours du processus de définition des métiers, si bien qu'ils ne correspondent plus aux noms des shapefiles. Pour y rémédier, je fais correspondre l'ancien et le nouveau nom de zone-métier en important deux listes correspondant aux anciens et nouveaux noms de métiers. Cet import est fait avec une méthode écrite par Anh dans le script 'PTAtoolbox.java' (ci-joint). J'ai utilisé avec succès cette fonction dans un autre script auparavant (pour créer ces zones-metiers) pourtant, il semble que l'utilisation de cette méthode génère à la compilation une erreur que je ne comprends pas : ---------- 1. ERROR in C:\Users\aricouar\Documents\MesProjets_local\ISIS_simul\isis-fish-4\isis-community-database\scripts\ImportZoneMetierShapefile_sup12.java (at line 82) List<String> zoneList_old = PTAtoolbox.readListTxt(myMetierListFile_old); // metiers avec nom format Anh ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Unhandled exception type IOException ---------- 2. ERROR in C:\Users\aricouar\Documents\MesProjets_local\ISIS_simul\isis-fish-4\isis-community-database\scripts\ImportZoneMetierShapefile_sup12.java (at line 83) List<String> zoneList_true = PTAtoolbox.readListTxt(myMetierListFile_true); // metiers avec les noms metier_zone_fleet_isis_import ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Unhandled exception type IOException ---------- 2 problems (2 errors) Comment faire ? Merci pour votre aide. -- Antoine RICOUARD\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|/////// PhD student~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/|\~~~ — @ — ~~~~ FREMER - PDG-RBE-MARBEC-LHM~~~~~~~~~~~~~~/_|_\~~~~/|\~~~~~ Station de Sète - Avenue Jean Monnet~~~~~\___/~~ ~~ ~~ CS 30171 - 34203 Sète Cedex~~~~ ~~~~ ~~~~ ~~~~ ~~~~ Tel.: 06.48.71.03.95 ~~~~~~~~ ~~~~~~ ~~~~~~~~~ Email: antoine.ricouard@ifremer.fr ~~~~~~~
Bonjour, Je pense avoir trouvé ce qui n'allait pas dans ce script. J'ai rajouté un "throws Exception" dans les méthodes "main", "runIfDeleteCells" et "importShp()" et la compilation fonctionne. Je devine qu'il s'agit de quelque chose de très basique mais avec Stéphanie, nous aimerions bien avoir davantage d'explication sur la raison pour laquelle ce script ne compilait pas auparavant. Par ailleurs, nous nous demandions s'il était possible de déposer une base de donnée ISIS-Fish 4 (sauf bien-sûr le dossier 'simulation') sur un dépôt gitlab synchronisé, afin de faciliter le travail collaboratif. Qu'en pensent les lutins ? Merci pour vos réponses, Le 04/04/2023 à 18:05, Antoine RICOUARD a écrit :
Bonjour,
Ci-joint un script nommé 'ImportZoneMetierShapefile_sup12.java' qui sert à importer dans isis un shapefile associé à une zone_métier déjà créée (avec succès). Il s'agit en fait d'un script créé par Anh que j'ai modifié car le nom des shapefiles à importer n'est pas identique aux noms de la zone-métier que nous avons créé. Ces noms ont en effet changé au cours du processus de définition des métiers, si bien qu'ils ne correspondent plus aux noms des shapefiles.
Pour y rémédier, je fais correspondre l'ancien et le nouveau nom de zone-métier en important deux listes correspondant aux anciens et nouveaux noms de métiers. Cet import est fait avec une méthode écrite par Anh dans le script 'PTAtoolbox.java' (ci-joint). J'ai utilisé avec succès cette fonction dans un autre script auparavant (pour créer ces zones-metiers) pourtant, il semble que l'utilisation de cette méthode génère à la compilation une erreur que je ne comprends pas :
---------- 1. ERROR in C:\Users\aricouar\Documents\MesProjets_local\ISIS_simul\isis-fish-4\isis-community-database\scripts\ImportZoneMetierShapefile_sup12.java (at line 82) List<String> zoneList_old = PTAtoolbox.readListTxt(myMetierListFile_old); // metiers avec nom format Anh
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Unhandled exception type IOException ---------- 2. ERROR in C:\Users\aricouar\Documents\MesProjets_local\ISIS_simul\isis-fish-4\isis-community-database\scripts\ImportZoneMetierShapefile_sup12.java (at line 83) List<String> zoneList_true = PTAtoolbox.readListTxt(myMetierListFile_true); // metiers avec les noms metier_zone_fleet_isis_import
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Unhandled exception type IOException ---------- 2 problems (2 errors)
Comment faire ? Merci pour votre aide.
-- Antoine RICOUARD\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|/////// PhD student~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/|\~~~ — @ — ~~~~ FREMER - PDG-RBE-MARBEC-LHM~~~~~~~~~~~~~~/_|_\~~~~/|\~~~~~ Station de Sète - Avenue Jean Monnet~~~~~\___/~~ ~~ ~~ CS 30171 - 34203 Sète Cedex~~~~ ~~~~ ~~~~ ~~~~ ~~~~ Tel.: 06.48.71.03.95 ~~~~~~~~ ~~~~~~ ~~~~~~~~~ Email: antoine.ricouard@ifremer.fr ~~~~~~~
Le 05/04/2023 à 11:22, Antoine RICOUARD a écrit :
Bonjour,
Bonjour,
Je pense avoir trouvé ce qui n'allait pas dans ce script. J'ai rajouté un "throws Exception" dans les méthodes "main", "runIfDeleteCells" et "importShp()" et la compilation fonctionne.
La methode PTAtoolbox.readListTxt va lire un fichier sur le disque dur. En java les opérations de lecture/écriture de fichiers peuvent "mal se passer" (disque dur plein, erreur de droit...) Donc le code peut "lancer une exception" lorsque le code ne peut pas bien s’exécuter. On parle d'exception lors qu'une erreur exceptionnelle (rare) arrive. Dans ce cas, soit vous pouvez remonter l'exception sans la gérer (le programme s’arrêtera). Soit il est possible "gérer l'exception" avec un block try/catch autour de l'exception pour la gérer. Par exemple: try { List<String> zoneList_old = PTAtoolbox.readListTxt(myMetierListFile_old); } catch (IOException e) { System.out.println("Le fichier myMetierListFile_old n'a pas pu être lu"); }
Je devine qu'il s'agit de quelque chose de très basique mais avec Stéphanie, nous aimerions bien avoir davantage d'explication sur la raison pour laquelle ce script ne compilait pas auparavant.
Par ailleurs, nous nous demandions s'il était possible de déposer une base de donnée ISIS-Fish 4 (sauf bien-sûr le dossier 'simulation') sur un dépôt gitlab synchronisé, afin de faciliter le travail collaboratif. Qu'en pensent les lutins ?
Oui, cela pourrait être possible. Au même titre que "DemoRegion", dans le dépôt officiel ? -- Éric Chatellier - www.codelutin.com - 02.40.50.29.28
participants (2)
-
Antoine RICOUARD -
Eric Chatellier