Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Adapps lango switcher macro
Table of Contents
minLevel1
maxLevel7

L'utilisateur peut convertir un fichier CSV en un fichier XML par ligne de commande en utilisant l’outil https://bitbucket.org/enroute-mobi/csv-to-netex/downloads/.

Via l’utilisation d’un template modèle XML, il peut donc convertir un fichier CSV en fichier NeTEx et ensuite l’importer dans Chouette.

Pré-requis

  • Télécharger l’exécutable sur https://bitbucket.org/enroute-mobi/csv-to-netex/downloads/ selon votre système d’exploitation

  • Fournir un fichier CSV (encodage UTF-8) contenant uniquement les attributs à convertir (sans l’entête de la table)

  • Créer un fichier XML qui servira de modèle pour le fichier NeTEx à générer (il doit être créé au dans le même endroit dossier que l’exécutable téléchargé plus haut).

Plusieurs fichiers d’exemples sont disponibles Vous trouverez ci-dessous plusieurs fichiers XML d’exemple que vous pourrez utiliser pour convertir vos fichiers CSV en fichiers NeTEx.

Exemple 1 - Convertir les attributs de

...

Points d’Intérêt (POI)

Pour générer des Points d’intérêt au format NeTEx, vous pouvez utiliser le modèle suivant :

Code Block
languagexml
<PointOfInterest version="any" id="{{ index .RowCountCells 0 }}">
  <Name>{{ index .Cells 12 }}</Name>
  <Centroid>
    <Location>
      <Longitude>{{ index .Cells 86 }}</Longitude>
      <Latitude>{{ index .Cells 97 }}</Latitude>
    </Location>
  </Centroid>

  <PostalAddress version="any" id="2">
    <CountryName>France</CountryName>
    <AddressLine1>{{ index .Cells 5 }}</AddressLine1>
    <Town>{{ index .Cells 4 }}</Town>
    <PostCode>{{ index .Cells 3 }}</PostCode>
  </PostalAddress>

  <OperatingOrganisationView><classifications>
    <ContactDetails><PointOfInterestClassificationView>
      <Phone><Name>{{ index .Cells 61 }}</Phone></Name>
    </PointOfInterestClassificationView>
  </classifications>

  <validityConditions>
    <AvailabilityCondition version="any" id="1">
      <dayTypes>
        <DayType version="any" id="1">
          <properties>
            <PropertyOfDay>
              <Email><DaysOfWeek>{{ index .Cells 78 }}</Email></DaysOfWeek>
            </PropertyOfDay>
          </properties>
        </ContactDetails>DayType>
      </OperatingOrganisationView>

  <classifications>
dayTypes>
      <timebands>
        <Timeband version="any" id="1">
          <StartTime>{{ index .Cells 9 }}</StartTime>
   <PointOfInterestClassificationView>       <Name><EndTime>{{ index .Cells 010 }}</EndTime>
        </Timeband>
      </timebands>
    </AvailabilityCondition>

    <AvailabilityCondition version="any" id="2">
      <dayTypes>
        <DayType version="any" id="2">
          <Name>Working day</Name>
          <properties>
            <PropertyOfDay>
              <DaysOfWeek>{{ index .Cells 11 }}</DaysOfWeek>
            </PropertyOfDay>
          </properties>
        </DayType>
      </dayTypes>
      <timebands>
        <Timeband version="any" id="2">
          <StartTime>{{ index .Cells 12 }}</StartTime>
          <EndTime>{{ index .Cells 13 </PointOfInterestClassificationView>}}</EndTime>
        </Timeband>
      </timebands>
    </AvailabilityCondition>
  </classifications>validityConditions>
</PointOfInterest>

   

View file
namepoint-of-interestPOI.xml_template

...

En utilisant ce modèle, les colonnes de votre fichier CSV doivent être classés dans cet ordre :

Code Block
breakoutModewide
id,catégorie,nom,codepostal,ville,adresse,téléphone,email,longitude,latitude,jours d'ouverture,heure d'ouverture,heure de fermeture,jours d'ouverture,heure d'ouverture,heure de fermeture
Note

La colonne Id est ce qui va permettre à Chouette d’identifier un POI. L’id doit être unique pour chaque point d’intérêt.

Exemple 2 - Convertir les attributs d’arrêts

Pour ajouter un code spécifique à vos arrêts, vous pouvez utiliser ce modèle

Code Block
languagexml
<Quay id="{{ index .Cells 0 }}">
  <KeyValue typeOfKey="ALTERNATE_IDENTIFIER">
    <Key>didok<<Key>code</Key>
    <Value>{{ index .Cells 1 }}</Value>
  </KeyValue>
</Quay>

 

View file
namequays.xml_template

Exemple 3 - Convertir les attributs de lignes

Pour ajouter des codes spécifique à vos lignes, vous pouvez utiliser ce modèle. Ici vous devrez renseigner:

  • l’ID de la ligne,

  • la valeur dans l’espace de code choisi,

  • le nom de la ligne.

Code Block
languagexml
<Line id="{{ index .Cells 0 }}">
        <keyList>
          <KeyValue typeOfKey="ALTERNATE_IDENTIFIER">
            <Key>test</Key>
            <Value>{{ index .Cells 1 }}</Value>
          </KeyValue>
        </keyList>
        <Name>{{ index .Cells 2 }}</Name>
    </Line>

View file
nameline.xml_template

En utilisant ce modèle, les colonnes de votre fichier CSV doivent être classées dans cet ordre :

Code Block
id,valeur du code,nom

Exécuter la ligne de commande sur Windows

Pour lancer la requête de votre conversion CSV vers NeTEx, il faut exécuter une ligne sur l’invite de commande au niveau de l’emplacement du fichier où se trouvent le fichier CSV et le fichier XML modèle.

Code Block
csv-to-netex.exe --template TEMPLATE_FILE CSV_INPUT > OUTPUT_FILE
Info

TEMPLATE_FILE est à modifier avec votre fichier XML modèle créé.

CSV_INPUT est à modifier avec votre fichier CSV

OUTPUT_FILE est à modifier avec le nom du fichier NeTEx à générer

Une fois les commande exécutées, un fichier CSV NeTEx apparaît dans le même emplacement.

...

Exécuter la ligne de commande sur Mac

Pour lancer la requête de votre conversion CSV vers NeTEx, il faut exécuter sur la console une ligne de commande au niveau de l’emplacement du fichier où se trouvent le fichier CSV et le fichier XML modèle.

Code Block
$ csv-to-netex.exe --template TEMPLATE_FILE CSV_INPUT > OUTPUT_FILE

Une fois les commande exécutées, un fichier CSV apparaît dans le même emplacement.

Info

TEMPLATE_FILE est à modifier avec votre fichier XML modèle créé.

CSV_INPUT est à modifier avec votre fichier CSV

OUTPUT_FILE est à modifier avec le nom du fichier NeTEx à générer

...

Exécuter la ligne de commande sur Linux

Pour lancer la requête de votre conversion CSV vers NeTEx, il faut exécuter sur la console une ligne de commande au niveau de l’emplacement du fichier où se trouvent le fichier CSV et le fichier XML modèle.

...