src/Form/ReutilisationType.php line 12

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\FormBuilderInterface;
  5. use Symfony\Component\OptionsResolver\OptionsResolver;
  6. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  7. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  8. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  9. class ReutilisationType extends AbstractType {
  10.     public function buildForm(FormBuilderInterface $builder, array $options): void {
  11.         $builder
  12.                 ->add('nomDuProjet')
  13.                 ->add('besoinEau')
  14.                 ->add('surfaceRecuperee')
  15.                 ->add('nomSurface')
  16.                 ->add('nomSurface2')
  17.                 ->add('nomSurface3')
  18.                 ->add('rendementToiture'ChoiceType::class, [
  19.                     'choices' => $this->getRendementToitureChoises()
  20.                 ])
  21.                 ->add('surfaceRecuperee2')
  22.                 ->add('rendementToiture2'ChoiceType::class, [
  23.                     'choices' => $this->getRendementToitureChoises()
  24.                 ])
  25.                 ->add('surfaceRecuperee3')
  26.                 ->add('rendementToiture3'ChoiceType::class, [
  27.                     'choices' => $this->getRendementToitureChoises()
  28.                 ])
  29.                 ->add('anneesCalculees'ChoiceType::class, [
  30.                   'choices' => $this->getAnneesCalculeesChoices()
  31.                  ])
  32.                 ->add('climat'ChoiceType::class, [
  33.                     'choices' => $this->getClimatChoises()
  34.                 ])
  35.                 ->add('stationmeteo'ChoiceType::class, [
  36.                     'choices' => $this->getStationMeteoChoices()
  37.                 ])
  38.                 ->add('stationAPI'ChoiceType::class, [
  39.                     'choices' => $this->getStationAPIChoices()
  40.                 ])
  41.                 ->add('nbreUtilisateur')
  42.                 ->add('volumeParUtilisation')
  43.                 ->add('tauxRaccordement')
  44.                 ->add('scenarioUtilisation'ChoiceType::class,
  45.                         [
  46.                             'choices' => $this->getScenarioUtilisationChoices()
  47.                         ])
  48.                 ->add('ru'ChoiceType::class, [
  49.                     'choices' => $this->getRuChoices()
  50.                 ])
  51.                 ->add('typePlante'ChoiceType::class, [
  52.                     'choices' => $this->getTypePlanteChoises()
  53.                 ])
  54.                 ->add('profondeurTerre'ChoiceType::class, [
  55.                     'choices' => $this->getProfondeurTerreChoices()
  56.                 ])
  57.                 ->add('sArrosage')
  58.                 ->add('volumeCuve')
  59.                 ->add('tauxObjectif')
  60.                 ->add('coutEau')
  61.                 ->add('coutPompe')
  62.                 ->add('coutVolume')
  63.                 ->add('choixVolume')
  64.                 ->add('coutVolume2')
  65.                 ->add('choixVolume2')
  66.                 ->add('certivea'CheckboxType::class, [
  67.                     'required' => false,
  68.                     'label' => "Méthode Certivéa - outil Cible 5 (sans pertes)"
  69.                 ])
  70.                 ->add('analyser'SubmitType::class);
  71.     }
  72.     public function getStationMeteoChoices() {
  73.         return [
  74.             '01-AMBERIEU' => 1134.4,
  75.             '02-ST QUENTIN' => 702.6,
  76.             '02-FONTAINE-LES-VV' => 853.5,
  77.             '02-PASSY EN VALOIS' => 727.6,
  78.             '03-VICHY-CHARMEIL' => 779.5,
  79.             '03-LURCY-LEVIS SA' => 750.7,
  80.             '03-MONTBEUGNY' => 770.9,
  81.             '03-NEUVY' => 751.2,
  82.             '03-ST-NICOLAS' => 1409.4,
  83.             '04-ST AUBAN' => 694.9,
  84.             '05-BRIANCON' => 759.1,
  85.             '05-EMBRUN' => 726.5,
  86.             '05-LARAGNE MONTEGLIN' => 815.2,
  87.             '06-CANNES' => 794.8,
  88.             '06-NICE' => 733,
  89.             '07-COLOMBIER JEUNE RAD' => 961.6,
  90.             '07-LANAS SYN' => 1074.3,
  91.             '08-CHARLEVILLE-MEZ' => 942.6,
  92.             '09-ST GIRONS' => 952.2,
  93.             '10-TROYES-BARBEREY' => 644.8,
  94.             '10-DOSNON' => 726.5,
  95.             '10-MATHAUX-ETAPE' => 742.9,
  96.             '11-CARCASSONNE' => 648.5,
  97.             '11-GRUISSAN-INRA' => 582.8,
  98.             '12-MILLAU' => 731.6,
  99.             '12-RODEZ-AVEYRON' => 894.2,
  100.             '13-AIX-LES MILLES' => 576.4,
  101.             '13-AIX EN PROVENCE' => 585.8,
  102.             '13-ARLES' => 580.2,
  103.             '13-ISTRES' => 554.3,
  104.             '13-MARIGNANE' => 515.4,
  105.             '13-SALON DE PROVENCE' => 579.3,
  106.             '14-CAEN-CARPIQUET' => 739.9,
  107.             '14-L OUDON LIEURY_SAPC' => 658.5,
  108.             '15-AURILLAC' => 1174,
  109.             '15-COLTINES' => 764.4,
  110.             '15-MARCENAT' => 1189.8,
  111.             '15-MAURIAC' => 1200.5,
  112.             '15-MAURS' => 1176.3,
  113.             '16-COGNAC' => 777.1,
  114.             '16-LA COURONNE' => 843.2,
  115.             '16-MONTEMBOEUF' => 1007.9,
  116.             '16-SALLES DE BARB' => 817.8,
  117.             '16-TUSSON' => 836.4,
  118.             '16-VERDILLE' => 802.5,
  119.             '17-LA ROCHELLE' => 767,
  120.             '17-SAINTES' => 910.6,
  121.             '18-BOURGES' => 747.9,
  122.             '18-AVORD' => 772.9,
  123.             '18-SANCERRE' => 905.4,
  124.             '19-ARGENTAT' => 1165.4,
  125.             '19-BRIVE' => 914.4,
  126.             '19-NAVES' => 1236.4,
  127.             '19-UZERCHE' => 1126.2,
  128.             '20-AJACCIO' => 615.6,
  129.             '20-CAP PERTUSATO' => 541.9,
  130.             '20-CALVI' => 668.3,
  131.             '20-CONCA' => 859.5,
  132.             '20-CORTE_FDF' => 803.6,
  133.             '20-FIGARI' => 655.3,
  134.             '20-BASTIA' => 799.3,
  135.             '20-PIETRALBA' => 651.7,
  136.             '20-PILA-CANALE' => 864.7,
  137.             '20-RENNO' => 1197.5,
  138.             '20-SAMPOLO' => 1276.1,
  139.             '20-SARTENE' => 722.3,
  140.             '20-SOLENZARA' => 795.3,
  141.             '21-CHATILLON/SEINE' => 864.1,
  142.             '21-DIJON-LONGVIC' => 760.5,
  143.             '21-ARNAY_SAPC' => 807,
  144.             '22-KERPERT' => 1130.6,
  145.             '22-LANNION_AERO' => 945,
  146.             '22-LOUARGAT' => 1013.3,
  147.             '22-PLOUGUENAST' => 966.8,
  148.             '22-POMMERIT-JAUDY' => 891,
  149.             '22-QUINTENIC' => 743.4,
  150.             '22-ROSTRENEN' => 1145.7,
  151.             '22-ST BRIEUC' => 750.7,
  152.             '23-BOURGANEUF' => 1262.1,
  153.             '23-LA SOUTERRAINE' => 1029.1,
  154.             '24-BERGERAC' => 788.3,
  155.             '25-BESANCON' => 1187,
  156.             '25-PONTARLIER' => 1503.3,
  157.             '26-BESIGNAN' => 790.3,
  158.             '26-DIE' => 953.4,
  159.             '26-DIVAJEU' => 901.6,
  160.             '26-DONZERE' => 841.8,
  161.             '26-ETOILE' => 922.9,
  162.             '26-MERCUROL' => 872.7,
  163.             '26-MONTELIMAR' => 905.3,
  164.             '26-ST-MARCEL-LES-V-INRA' => 867.8,
  165.             '27-EVREUX-HUEST' => 604.6,
  166.             '28-CHARTRES' => 598.9,
  167.             '28-CHATEAUDUN' => 612.3,
  168.             '28-LOUVILLE' => 618.8,
  169.             '28-MARVILLE_SAPC' => 551.1,
  170.             '28-MIERMAIGNE' => 756.1,
  171.             '28-PRE-ST-EVROULT' => 597.4,
  172.             '28-RUEIL' => 594.9,
  173.             '28-VIABON' => 583.8,
  174.             '29-BRIGNOGAN' => 908,
  175.             '29-BREST-GUIPAVAS' => 1210,
  176.             '29-LANVEOC' => 1006.4,
  177.             '29-OUESSANT-STIFF' => 819,
  178.             '29-PLEYBER-CHRIST SA' => 1126.8,
  179.             '29-QUIMPER' => 1250.2,
  180.             '29-LANDIVISIAU' => 1165.1,
  181.             '29-SIBIRIL S A' => 923.6,
  182.             '30-CHUSCLAN' => 757,
  183.             '30-NIMES-COURBESSAC' => 762.9,
  184.             '30-NIMES-GARONS' => 696.5,
  185.             '30-MONT AIGOUAL' => 1931.7,
  186.             '31-TOULOUSE-BLAGNAC' => 638.3,
  187.             '31-TOULOUSE-FRANCAZAL' => 625.6,
  188.             '32-AUCH' => 685.4,
  189.             '33-BORDEAUX-MERIGNAC' => 944.1,
  190.             '33-CAZAUX' => 946.3,
  191.             '34-MONTPELLIER-AEROPORT' => 629.1,
  192.             '34-SETE' => 560.7,
  193.             '35-DINARD' => 758.7,
  194.             '35-RENNES-ST JACQUES' => 694,
  195.             '36-CHATEAUROUX  DEOLS' => 737.1,
  196.             '37-TOURS' => 695.6,
  197.             '38-GRENOBLE-ST GEOIRS' => 934.3,
  198.             '39-ARBOIS_SAPC' => 1226,
  199.             '39-CHAMPAGNOLE' => 1574.9,
  200.             '39-LONS LE SAUNIER' => 1189.5,
  201.             '39-LA PESSE' => 1673.5,
  202.             '39-TAVAUX SA' => 888.1,
  203.             '40-DAX' => 1151.3,
  204.             '40-MONT-DE-MARSAN' => 916.9,
  205.             '41-ROMORANTIN' => 702.3,
  206.             '41-BLOIS' => 639.2,
  207.             '42-ST ETIENNE-BOUTHEON' => 718.2,
  208.             '42-FIRMINY' => 781.7,
  209.             '42-PERREUX' => 682.4,
  210.             '42-RIORGES' => 703.3,
  211.             '43-LE PUY-LOUDES' => 678.3,
  212.             '43-FONTANNES' => 613,
  213.             '43-LANDOS-CHARBON' => 816.8,
  214.             '43-SAUGUES-SA' => 790.2,
  215.             '44-NANTES-BOUGUENAIS' => 819.5,
  216.             '44-ST NAZAIRE-MONTOIR' => 774.4,
  217.             '45-ORLEANS' => 642.5,
  218.             '46-GOURDON' => 856.7,
  219.             '47-AGEN-LA GARENNE' => 712.2,
  220.             '47-SAINTE-LIVRADE-SUR-LOT' => 757.6,
  221.             '48-ALTIER' => 1188.9,
  222.             '49-BEAUCOUZE' => 693.3,
  223.             '49-MARCE' => 703.2,
  224.             '51-AVIZE' => 694.1,
  225.             '51-REIMS-COURCY' => 628.2,
  226.             '52-LANGRES' => 895.5,
  227.             '52-ST-DIZIER' => 843.7,
  228.             '53-LAVAL-ENTRAMMES' => 740,
  229.             '53-ERNEE' => 847.7,
  230.             '54-NANCY-OCHEY' => 846.4,
  231.             '54-TOUL - ROSIERES' => 761.1,
  232.             '54-NANCY-ESSEY' => 775.1,
  233.             '56-ARZAL' => 837.4,
  234.             '56-BELLE ILE-LE TALUT' => 701.4,
  235.             '56-BIGNAN' => 1010.8,
  236.             '56-PLOERMEL' => 749.7,
  237.             '56-LORIENT-LANN BIHOUE' => 950.9,
  238.             '56-SARZEAU SA' => 708.7,
  239.             '56-VANNES-SENE' => 907.9,
  240.             '57-METZ-FRESCATY' => 757.8,
  241.             '58-NEVERS-MARZY' => 804.1,
  242.             '59-LILLE-LESQUIN' => 742.5,
  243.             '60-BEAUVAIS-TILLE' => 669.4,
  244.             '61-ALENCON' => 746.7,
  245.             '62-BOULOGNE-SEM' => 777.9,
  246.             '62-CAMBRAI-EPINOY' => 711.1,
  247.             '62-CALAIS-MARCK' => 722.6,
  248.             '62-LE-TOUQUET' => 871.9,
  249.             '63-AMBERT' => 873.3,
  250.             '63-CHASTREIX' => 1600,
  251.             '63-CLERMONT-FD' => 578.9,
  252.             '63-ISSOIRE' => 624.2,
  253.             '63-ST-GENES-CHPLLE-INRA' => 796.1,
  254.             '63-ST-GERMAIN-L HE' => 1082.2,
  255.             '64-AICIRITS' => 1216.7,
  256.             '64-BIARRITZ-PAYS-BASQUE' => 1450.9,
  257.             '64-SOCOA' => 1483,
  258.             '64-PAU-UZEIN' => 1069.9,
  259.             '65-CAMPISTROUS' => 1103.2,
  260.             '65-TARBES-LOURDES-PYRENEES' => 1047.4,
  261.             '66-ALENYA-INRA' => 653.7,
  262.             '66-PERPIGNAN' => 557.6,
  263.             '66-STE LEOCADIE' => 567.3,
  264.             '66-TORREILLES' => 556.3,
  265.             '66-VIVES' => 656,
  266.             '67-WANGENBOURG_SAPC' => 1182.8,
  267.             '67-STRASBOURG-ENTZHEIM' => 665,
  268.             '68-COLMAR-INRA' => 573.4,
  269.             '68-GEISHOUSE_SAPC' => 1405.6,
  270.             '68-COLMAR-MEYENHEIM' => 607.3,
  271.             '68-MULHOUSE' => 788.7,
  272.             '68-ROUFFACH - SA' => 629,
  273.             '68-BALE-MULHOUSE' => 772.8,
  274.             '68-TROIS-EPIS_SAPC' => 828,
  275.             '69-LYON-BRON' => 831.9,
  276.             '69-LES SAUVAGES' => 993.8,
  277.             '69-LYON-ST EXUPERY' => 880.9,
  278.             '70-CHARGEY-LES-GRAY' => 862.4,
  279.             '70-FROTEY_SAPC' => 951.3,
  280.             '70-LUXEUIL' => 1051.2,
  281.             '70-VILLERSEXEL SA' => 1065.3,
  282.             '71-AUTUN' => 885.6,
  283.             '71-CHALON-CHAMPFO' => 735.2,
  284.             '71-MACON' => 859.3,
  285.             '71-MATOUR_SAPC' => 1043.7,
  286.             '71-MT-ST-VINCENT' => 929.1,
  287.             '71-ST YAN' => 799.4,
  288.             '72-LE MANS' => 687.5,
  289.             '73-BOURG ST MAURICE' => 985.9,
  290.             '73-CHAMBERY-AIX' => 1221,
  291.             '74-MEYTHET' => 1249.4,
  292.             '75-PARIS-MONTSOURIS' => 637.4,
  293.             '76-ROUEN-BOOS' => 851.7,
  294.             '77-LA BROSSE-MX' => 653.4,
  295.             '77-CHEVRU' => 691.4,
  296.             '77-NANGIS' => 711.1,
  297.             '77-MELUN' => 676.9,
  298.             '77-NEMOURS' => 687.1,
  299.             '77-TORCY' => 721.2,
  300.             '78-MAGNANVILLE' => 628.4,
  301.             '78-ORGERUS' => 565.1,
  302.             '78-TOUSSUS LE NOBLE' => 689.8,
  303.             '78-TRAPPES' => 694.2,
  304.             '78-VILLACOUBLAY' => 675.7,
  305.             '79-NIORT' => 867.2,
  306.             '80-ABBEVILLE' => 782.6,
  307.             '80-AMIENS-GLISY' => 631.2,
  308.             '80-ROUVROY-EN-SANTERRE' => 636.3,
  309.             '80-VRON' => 893.4,
  310.             '81-DOURGNE' => 832.3,
  311.             '81-LAVAUR' => 724.9,
  312.             '81-ALBI' => 730.9,
  313.             '82-MONTAUBAN' => 711.9,
  314.             '83-BORMES LES MIMOSAS' => 917.9,
  315.             '83-LE LUC' => 776.7,
  316.             '83-FREJUS' => 747.3,
  317.             '83-HYERES' => 652,
  318.             '83-HYERES-PLAGE' => 649.1,
  319.             '83-TOULON' => 616.1,
  320.             '84-CABRIERES D\'AVIGNON' => 686.2,
  321.             '84-CARPENTRAS' => 648.2,
  322.             '84-ORANGE' => 709.1,
  323.             '85-L ILE D YEU' => 769.8,
  324.             '85-LA ROCHE SUR YON' => 880.7,
  325.             '86-POITIERS-BIARD' => 685.6,
  326.             '87-EYMOUTIERS' => 1182.1,
  327.             '87-LIMOGES-BELLEGARDE' => 1023.5,
  328.             '87-MAGNAC-LAVAL' => 892.3,
  329.             '87-ST JUNIEN' => 977.6,
  330.             '87-ST YRIEIX LA PE' => 1164.2,
  331.             '88-EPINAL' => 942.4,
  332.             '89-CRUZY_SAPC' => 880.3,
  333.             '89-JOIGNY' => 679.3,
  334.             '89-AUXERRE' => 707.9,
  335.             '90-BELFORT' => 1122.3,
  336.             '91-ORLY' => 616.6,
  337.             '91-BRETIGNY_SAPC' => 621.2,
  338.             '95-LE BOURGET' => 640.7,
  339.             '95-ROISSY' => 693.6,
  340.             '97-LE RAIZET AERO' => 1616.6,
  341.             '97-FORT-DE-FRANCE DESAIX' => 2020.5,
  342.             '97-LAMENTIN-AERO' => 2094.9,
  343.             '97-KOUROU CSG' => 2838.4,
  344.             '97-KOUROU PLAGE' => 2530.3,
  345.             '97-CAYENNE-MATOURY' => 3516.3,
  346.             '97-PONT-MATHURIN' => 684.6,
  347.             '97-PETITE-ILE - CIRAD' => 1433.8,
  348.             '97-LE PORT' => 579.3,
  349.             '97-SAINT-BENOIT' => 3531.5,
  350.             '97-SAINT-DENIS COLLEGE' => 1347.4,
  351.             '97-ST-JOSEPH_SAPC' => 1670.7,
  352.             '97-COLIMACONS' => 1104.4,
  353.             '97-MASCARIN' => 809.4,
  354.             '97-LE GOL LES HAUTS - CIRAD' => 1022.9,
  355.             '97-PITON-MAIDO' => 1286.2,
  356.             '97-POINTE DES TROIS-BASSINS' => 435.8,
  357.             '97-RAVINE DES CABRIS - CIRAD' => 841.3,
  358.             '97-PIERREFONDS - CIRAD' => 672.1,
  359.             '97-PIERREFONDS-AEROPORT' => 639.9,
  360.             '97-LIGNE-PARADIS - CIRAD' => 940.1,
  361.             '97-GILLOT-AEROPORT' => 1658.6,
  362.             '97-PLAINE DES CAFRES' => 2020.2,
  363.             '97-CILAOS' => 1852.7,
  364.             '97-ST-PIERRE' => 1326.7,
  365.             '98-KERGUELEN' => 677.2,
  366.             '98-PAMANDZI' => 1226.1,
  367.             '98-MAOPOOPO' => 3295.5,
  368.             '98-HIHIFO' => 3174.5,
  369.             '98-FAAA' => 1687.7,
  370.             '98-HIVA-OA' => 1699.4,
  371.             '98-RAPA' => 2574.6,
  372.             '98-MATAURA 1' => 1825.7,
  373.             '98-KOUMAC' => 984.8,
  374.             '98-OUANAHAM' => 1674.8,
  375.             '98-NOUMEA' => 1070,
  376.             '98-MAGENTA' => 1088.3,
  377.             '98-LA TONTOUTA' => 897.3,
  378.             '98-POINDIMIE' => 2630.4
  379.         ];
  380.     }
  381.     public function getClimatChoises() {
  382.         return [
  383.             'Climat océanique dégradé (Paris)' => 'Paris',
  384.             'Climat méditerranéen (Marseille)' => 'Marignane',
  385.             'Climat de montagne (Aurillac)' => 'Aurillac',
  386.             'Climat océanique aquitain (Bordeaux)' => 'Bordeaux',
  387.             'Climat océanique nord-ouest (Nantes)' => 'Nantes',
  388.             'Climat semi-continental (Lyon)' => 'Lyon'
  389.         ];
  390.     }
  391.     public function getRendementToitureChoises() {
  392.         return [
  393.             'Toiture dure en pente Kt=0.8' => '0.8',
  394.             'Toiture plate sans gravillon Kt=0.8' => '0.8',
  395.             'Toiture plate revetue de gravillons Kt=0.6' => '0.6',
  396.             'Toiture à végétalisation intensive Kt=0.3' => '0.3',
  397.             'Toiture à végétalisation extensive Kt=0.5' => '0.5',
  398.             'Aire pavée Kt=0.5' => '0.5',
  399.             'Revêtement asphalte Kt=0.8' => '0.8'
  400.         ];
  401.     }
  402.     public function getTypePlanteChoises() {
  403.         return [
  404.             'Gazon Kc=0.8 racines=20cm' => 'Gazon Kc=0.8 racines=20cm',
  405.             'Vivaces Kc=0.2 racines=40cm' => 'Vivaces Kc=0.2 racines=40cm',
  406.             'Arbustes Kc=0.2 racines=70cm' => 'Arbustes Kc=0.2 racines=70cm',
  407.             'Graminees Kc=0.8 racines=80cm' => 'Graminees Kc=0.8 racines=80cm'
  408.         ];
  409.     }
  410.     public function getScenarioUtilisationChoices() {
  411.         return [
  412.             '7 jours sur 7' => '1',
  413.             '5 jours sur 7' => '2',
  414.             'Enseignement' => '3'
  415.         ];
  416.     }
  417.     
  418.     public function getAnneesCalculeesChoices() {
  419.         return [
  420.             '01/01/2020 à 01/12/2024' => '1',
  421.             '01/01/2017 à 01/12/2022' => '2'
  422.         ];
  423.     }
  424.     public function getCertiveaChoices() {
  425.         return [
  426.             true => 'Oui'// true pour "oui"
  427.             false => 'Non' // false pour "non"
  428.         ];
  429.     }
  430.     public function getProfondeurTerreChoices() {
  431.         return [
  432.             'Pleine terre' => '10',
  433.             'Terrasse jardin 1m' => '1',
  434.             'Toiture terrasse 50 cm' => '0.5',
  435.             'Toiture terrasse 20 cm' => '0.2',
  436.             'Toiture terrasse 15 cm' => '0.15',
  437.             'Toiture terrasse 5 cm' => '0.05'
  438.         ];
  439.     }
  440.     public function getRuChoices() {
  441.         return [
  442.             'Sable grossier' => '40',
  443.             'Sable moyen' => '70',
  444.             'Sable fin' => '85',
  445.             'Limono - sableux' => '90',
  446.             'Sablo-limoneuse' => '100',
  447.             'Sablo - limoneux fin' => '130',
  448.             'Sablo - limoneux très fin' => '150',
  449.             'Argilo-sableuse' => '170',
  450.             'Argilo - limono - sableux' => '180',
  451.             'Limono – argilo - sableux' => '165',
  452.             'Limoneux' => '180',
  453.             'Sablo - argileux' => '140',
  454.             'Sablo – limono - argileux' => '150',
  455.             'Limono - argileux' => '200',
  456.             'Argileux' => '185'
  457.         ];
  458.     }
  459.     public function configureOptions(OptionsResolver $resolver): void {
  460.         $resolver->setDefaults([
  461.                 // Configure your form options here
  462.         ]);
  463.     }
  464.     
  465.     public function getStationAPIChoices() {
  466.         return [
  467.             '01-AMBERIEU' => '01089001',
  468.             '01-CESSY' => '01071001',
  469.             '01-SUTRIEU' => '01414001',
  470.             '02-ST QUENTIN' => '02320001',
  471.             '02-BRAINE' => '02110002',
  472.             '02-FONTAINE-LES-VV' => '02321002',
  473.             '03-VICHY-CHARMEIL' => '03060001',
  474.             '03-LURCY-LEVIS SA' => '03155003',
  475.             '03-MONTBEUGNY' => '03180001',
  476.             '03-MONTLUCON' => '03185007',
  477.             '03-ST-NICOLAS' => '03248001',
  478.             '04-ST AUBAN' => '04049001',
  479.             '05-EMBRUN' => '05046001',
  480.             '05-GAP' => '05061009',
  481.             '05-LARAGNE MONTEGLIN' => '05070003',
  482.             '05-ST JEAN-ST-NICOLAS' => '05145002',
  483.             '05-VILLAR ST PANCRACE' => '05183001',
  484.             '06-CANNES' => '06029001',
  485.             '06-NICE' => '06088001',
  486.             '06-PEONE' => '06094002',
  487.             '07-COLOMBIER JEUNE RAD' => '07068001',
  488.             '07-GLUIRAS RAD' => '07096001',
  489.             '07-LANAS SYN' => '07131001',
  490.             '07-MAZAN ABBAYE RAD' => '07154005',
  491.             '08-CHARLEVILLE-MEZ' => '08105005',
  492.             '08-ROCROI' => '08367002',
  493.             '08-SAULCES-CHAMPENOISES' => '08401001',
  494.             '09-ASTON' => '09024004',
  495.             '09-MONTAUT' => '09199002',
  496.             '09-ST GIRONS' => '09289001',
  497.             '10-TROYES-BARBEREY' => '10030001',
  498.             '10-MATHAUX-ETAPE' => '10228002',
  499.             '11-CARCASSONNE' => '11069001',
  500.             '11-LEZIGNAN-CORBIERES' => '11203004',
  501.             '11-MOUTHOUMET' => '11260002',
  502.             '12-MILLAU' => '12145001',
  503.             '12-RODEZ-AVEYRON' => '12254001',
  504.             '12-VILLEFRANCHE-DE-ROUERGUE' => '12300004',
  505.             '13-MARIGNANE' => '13054001',
  506.             '13-AIX EN PROVENCE' => '13001009',
  507.             '13-ARLES' => '13004003',
  508.             '14-BERNIERES' => '14066001',
  509.             '14-CAEN-CARPIQUET' => '14137001',
  510.             '14-DAMBLAINVILLE' => '14216001',
  511.             '14-ST GATIEN DES B' => '14578001',
  512.             '14-VIRE HIPPODROME' => '14762004',
  513.             '15-AURILLAC' => '15014004',
  514.             '15-COLTINES' => '15053001',
  515.             '15-MARCENAT' => '15114002',
  516.             '15-MAURS' => '15122002',
  517.             '16-COGNAC' => '16089001',
  518.             '16-LA COURONNE' => '16113001',
  519.             '16-MONTEMBOEUF' => '16225001',
  520.             '16-RIOUX MARTIN' => '16279001',
  521.             '16-TUSSON' => '16390001',
  522.             '17-NUAILLE SUR BOUTONNE' => '17268002',
  523.             '17-LA ROCHELLE-ILE DE RE' => '17300009',
  524.             '17-ROYAN-MEDIS' => '17306004',
  525.             '17-CHASSIRON' => '17323001',
  526.             '17-ST GERMAIN DE LUSIGNAN' => '17339002',
  527.             '17-SAINTES' => '17415003',
  528.             '18-BOURGES' => '18033001',
  529.             '18-AVORD' => '18092001',
  530.             '19-BRIVE' => '19031008',
  531.             '19-EGLETONS' => '19073006',
  532.             '20-AJACCIO' => '20004002',
  533.             '20-CALVI' => '20050001',
  534.             '20-CORTE' => '20096008',
  535.             '20-FIGARI' => '20114002',
  536.             '20-BASTIA' => '20148001',
  537.             '20-SOLENZARA' => '20342001',
  538.             '21-PAGNY-LE-CHATEAU' => '21131001',
  539.             '21-CHATILLON/SEINE' => '21154001',
  540.             '21-DIJON-LONGVIC' => '21473001',
  541.             '22-KERPERT' => '22092001',
  542.             '22-PLOUGUENAST' => '22219003',
  543.             '22-POMMERIT-JAUDY' => '22247002',
  544.             '22-QUINTENIC' => '22261002',
  545.             '22-ROSTRENEN' => '22266001',
  546.             '22-SAINT-CAST-LE-G' => '22282001',
  547.             '22-ST BRIEUC' => '22372001',
  548.             '23-BOURGANEUF' => '23030004',
  549.             '23-GUERET-ST LAURENT' => '23206002',
  550.             '24-BELVES' => '24035003',
  551.             '24-BERGERAC' => '24037005',
  552.             '24-COULOUNIEIX' => '24138004',
  553.             '24-ST MARTIAL VIVEYROLS' => '24452001',
  554.             '25-BESANCON' => '25056001',
  555.             '25-MAICHE' => '25356003',
  556.             '25-PONTARLIER' => '25462001',
  557.             '25-SANCEY-LE-GRAND' => '25529002',
  558.             '26-ALBON' => '26002003',
  559.             '26-BESIGNAN' => '26050001',
  560.             '26-VALENCE-CHABEUI' => '26064001',
  561.             '26-ETOILE' => '26124001',
  562.             '26-LUS L CROIX HTE' => '26168001',
  563.             '26-MONTELIMAR' => '26198001',
  564.             '26-ST-AUBAN' => '26292002',
  565.             '26-ST ROMAN-DIOIS' => '26327001',
  566.             '27-BERNAY' => '27056003',
  567.             '27-EVREUX-HUEST' => '27347001',
  568.             '28-CHARTRES' => '28070001',
  569.             '28-CHATEAUDUN' => '28198001',
  570.             '29-BREST-GUIPAVAS' => '29075001',
  571.             '29-LANVEOC' => '29120001',
  572.             '29-PLEYBER-CHRIST SA' => '29163003',
  573.             '29-PLOUDALMEZEAU' => '29178001',
  574.             '29-PLOVAN' => '29214001',
  575.             '29-QUIMPER' => '29216001',
  576.             '29-ST-SEGAL S A' => '29263002',
  577.             '29-LANDIVISIAU' => '29264001',
  578.             '29-SIBIRIL S A' => '29276001',
  579.             '30-LA GRAND COMBE' => '30132004',
  580.             '30-MEJANNES-LE-CLAP' => '30164001',
  581.             '30-NIMES-COURBESSAC' => '30189001',
  582.             '30-PUJAUT' => '30209002',
  583.             '31-TOULOUSE-BLAGNAC' => '31069001',
  584.             '31-LUCHON' => '31042012',
  585.             '31-CLARAC' => '31147001',
  586.             '31-MURET-LHERM' => '31299001',
  587.             '31-ST-FELIX-LAURAGAIS' => '31478001',
  588.             '32-AUCH' => '32013005',
  589.             '32-LE HOUGA' => '32155001',
  590.             '32-MAUROUX' => '32248001',
  591.             '32-PEYRUSSE-GRANDE' => '32315001',
  592.             '33-BORDEAUX-MERIGNAC' => '33281001',
  593.             '33-CAZAUX' => '33529001',
  594.             '33-BELIN BELIET' => '33042005',
  595.             '33-PAUILLAC' => '33314005',
  596.             '33-ST EMILION' => '33394002',
  597.             '34-MONTPELLIER-AEROPORT' => '34154001',
  598.             '34-SETE' => '34301002',
  599.             '34-PEZENAS-TOURBES' => '34311001',
  600.             '35-LOUVIGNE-DU-DESERT' => '35162003',
  601.             '35-LA-NOE-BLANCHE' => '35202001',
  602.             '35-DINARD' => '35228001',
  603.             '35-RENNES-ST JACQUES' => '35281001',
  604.             '36-CHATEAUROUX DEOLS' => '36063001',
  605.             '36-MONTGIVRAY' => '36127002',
  606.             '36-ROSNAY' => '36173002',
  607.             '37-TOURS' => '37179001',
  608.             '37-SAVIGNY - VERON' => '37242002',
  609.             '38-ALPE-D\'HUEZ' => '38191002',
  610.             '38-GRENOBLE-ST GEOIRS' => '38384001',
  611.             '38-VILLARD-DE-LANS' => '38548001',
  612.             '39-LONS LE SAUNIER' => '39362001',
  613.             '39-LA PESSE' => '39413001',
  614.             '39-ST JULIEN - SA' => '39485002',
  615.             '39-TAVAUX SA' => '39526003',
  616.             '40-BISCARROSSE' => '40046001',
  617.             '40-CAPBRETON' => '40065002',
  618.             '40-DAX' => '40088001',
  619.             '40-MONT-DE-MARSAN' => '40192001',
  620.             '40-SABRES' => '40246003',
  621.             '40-URGONS' => '40321002',
  622.             '41-ROMORANTIN' => '41097001',
  623.             '41-BLOIS' => '41281001',
  624.             '42-ST ETIENNE-BOUTHEON' => '42005001',
  625.             '43-LE PUY-CHADRAC' => '43046001',
  626.             '43-LE PUY-LOUDES' => '43062001',
  627.             '43-FONTANNES' => '43096001',
  628.             '43-LANDOS-CHARBON' => '43111002',
  629.             '43-MAZET-VOLAMONT' => '43130002',
  630.             '43-SAUGUES-SA' => '43234005',
  631.             '44-NANTES-BOUGUENAIS' => '44020001',
  632.             '44-ST NAZAIRE-MONTOIR' => '44103001',
  633.             '44-NORT-SUR-ERDRE' => '44110002',
  634.             '45-ORLEANS' => '45055001',
  635.             '45-VILLEMURLIN' => '45340002',
  636.             '46-GOURDON' => '46127001',
  637.             '46-LUNEGARDE' => '46181001',
  638.             '46-LE MONTAT' => '46197002',
  639.             '47-AGEN-LA GARENNE' => '47091001',
  640.             '47-MAUVEZIN-SUR-GUPIE' => '47163001',
  641.             '48-MENDE' => '48095005',
  642.             '49-BEAUCOUZE' => '49020001',
  643.             '49-CHOLET' => '49099003',
  644.             '49-MARTIGNE-BRIAND' => '49191001',
  645.             '50-GONNEVILLE' => '50209001',
  646.             '50-GOUVILLE' => '50215002',
  647.             '50-PONTORSON' => '50410003',
  648.             '50-STE MARIE DU MO' => '50509002',
  649.             '51-ARGERS' => '51015001',
  650.             '51-REIMS-PRUNAY' => '51449002',
  651.             '52-LANGRES' => '52269001',
  652.             '52-ST-DIZIER' => '52448001',
  653.             '52-CHAUMONT-SEMOUTIERS' => '52469001',
  654.             '53-ERNEE' => '53096004',
  655.             '53-LE HORPS' => '53116003',
  656.             '53-LAVAL-ETRONNIER' => '53130008',
  657.             '54-ST MAURICE' => '54481001',
  658.             '54-NANCY-ESSEY' => '54526001',
  659.             '55-COUROUVRE' => '55129001',
  660.             '55-HOUDELAINCOURT' => '55248001',
  661.             '55-NONSARD' => '55386002',
  662.             '55-SEPTSARGES' => '55484001',
  663.             '56-BIGNAN' => '56017003',
  664.             '56-PLOERMEL' => '56165003',
  665.             '56-LORIENT-LANN BIHOUE' => '56185001',
  666.             '56-VANNES-SENE' => '56243001',
  667.             '57-METZ-FRESCATY' => '57039001',
  668.             '57-AEROPORT METZ-NANCY-LORRAINE' => '57251001',
  669.             '57-SEINGBOUSE' => '57644001',
  670.             '58-AVREE' => '58019001',
  671.             '58-CHATEAU CHINON' => '58062001',
  672.             '58-NEVERS-MARZY' => '58160001',
  673.             '58-PREMERY' => '58218006',
  674.             '59-LILLE-LESQUIN' => '59343001',
  675.             '59-VALENCIENNES' => '59606004',
  676.             '60-BAILLEUL-LE-SOC' => '60040001',
  677.             '60-CREIL' => '60175001',
  678.             '60-BEAUVAIS-TILLE' => '60639001',
  679.             '61-ALENCON' => '61001001',
  680.             '61-FLERS' => '61169003',
  681.             '61-L AIGLE' => '61214002',
  682.             '62-LILLERS' => '62516002',
  683.             '62-CALAIS-MARCK' => '62548002',
  684.             '62-LE-TOUQUET' => '62826001',
  685.             '62-ARRAS' => '62873001',
  686.             '63-AMBERT' => '63003004',
  687.             '63-CHASTREIX' => '63098001',
  688.             '63-CLERMONT-FD' => '63113001',
  689.             '63-COURPIERE' => '63125002',
  690.             '63-ISSOIRE' => '63178001',
  691.             '63-ST-ANTHEME' => '63319002',
  692.             '63-ST-GERMAIN-L HE' => '63353003',
  693.             '63-ST-GERVAIS-D AU' => '63354004',
  694.             '63-ST-SULPICE' => '63399002',
  695.             '64-AICIRITS' => '64010002',
  696.             '64-BIARRITZ-PAYS-BASQUE' => '64024001',
  697.             '64-BUSTINCE - ST JEAN' => '64155001',
  698.             '64-IRATY ORGAMBIDE' => '64316003',
  699.             '64-ORTHEZ' => '64430003',
  700.             '64-PAU-UZEIN' => '64549001',
  701.             '65-CAMPISTROUS' => '65125001',
  702.             '65-CASTELNAU MAGNOAC' => '65129003',
  703.             '65-TARBES-LOURDES-PYRENEES' => '65344001',
  704.             '65-VIC EN BIGORRE' => '65460002',
  705.             '66-PERPIGNAN' => '66136001',
  706.             '66-TARGASONNE' => '66202001',
  707.             '66-TORREILLES' => '66212001',
  708.             '67-BERG' => '67029001',
  709.             '67-STRASBOURG-ENTZHEIM' => '67124001',
  710.             '67-SELESTAT SA' => '67462004',
  711.             '68-COLMAR-MEYENHEIM' => '68205001',
  712.             '68-MULHOUSE' => '68224006',
  713.             '68-MARKSTEIN CRETE' => '68247003',
  714.             '68-BALE-MULHOUSE' => '68297001',
  715.             '69-LYON-BRON' => '69029001',
  716.             '69-LES SAUVAGES' => '69174002',
  717.             '69-LYON-ST EXUPERY' => '69299001',
  718.             '70-CHARGEY-LES-GRAY' => '70132001',
  719.             '70-BALLON DE SERVANCE' => '70283006',
  720.             '70-LUXEUIL' => '70473001',
  721.             '70-VILLERSEXEL SA' => '70561002',
  722.             '71-AUTUN' => '71014004',
  723.             '71-CHALON-CHAMPFO' => '71081001',
  724.             '71-MACON' => '71105001',
  725.             '71-MT-ST-VINCENT' => '71320001',
  726.             '71-ST YAN' => '71491001',
  727.             '72-LUCHE-PRINGE' => '72175002',
  728.             '72-LE MANS' => '72181001',
  729.             '72-ROUESSE-VASSE' => '72255001',
  730.             '73-BOURG ST MAURICE' => '73054001',
  731.             '73-COL-DES-SAISIES' => '73132003',
  732.             '73-MONT CENIS' => '73144001',
  733.             '73-MONTMELIAN' => '73171002',
  734.             '73-LA MASSE' => '73257003',
  735.             '73-CHAMBERY-AIX' => '73329001',
  736.             '74-LE GRAND-BORNAND' => '74136005',
  737.             '74-MEYTHET' => '74182001',
  738.             '74-MONT ARBOIS' => '74236002',
  739.             '75-PARIS-MONTSOURIS' => '75114001',
  740.             '75-LONGCHAMP' => '75116008',
  741.             '76-ROUEN-BOOS' => '76116001',
  742.             '76-DIEPPE' => '76217001',
  743.             '76-ECTOT LES BAONS' => '76228001',
  744.             '76-OCTEVILLE' => '76481001',
  745.             '77-CHANGIS' => '77084001',
  746.             '77-CHEVRU' => '77113002',
  747.             '77-NANGIS' => '77211001',
  748.             '77-MELUN' => '77306001',
  749.             '77-TORCY' => '77468001',
  750.             '78-TRAPPES' => '78621001',
  751.             '78-VILLACOUBLAY' => '78640001',
  752.             '78-ACHERES' => '78005002',
  753.             '78-MAGNANVILLE' => '78354001',
  754.             '79-BRESSUIRE' => '79049004',
  755.             '79-MELLE' => '79174002',
  756.             '79-NIORT' => '79191005',
  757.             '80-ABBEVILLE' => '80001001',
  758.             '80-AMIENS-GLISY' => '80379002',
  759.             '81-LAVAUR' => '81140002',
  760.             '81-MONTREDON-LABESSONNIE' => '81182004',
  761.             '81-ALBI' => '81284001',
  762.             '82-CASTELSARRASIN' => '82033005',
  763.             '82-MONTAUBAN' => '82121002',
  764.             '82-SAVENES' => '82178002',
  765.             '83-BORMES LES MIMOSAS' => '83019002',
  766.             '83-LE LUC' => '83031001',
  767.             '83-FREJUS' => '83061001',
  768.             '83-ILE DU LEVANT' => '83069003',
  769.             '83-TOULON' => '83137001',
  770.             '83-VINON SUR VERDON' => '83150002',
  771.             '84-CABRIERES D\'AVIGNON' => '84025001',
  772.             '84-CARPENTRAS' => '84031001',
  773.             '84-ORANGE' => '84087001',
  774.             '84-VISAN' => '84150001',
  775.             '85-CHATEAU-D\'OLONNE' => '85060002',
  776.             '85-FONTENAY' => '85092004',
  777.             '85-L ILE D YEU' => '85113001',
  778.             '85-NOIRMOUTIER EN' => '85163001',
  779.             '85-LE PERRIER' => '85172001',
  780.             '85-LA ROCHE SUR YON' => '85191003',
  781.             '86-ARCHIGNY' => '86009001',
  782.             '86-POITIERS-BIARD' => '86027001',
  783.             '86-CIVRAY' => '86078002',
  784.             '86-LOUDUN' => '86137003',
  785.             '86-MONTMORILLON' => '86165005',
  786.             '87-LIMOGES-BELLEGARDE' => '87085006',
  787.             '87-ST YRIEIX LA PE' => '87187003',
  788.             '88-BAN-DE-SAPT' => '88033002',
  789.             '88-EPINAL' => '88136001',
  790.             '88-LIGNEVILLE' => '88271001',
  791.             '88-ROVILLE' => '88402002',
  792.             '89-AUXERRE-PERRIGNY' => '89295001',
  793.             '91-ORLY' => '91027002',
  794.             '95-LE BOURGET' => '95088001',
  795.             '95-ROISSY' => '95527001',
  796.             '95-WY-DIT' => '95690001',
  797.             '971-LE RAIZET AERO' => '97101015',
  798.             '971-CAPESTERRE-B-EAU NEUFCHATEAU' => '97107002',
  799.             '971-LA DESIRADE METEO' => '97110002',
  800.             '971-ST-BARTHELEMY METEO' => '97123001',
  801.             '971-STE-ROSE VIARD' => '97129015',
  802.             '972-FOND-DENIS-CADET' => '97208001',
  803.             '972-FORT-DE-FRANCE DESAIX' => '97209004',
  804.             '972-FRANCOIS-CHOPOT' => '97210001',
  805.             '972-LAMENTIN-AERO' => '97213004',
  806.             '972-ROBERT-PTE FORT' => '97222002',
  807.             '972-ST-JOSEPH LEZARD' => '97224004',
  808.             '972-TRINITE-CARAVEL' => '97230001',
  809.             '972-VAUCLIN' => '97232003',
  810.             '973-CAYENNE SUZINI' => '97302005',
  811.             '973-CAYENNE-MATOURY' => '97307001',
  812.             '973-SAINT GEORGES' => '97308001',
  813.             '973-SAINT LAURENT' => '97311001',
  814.             '974-BELLEVUE BRAS-PANON' => '97402240',
  815.             '974-PONT-MATHURIN' => '97404540',
  816.             '974-PLAINE DES PALMISTES' => '97406220',
  817.             '974-LE PORT' => '97407520',
  818.             '974-LE COLOSSE' => '97409230',
  819.             '974-SAINT-BENOIT' => '97410238',
  820.             '974-COLIMACONS' => '97413520',
  821.             '974-PETITE-FRANCE' => '97415536',
  822.             '974-PITON-MAIDO' => '97415566',
  823.             '974-POINTE DES TROIS-BASSINS' => '97415590',
  824.             '974-PIERREFONDS-AEROPORT' => '97416463',
  825.             '974-LE BARIL' => '97417360',
  826.             '974-GILLOT-AEROPORT' => '97418110',
  827.             '974-GROS PITON SAINTE-ROSE' => '97419350',
  828.             '974-BELLECOMBE-JACOB' => '97419380',
  829.             '974-PLAINE DES CAFRES' => '97422440',
  830.             '974-CILAOS' => '97424410'
  831.         ];
  832.     }
  833.     
  834.     
  835. }