#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Jun 16 16:12:38 2017

@author: lolo
"""
import random
from random import uniform



import sqlite3

conn = sqlite3.connect('Population.db')
cur = conn.cursor()






  


#List of the station

station = ["Aach",
"Aadorf",
"Aadorf / Tänikon",
"Aarau-Unterentfelden",
"Aarberg",
"Aarberg",
"Aarburg",
"Aarebrücke",
"Aarebrücke 5",
"Aatalbrücke"
"Aatal Höhe",
"Abachweiherbrücke",
"Abbeville",
"Abschwung",
"Acheriwald",
"Ackersand Stalden",
"Acquarossa / Cima del Simano",
"Acquarossa / Comprovasco",
"Acquarossa / Piano del Simano",
"Adelboden",
"Adelboden",
",Adula"
"Aesch",
"Aesch",
"Aesch BL",
"Aesch BL",
"Aeugst am Albis",
"Affeltrangen",
"Affoltern",
"Affoltern im Emmental",
"Affoltern im Emmental",
"Agen",
"Aguagliouls",
"Ahorn / Kammenhütte",
"Aigle",
"Airolo",
"Airolo",
"Airolo",
"Airolo / Poncione di Löita",
"Ajaccio",
"Alberswil",
"Albert Heim Hütte SAC",
"Albi",
"Albstadt",
"Albula Hospiz",
"Alchenflüh",
"Alencon",
"Aletschwald",
"Alfermée",
"Alistro",
"Allalingletscher",
"Allenwinden",
"Allenwinden",
"Allerheiligenberg",
"Allières / Chenau",
"Allières / Vanil des Artses",
"Allmend",
"Alp Cugn",
"Alpe di Castello",
"Alpe di Piora",
"Alpe Froda",
"Alpe Lünersee",
"Alpe Predasca",
"Alpe Quadrella",
"Älpetlistock",
"Alp Grüm",
"Alpnach",
"Alp Nadels",
"Alp Naustgel",
"Alp Novai",
"Alp Sutglatscher",
"Alptal Bestand",
"Alpthal",
"Altdorf",
"Altdorf",
"Altenrhein",
"Altheim",
"Altkirch",
"Altmatt",
"Altnau",
"Altomünster",
"Altstätten / Isenriet",
"Altstätten, SG",
"Altstätten / Stossberg",
"Alvaneu-Dorf",
"Amden",
"Amden / Bärenfall",
"Amden / Mattstock",
"Amerang / Pfaffing",
"Amriswil",
"Amriswil",
"Amsoldingen",
"Amsteg",
"Andeer",
"Andeer",
"Andeer",
"Andelfingen",
"Andenes",
"Andermatt",
"Anières",
"Anniviers / Corne de Sorebois",
"Anniviers / Orzival",
"Anniviers / Tracuit",
"Antagnes",
"Anzère",
"Aosta",
"Aosta",
"Appenzell",
"Appenzell",
"Apples",
"Arbaz, Val. Sionne / Crêta Besse",
"Arbaz, Val. Sionne / Donin du Jour",
"Arbon",
"Arbon Süd",
"Arenenberg",
"Arenenberg-Ermatingen",
"Areuse",
"Arisdorf",
"Arlesheim",
"Arnex-sur-Orbe / Nozon",
"Arni-Islisberg",
"Arogno",
"Arolla",
"Arolla",
"Arolla",
"Arolla / Bréona",
"Arolla / La Cassorte",
"Arolla / Les Fontanesses",
"Arosa",
"Arosa",
"Arosa",
"Arosa / Tschuggen",
"Arosio",
"Arth",
"Attelwil",
"Attenkam",
"Attikon",
"Attikon Brücke, Frauenfeld",
"Au bei Fischingen TG",
"Auch",
"Auen",
"Auen-Linthal",
"Auf dem Hagen",
"Augsburg",
"Augst BL",
"Aulus les Bains",
"Aurigeno",
"Aurillac",
"Auris-en-Oisans",
"Ausfahrt Flamatt",
"Autrans-Nivo",
"Auxerre",
"Avancon",
"Avenches",
"Avenches / IENA",
"Avenches VNA",
"Avers am Bach",
"Avord",
"Avry 3",
"Azmoos",
"Baar",
"Bachtel",
"Baden",
"Baden",
"Baden-Baden / Geroldsau",
"Bad Kohlgrub",
"Bad Ragaz",
"Bad Ragaz",
"Bad Ragaz",
"Bad Schwendi",
"Bad Wildbad",
"Bâle-Mulhouse (ehemalige Station)",
"Ballaigues",
"Ballens",
"Balmberg",
"Balsthal",
"Baltschiedertal",
"Balzenwil, AG",
"Bantiger",
"Barberine",
"Barenberg",
"Bargen",
"Bargen 1",
"Bargen, SH",
"Barmelweid",
"Barrage Grande Dixence",
"Bärschwil",
"Basel",
"Basel / Binningen",
"Basel-Binningen",
"Basel-Stadt",
"Bassersdorf / Brunnbach",
"Bastia",
"Baulmes",
"Baulmes",
"Baulmes",
"Bauma",
"Bauma",
"Bauma",
"Bavois",
"Beatenberg",
"Beatenberg Bestand",
"Beatenberg Freiland",
"Beaucouzé",
"Beauvais-Tille",
"Becca d'Audon",
"Beckenried",
"Bedretto",
"Bedretto / Cassinello",
"Bedretto / Cavanna",
"Bedretto / Lucendro",
"Befang b. Hundwil",
"Begnins",
"Belalp",
"Belchen",
"Bellelay",
"Bellelay",
"Bellinzona",
"Belp",
"Bennwil BL",
"Bercher",
"Berg",
"Bergamo / Orio al Serio",
"Bergbachviadukt 1",
"Bergdietikon",
"Bergerac",
"Bergün",
"Bergün / Latsch",
"Beringen",
"Beringen, SH",
"Berlin / Schönefeld",
"Berlin / Tegel",
"Bermudadreieck",
"Bern",
"Bern-Belpmoos",
"Bern-Bollwerk",
"Berneck-Feuerbrand",
"Berneck-Indermaur",
"Bernerhöhe",
"Bernex",
"Bernex / Lully",
"Bernina-Curtinatsch",
"Bernina / Lagalb",
"Bernina / Motta Bianca",
"Berninapass",
"Bernina / Puoz Bass",
"Bernina-Suot",
"Bern / Zollikofen",
"Beromünster",
"Bettlachstock Bestand",
"Bettlachstock Freiland",
"Bever",
"Bever / Cho d'Valetta",
"Bever / Valetta",
"Bex",
"Bex, Avançon",
"Beznau",
"Beznau",
"Biarritz-Anglet",
"Biasca",
"Biasca",
"Biasca A2",
"Biasca / Pontirone",
"Biasca Sud",
"Bibern",
"Bibersee",
"Biel",
"Biel/Bienne",
"Biel / Bözingen",
"Bieler Höhe",
"Bière",
"Biet",
"Bignasco, TI",
"Bilten",
"Bilten / Marche",
"Binn",
"Binn",
"Binn, VS",
"Bioggio",
"Birmensdorf",
"Birmensdorf",
"Birmenstorf",
"Birrwil",
"Biscarrosse",
"Bischofszell",
"Bisisthal",
"Bisisthal",
"Bivio",
"Blacksod Point",
"Blatten, Lötschental",
"Blattli/Oberhof",
"Blinnen",
"Blonay",
"Blumenstein",
"Bochuz, Orbe",
"Böckten",
"Boiron",
"Bôle, NE",
"Boltigen",
"Boltigen",
"Bolzano",
"Bonau",
"Bondo GR",
"Bonello",
"Bönigen",
"Bordeaux Merignac",
"Bosco-Gurin",
"Bosco Gurin / Hendar Furggu",
"Bosco Gurin / Martschenspitz",
"Boudevilliers",
"Boudry",
"Boudry",
"Boudry",
"Boulogne",
"Bouquetins",
"Bourges",
"Bourg-St-Pierre",
"Bourg-St-Pierre",
"Bourg-St-Pierre",
"Bouveret",
"Bouveret",
"Bovalhütte SAC",
"Braggio",
"Braunau",
"Braunau / Oberhof",
"Brauneck Bergstation",
"Braunwald",
"Braunwald",
"Bregenz (ehemalige Station)",
"Breil Tumpiv / Piz Tumpiv",
"Breil Tumpiv / Val Miez",
"Breitenhof",
"Breitenhof BL",
"Breitmoos",
"Bremen",
"Bremgarten",
"Bréona",
"Brescia / Ghedi",
"Brest",
"Bricola",
"Brienz",
"Brienz",
"Brienz / Brienzer Rothorn",
"Brienz / Rotschalp",
"Brienzwiler",
"Brig",
"Brindisi",
"Brissago",
"Bristen",
"Brive",
"Broc / Usine",
"Bruchji",
"Brücke Hüllistein",
"Brücke Jonerbach",
"Brücke Linde",
"Brücke Schmerikon",
"Bruderholz",
"Brugg",
"Brugg-Wildegg",
"Brüglen",
"Brülisau",
"Brünig",
"Brünigpass",
"Brünnen",
"Brusio",
"Brusio-Piazzo",
"Brusio-Piazzo",
"Bruson",
"Bruyère",
"Bruzella",
"Büchel",
"Buchen",
"Buchenbach",
"Buchholzbrücke",
"Buchrain",
"Buchrain",
"Buchs",
"Buchs",
"Buchs / Aarau",
"Buchs AG",
"Buch, SH",
"Buchs SG",
"Buchs SG",
"Buffalora",
"Bülach",
"Bülach",
"Bülach Nord",
"Bullet / La Frétaz",
"Buochs",
"Burgdorf",
"Burgdorf / Buchmatt",
"Burgdorf / Einschlag",
"Burgdorf / Viehmarktplatz",
"Bürgenstock",
"Burtigny",
"Buttisholz",
"Cabane des Diablerets",
"Cabbio",
"Cadenazzo",
"Caen-Carpiquet",
"Calvi",
"Camadra di Dentro",
"Camedo",
"Camedo",
"Camignolo",
"Camorino",
"Campo Blenio",
"Campocologno",
"Campolungo / Fontane",
"Campolungo / Tremorgio",
"Campo Maggia",
"Campo Vallemaggia",
"Canada",
"Canigou",
"Canobbio",
"Cap Bear",
"Cap Cepet",
"Cap Corse",
"Cap-de-la-Hève",
"Cap Pertusato",
"Carcassonne",
"Carena",
"Carpentras",
"Carro",
"Cartigny",
"Casaccia",
"Castasegna",
"Cavaglia",
"Cavaglia",
"Cavagnoli Diga",
"Cavazza",
"Cavergno Bignasco",
"Cazis",
"CE Cressier",
"Celerina Bestand",
"Celerina Freiland",
"Centre Blecherette",
"Centre Bursins",
"Centre Rennaz",
"Cernier",
"Cernier",
"Cevio",
"Cevio-Cavergno",
"Châbles",
"Chalais",
"Chalet du Villars",
"Cham",
"Cham",
"Cham",
"Chambach",
"Chambrelien",
"Champagne",
"Champéry",
"Champéry",
"Champ-Fahy",
"Champ-Monsieur (Chaumont II)",
"Champorcher",
"Chamrousse Arselle",
"Chandel M/13",
"Chanéaz",
"Changins",
"Changins",
"Chardonne",
"Charleville-Mez",
"Chartres",
"Chasseral",
"Chasseron",
"Château d'Oex",
"Château-d'Oex",
"Château-d'Oex",
"Châteauneuf",
"Chateauroux",
"Chaumont",
"Chaumont",
"Chaumont / Bosset",
"Chaussy / La Para",
"Chaussy / Pierres Fendues",
"Chavornay",
"Chemin de Paille (Chaumont I)",
"Chêne-Bougeries / Grange-Falquet",
"Chêne-Bourg / Mirany",
"Chéserex",
"Chessel",
"Chessy",
"Chevenez",
"Chevrier",
"Chexbres",
"Chiasso",
"Chiggiogna",
"Chipferweidli",
"Chippis",
"Chironico",
"Chironico Bestand",
"Chironico Freiland",
"Chli Speer",
"Choëx",
"Chrauchtal",
"Chreialp",
"Chrindi",
"Chrüzegg",
"Chupiailles",
"Chur",
"Chur",
"Chur",
"Chuttelbad",
"Cimetta",
"Claridenhütte SAC",
"Clermont-FD",
"Cleuson",
"Cluozza Blockhaus",
"Clusanfe",
"Cognac",
"Col Agnel",
"Col de Bretaye",
"Col de Porte -CEN-",
"Col de Riedmatten",
"Col des Mosses",
"Col de Tenneverge",
"Col d'Orny",
"Coldrerio",
"Col du Grand St-Bernard",
"Colla",
"Comano",
"Combe-Garot",
"Compesières",
"Comprovasco / Motto",
"Conthey",
"Conthey / Etang de Trente Pas",
"Convers",
"Corcelles-sur-Chavornay",
"Corcelles-sur-Chavronay",
"Cornallaz",
"Corse Sponde",
"Corvatsch",
"Cossonay",
"Cossonay",
"Côte de Chaux sud",
"Cotterg",
"Courtelary",
"Courtepin",
"Couvet",
"Couvet",
"Cramosina",
"Crana-Torricella",
"Crans-près-Céligny",
"Crapet Prassignola",
"Crap Masegn",
"Crap Masegn",
"Creil",
"Cressier",
"Cressier",
"Crêt de l'Anneau P",
"Crettaz",
"Crissier",
"Croix-de-Rozon",
"Crotta",
"Cugnasco",
"Cully",
"Curaglia",
"Daillard",
"Dardagny",
"Därligen 1",
"Därligen 1",
"Därligen 2",
"Därligen 2",
"Därstetten",
"Dauberhorn",
"Davos",
"Davos / Bärentälli",
"Davos / Chrachenhorn",
"Davos-Dorf",
"Davos / Hanengretji",
"Davos / Parsenn",
"Davos / Seehornwald",
"Davos / Stilli",
"Davos / Weissfluhjoch",
"Davos-Wolfgang",
"Dax",
"Degersheim",
"Degersheim",
"Deggenhausertal",
"Delémont",
"Delémont I",
"Delémont II",
"Delley",
"Den Helder",
"Derborence",
"Dettighofen",
"Dézaley",
"Diavolezza-Talstation",
"Dielsdorf",
"Dieppe",
"Diesbach",
"Diessenhofen",
"Diessenhofen",
"Diessenhofen",
"Dietikon",
"Dillingen",
"Dischma",
"Disentis",
"Disentis II",
"Disentis / Sedrun",
"Distentis / Lumpegna",
"Doggen-Benken",
"Domat / Ems",
"Dombresson",
"Donaueschingen",
"Dornach",
"Dosso Bello",
"Dötra / Costa",
"Dötra / Preda",
"Döttingen",
"Dresden / Klotzsche",
"Drusberg (Chalbergrat)",
"Drussetscha",
"Dt.Blanche (Bricola)",
"Dübendorf",
"Dübendorf / Giessen",
"Düdingen",
"Dunkerque",
"Durchlass Staffelriefkanal",
"Durnand",
"Dürrenbach",
"Düsseldorf",
"Dussnang",
"Ebenrain",
"Ebersberg",
"Ebertswil Hausen",
"Ebikon",
"Ebnat-Kappel",
"Echallens",
"Edlibach",
"Effingen",
"Effretikon",
"Effretikon",
"Eggen-Lachen",
"Eggersriet",
"Eggersriet",
"Egginer",
"Eggishorn",
"Eggishorn",
"Eglisau",
"Egnach",
"Egolzwil",
"Eichhöhe",
"Eigenthal",
"Eigergletscher",
"Einsiedeln",
"Einsiedeln",
"Eisack bei Brixen",
"Elahütte SAC",
"Ela / Piz Salteras",
"Ela / Tschitta",
"Elm",
"Elm",
"Elm",
"Elm",
"Elm / Chüebodensee",
"Elm / Mittler Blistock",
"Elswil",
"Elzach / Fisnacht",
"Emaney",
"Embrun",
"Emmen",
"Emmen",
"Emmendingen / Mundingen",
"Emmen / Rathausen",
"Emosson",
"Endingen",
"Engelberg",
"Engelberg",
"Engeloch Simplon",
"Engen",
"Engen-Stetten",
"Enges",
"Engstligenalp",
"Engwilen, Frauenfeld",
"Ennetbaden",
"Ennetbühl",
"Entlebuch",
"Entlebuch",
"Eptingen",
"Erfurt / Bindersleben",
"Ergisch",
"Eriswil",
"Eriz",
"Erlenbach im Simmental",
"Erlenpumpwerk",
"Ermatingen",
"Ermatingen",
"Ernen",
"Erschwil",
"Erstfeld",
"Eschenbach",
"Eschen-Boia",
"Eschenz",
"Eschlikon",
"Escholzmatt",
"Escholzmatt",
"Essert Pittet",
"Estavayer",
"Estavayer-le-Lac",
"Etoy",
"Euthal",
"Evian",
"Evilard / Leubringen",
"Evionnaz",
"Evolène",
"Evolène / Villa",
"Evreux-Huest",
"Excenevex",
"Fahrwangen",
"Fahy",
"Faido",
"Fanas",
"Fännbrücke",
"Färmel / Albristhorn",
"Färmel / Färmelberg",
"Farvagny-le-Grand",
"Féchy",
"Fégir",
"Fehraltdorf",
"Feldberg / Schwarzwald",
"Feldkirch (ehemalige Station)",
"Feldkirchen-Westerham / Lenzmühle",
"Fellhorn Möserbahn",
"Felli",
"Felsenauviadukt",
"Ferpècle",
"Fescoggia",
"Fey",
"Fiesch",
"Fiesch",
"Fieschertal",
"Filisur",
"Filzbach",
"Findelen",
"Findelen Haupt",
"Finhaut / L'Ecreuleuse",
"Finhaut / Le Luisin",
"Finsterwald",
"Fionnay",
"First (Grindelwald)",
"First (Wasserburg)",
"Fislisbach",
"Flaach",
"Fläsch",
"Flawil",
"Flawil",
"Flawil",
"Flims",
"Flüela / Hospiz",
"Flughafen Zürich",
"Flughafen Zürich_16.6",
"Flughafen Zürich_28.7",
"Flühli, LU",
"Flumserberg",
"Flumserberg",
"Fontainemelon",
"Fontannen / Romoos",
"Forchbahn",
"Forel",
"Fougères",
"Frankfurt / Main Flughafen",
"Fräschels",
"Frasco",
"Frasco",
"Frasco / Capanna Efra",
"Frauenfeld",
"Frauenfeld",
"Frauenfeld",
"Frauenkappelen",
"Freiburg",
"Freienbach",
"Freudenstadt",
"Fribourg / Posieux",
"Frick",
"Frick",
"Frick",
"Frick",
"Fridolinshütten",
"Friedrichshafen",
"Friedrichshafen / Unterraderach",
"Fruence",
"Frümsen",
"Frutigen",
"Frutigen / Elsige",
"Frutigen / Elsighorn",
"Frutigen / Ottere",
"Ftan",
"Fully",
"Fully / Grand Chavalard",
"Fully / Grand Cor",
"Fuorns",
"Furgghorn",
"Furi - Zermatt West",
"Furkapass",
"Fusio",
"Fusio",
"Fusio / Alpe di Röd",
"Gadmen",
"Gadmen",
"Gadmen",
"Gadmen / Gschletteregg",
"Gailingen",
"Galmen",
"Gams",
"Gamsen",
"Gandegg",
"Gantrisch",
"Gänziloo",
"Garmisch-Partenkirchen",
"Gäsi",
"Gäsi",
"Gdansk Port Pn.",
"Geils",
"Geisingen",
"Geissbützistock",
"Gelfingen-Obstbau",
"Gelmerbergli",
"Gemmipass",
"Gempenach",
"Gempen, SO",
"Gemskanzel",
"Genève",
"Genève Aéroport Echo",
"Genève Aéroport Yankee",
"Genève-Aire",
"Genève / Chambésy",
"Genève-Cointrin",
"Genève / Cologny",
"Genève / David-Dufour",
"Genève / Jardin Botanique",
"Genève / L'Ermitage",
"Genève-Observatoire",
"Genève / Versoix",
"Genf Flughafen",
"Genoiler",
"Genoroso",
"Gerlafingen",
"Gerlafingen",
"Gersau",
"Gettnau",
"Gibswil",
"Gingins",
"Gisikon",
"Giswil",
"Giswil Nord",
"Giubiasco",
"Glärnisch / Guppen",
"Glärnisch / Schwander Grat",
"Glarus",
"Glarus",
"Glarus",
"Glattalp",
"Glattfelden, Glattbrücke",
"Glion, VD",
"Glooten",
"Gnoll",
"Gnosca",
"Goescheneralp",
"Goldachviadukt, Thal",
"Goldingen",
"Gommiswald",
"Goms / Bodmerchumma",
"Goms / Chummehorn",
"Goms / Treichbode",
"Gorgier",
"Gornergrat",
"Gornergrat",
"Gornergrat",
"Göschenen",
"Göscheneralp",
"Gösgen",
"Gossau Gotthardrank",
"Gossau, Oberbüren",
"Goumoens",
"Goumoëns",
"Gourdon",
"Grabs",
"Grabs",
"Grächen",
"Grammont / Jumelles",
"Grammont / Loz",
"Grancia",
"Grande Dixence le Chargeur",
"Grand Som Martel",
"Grandsonnet",
"Gränichen",
"Grauholz",
"Graun / Schöneben",
"Greinaboden Ost",
"Greinaboden West",
"Grellingen",
"Grenchen",
"Grenchen",
"Grésalley",
"Gresse en Vercors",
"Gressoney / S.J.",
"Gridone",
"Griessen-Baden",
"Grimentz",
"Grimentz",
"Grimsel Hospiz",
"Grindel",
"Grindelwald",
"Grindelwald Bort",
"Grindelwald / First",
"Grindelwald / Oberläger",
"Grono",
"Grossalp Klubhütte",
"Grossalp Teil",
"Grossdietwil",
"Grosse Schlierbachbrücke",
"Grosshöchstetten",
"Grosshofbrücke",
"Gross, SZ",
"Grundtal",
"Grüningen",
"Grüsch",
"Grüsch",
"Gryon",
"Gryon",
"Gstaad",
"Gstaad / Ober Meiel",
"Gsteig, Gstaad",
"Gudo",
"Guggisberg / Riffenmatt",
"Guglera",
"Gundetswil",
"Guntalingen",
"Gurnigelbad / Gassenscheuer",
"Gurtnellen",
"Gurtnellen",
"Gütsch ob Andermatt",
"Guttannen",
"Guttannen",
"Guttannen / Bänzlauistock",
"Guttannen / Homad",
"Güttingen",
"Güttingen",
"Habkern",
"Hägenschwil",
"Hallau",
"Hallau",
"Hallau",
"Haltiwald N2",
"Hamburg / Fuhlsbüttel",
"Hämikon Berg",
"Hammermühlebrücke",
"Hannover",
"Hard b. Weinfelden",
"Härkingen",
"Härkingen",
"Hasliberg",
"Hasliberg",
"Hauenstein",
"Hausen, Albis",
"Hechingen",
"Heiden",
"Heiden",
"Heiligenschwendi",
"Henggart",
"Herbetswil",
"Herblingen, SH",
"Hérémence",
"Hergiswil",
"Herisau",
"Herisau",
"Herlisberg",
"Hermaringen",
"Herrenberg",
"Herrliberg",
"Herzogenbuchsee",
"Herzogenbuchsee",
"Hessigkofen",
"Hildisrieden",
"Himmelried",
"Hinterrhein",
"Hinterrhein",
"Hinterrhein / Alp Piänetsch",
"Hinterrhein / Chilchalphorn",
"Hinterrhein / Unter Surettasee",
"Hinter Sand",
"Hinterstockensee",
"Hinwil",
"Hinwil",
"Hinwil, Kreuzung AMP",
"Hittenberg",
"HKW Aubrugg, ZH Ost",
"Hochdorf",
"Hochdorf",
"Hoch-Ybrig",
"Hoch-Ybrig",
"Höcklerbrücke",
"Hoechenschwand",
"Höfen",
"Hof Oberkirch",
"Hofstetten / Schümberg",
"Hohenpeissenberg",
"Hohenrain",
"Hohlenbaum, SH",
"Hohlicht",
"Holzkirchen",
"Hondrich",
"Horgen",
"Horgen",
"Horgener Höhe",
"Hörnli",
"Hosenruck",
"Hünenberg",
"Hunnenberg",
"Hunzikon",
"Huttwil",
"Hyères / L'Almanarre",
"Ihringen",
"Ilanz",
"Ilanz",
"Ile Falcon",
"Ile Rousse",
"Illhart",
"Illighausen",
"Immensee",
"Immensstaad",
"Innerferrera",
"Innerferrera",
"Innerglas",
"Innerthal",
"Ins",
"Interlaken",
"Iraty",
"Iseltwald",
"Isenberg",
"Isenthal",
"Isenthal",
"Isérables",
"Isleten",
"Isole di Brissago",
"Isone",
"Isone Bestand",
"Isone Freiland",
"Istres",
"Jaufenkamm / Schneemessfeld Jaufenhaus",       
"Jaun",
"Jaun / Chörblispitz",
"Jaun / Fochsen",
"Jaunpass",
"Jegenstorf",
"Jegenstorf II",
"Jeizinen",
"Jenaz",
"Jenner Mittelstation",
"Jennis",
"Jona",
"Jona",
"Jonentobelbrücke",
"Juf",
"Juf",
"Juf Plaun (Ofenpass)",
"Julier Hospiz",
"Julier / Piz Bardella",
"Julier / Vairana",
"Jungfraujoch",
"Jussy",
"Jussy Bestand",
"ussy Freiland",
"Jussy / Maison de la foret",
"Kaiserstuhl",
"Kaiserstuhl",
"Kaisten",
"Kalchrain",
"Kaltenbach",
"Kampenwand Bergstation",
"Kampenwand Möslarnalm",
"Kandersteg",
"Kandersteg",
"Kandersteg / Bühlstutz",
"Kandersteg / Fisi",
"Kappelen",
"Kaufbeuren",
"Kehl",
"Kempten",
"Kerzers",
"Keschhütte SAC",
"Kesch / Piz Val Müra",
"Kesch / Porta d'Es-cha",
"Kessjen",
"Kesslerloch",
"Kiefersfelden",
"Kiental",
"Kiesen",
"Kiesen",
"Kiesen",
"Kilchberg BL",
"Kiley-Alp",
"Kippel",
"Kirchberg",
"Kirchberg / Schallenberg",
"Kirchberg, SG",
"Kirche Wangen",
"Kleine Scheidegg",
"Kleine Scheidegg",
"Klein Matterhorn",
"Klein Siedelenhorn",
"Klippeneck",
"Klöntal",
"Klöntal, Schwändeli",
"Klosters",
"Klosters / Aeuja",
"Klosters / Gatschiefer",
"Klosters KW",
"Klosters / Madrisa",
"Klosters / Sant Jaggem",
"Kloten",
"Klus Aesch BL",
"Knutwilerhöhe",
"Kollbrunn",
"Kollbrunn",
"Kölliken",
"Köln / Bonn",
"Konkordia",
"Konstanz",
"Konstanz-Stadt",
"Koppigen",
"Koppigen",
"Kottwil",
"Kottwil",
"Kranzberg",
"Krauchthal / Dieterswald",
"Krauchthal / Lindenfeld",
"Kreuzlingen",
"Kreuzlingen",
"Kreuzlingen Süd",
"Kriessern",
"Kronberg",
"Küblis",
"Kuehboden",
"Künten",
"Kurzeneialp",
"Küsnacht, ZH",
"Küssnacht am Rigi",
"La Berarde",
"L' Abergement",
"L' Abergement",
"La Brévine",
"La Brévine",
"Lac d Ardiden",
"Lac de Monteynard",
"La Chaux-de-Fonds",
"La Chaux-de-Fonds",
"Lachen / Galgenen",
"La Comballaz",
"Laconnex",
"La Coruna",
"La Coudre",
"La Creusaz",
"La Cure",
"La Dôle",
"Ladurns",
"LaFouly",
"La Fouly",
"La Fouly / Glacier de Saleina",
"La Fouly / Le Portalet",
"Lägeren / Zindelen",
"Lägern",
"Laghetti Boga",
"Lago Ritom",
"La Heutte",
"Lahr",
"L Alpe d Huez 2350",
"L Alpe d Huez (SATA)",
"L Alpe du Grand Serre",
"La Mathoulaz",
"La Mathoulaz I",
"La Meije",
"Lämmerengrat",
"Lämmerenhorn",
"Lämmernalp",
"Lämmernplatten",
"Lampenberg BL",
"Lancy / Bachet-De-Pesay",
"Landecy",
"Landquart",
"Landquart",
"Landquart",
"Landquart",
"Landshut / Reithof",
"Langenbruck",
"Langenbruck",
"Langenbruck",
"Langenthal",
"Langenthal / Bleienbach",
"Langnau",
"Langnau am Albis",
"Langnau i.E.",
"Langres",
"Lans en Vercors",
"Lanterswil",
"Lanveoc",
"Lanzenneunforn",
"La Peufaire",
"La Peule (Val Ferret)",
"La Plagne Bellecote",
"La Plaine",
"La Rochelle",
"La Roche sur Yon",
"La Sagne Eglise",
"La Tour de Peilz",
"La Tour-De-Peilz",
"La Tourne",
"Latschau",
"Lauberhorn",
"Lauberhorn",
"L' Auberson",
"L' Auberson",
"Laucherenalp / Gandegg",
"Laucherenalp / Sackhorn",
"Lauchernalp",
"Lauenen bei Gstaad",
"Lauenen / Lauenehore",
"Lauenen / Trüttlisbergpass",
"Laufen",
"Laufenburg",
"Laufenburg",
"Laufen / Dittingen",
"Laupen",
"Lausanne",
"Lausanne",
"Lausanne",
"Lausanne",
"Lausanne Bestand",
"Lausanne / Dorygny UNIL",
"Lausanne Freiland",
"Lausanne-Vidy",
"Lauterbrunnen",
"Lauterbrunnen",
"Lauterbrunnen / Schwarzmönch",
"La Valsainte",
"La Valsainte",
"Lavin",
"Lavorgo",
"Le Boinod",
"Le Bourget",
"Le Brassus",
"Lecco",
"Le Châtelard",
"Le Chenit",
"Le Chioula",
"Le Coin, France",
"Le Collet d Allevard",
"Lege-Cap-Ferret",
"Le Gua",
"Lehn",
"Leibstadt",
"Leimern",
"Leipzig / Schkeuditz",
"Le Locle",
"Le Locle",
"Le Luc",
"Le Mans",
"Le Moléson",
"Le Mont-sur-Lausanne",
"Lengnau",
"Lenk",
"Lenk",
"Le Noirmont",
"Lens Bestand",
"Lenzburg",
"Lenzerheide",
"Lenzerheide",
"Lenzhard",
"Lenzkirch-Ruhbühl",
"Le Puy-Loudes",
"Les 2 Alpes (GN)",
"Les 2 ALpes Jandri",
"Les 2 Alpes (Pied Mouttet)",
"Les 2 Alpes (Toura NE)",
"Les Attelas",
"Les Attelas",
"Les Avants",
"Les Bioux",
"Les Brenets",
"Les Charbonnières",
"Les Collons",
"Les Diablerets",
"Les Diablerets",
"Les Diablerets",
"Les Diablerets",
"Les Ecrins",
"Le Sentier",
"Le Sentier",
"Le Sepey",
"Le Sépey",
"Le Sépey",
"Les Marécottes",
"Les Paccots",
"Les Petits-Ponts",
"Les Plans-sur-Bex",
"Les Plans-sur-Bex",
"Les Pontets",
"Les Ponts-de-Martel",
"Les Ponts-de-Martel",
"Les Rangiers",
"Les Rangiers",
"Les Rochilles",
"Les Rots",
"Les Ruinettes",
"Les Verrières",
"Les Verrières",
"Leucate",
"Leucate",
"Leuggern",
"Leuggern",
"Leuk",
"Leukerbad",
"Leukerbad / Schwarzhorn",
"Leukerbad / Trubelboden",
"Leutkirch",
"Leysin",
"Leysin",
"Leysin",
"Leytron",
"Leytron",
"L'Hongrin",
"Liddes",
"Liddes / Pointe de Boveire",
"Liddes / Pointe de Toules",
"Liebensberg",
"Liestal",
"Liestal BL",
"L Ile d Yeu",
"Lille-Lesquin",
"Limmatbrücke Dietikon",
"Limmatbrücke Geroldswil",
"Limmattal Weininger Kreuz",
"Limoges-Bellegarde",
"Lindau",
"Lindau",
"Linderspitze Gratkante Karwendelgrube",
"Linderspitze Karwendelgrube",
"Linderspitze Kranzberg",
"Linthal",
"Linthal",
"Linthal",
"Linthal / Ortstock Matt",
"Linthviadukt",
"Linthviadukt Schmerikon",
"L' Isle, VD",
"Lissibachbrücke",
"Littau",
"Littauerboden",
"Locarno",
"Locarno-Cardada",
"Locarno / Magadino",
"Locarno / Monti",
"Locarno-Monti",
"Locarno-Monti",
"Locarno-Muralto",
"Lodrino",
"Lodrino",
"Lohn, SH",
"Lommis",
"Longirod",
"Longirod",
"Lopagno",
"Lorient-Lann Bihoue",
"Lörrach",
"Lorzentalbrücke",
"Lorzentobel",
"Losone, TI",
"Löwenberg",
"Löwenburg",
"Lü",
"Lucens",
"Lucketen",
"Lucomagno",
"Lüderenalp",
"Lugano",
"Lugano",
"Lugano-Agno",
"Lukmanier / Lai Verd",
"Lukmanier / Piz Gannaretsch",
"Lullier",
"Lully",
"Lungern",
"Lungern",
"Lungern / Schönbüel",
"Lunnerentalbrücke",
"Lupfig",
"Lupfig",
"Lupfig / Flugplatz Birrfeld",
"Lüterswil",
"Luthern",
"Lützelmurgbrücke",
"Luzern",
"Luzern",
"Luzern",
"Luzern Sonnenberg",
"Luzern Wesemlin",
"Luzzone Carsotto",
"Lyon-St Exupéry",
"Madiswil",
"Magadino / Cadenazzo",
"Magenhorn",
"Maggia",
"Magglingen",
"Maienfeld",
"Maienfeld / Guscha",
"Maisach / Galgen",
"Malans-Obstbau",
"Malans-Weinbau",
"Malbun",
"Malbun",
"Malbun / Bärgtälli",
"Malbun / Spitz",
"Maloja",
"Malters",
"Malvaglia",
"Malvaglia Presa",
"Mammern",
"Maniccia",
"Männedorf",
"Männlichen",
"Männlichen",
"Männlichen / Gipfel",
"Marbach",
"Marbachegg",
"Marcelin",
"Marcelin",
"Marché Ziegelbrücke ",
"Märenschlag / Chli Schl.",
"Marignane",
"Marmorera",
"Marsens",
"Marthalen",
"Martigny",
"Martigny / Ravoire",
"Martigny-Ville",
"Martina",
"Martina",
"Massat Gend",
"Mathod",
"Matro",
"Matro",
"Matt",
"Matta Frauenkirch",
"Mattsand",
"Matzendorf",
"Maupas",
"Mauvoisin",
"Medelserhütte SAC",
"Megève",
"Meien",
"Meiental / Laucheren",
"Meierskappel",
"Meinier",
"Meiringen",
"Meiringen I",
"Meiringen II",
"Melchthal",
"Mels / Heiligkreuz",
"Melun",
"Memmingen",
"Mende-Brenoux",
"Mendrisio",
"Menorca / Mahon",
"Menzberg",
"Menzberg",
"Menznau",
"Menzonio",
"Merishausen",
"Merishausen",
"Merklingen",
"Mervelier",
"Mesocco",
"Mesocco",
"Mesocco / Pian Grand",
"Mesocco / Piz Pian Grand",
"Messstetten",
"Mettmenstetten",
"Mettmenstetten",
"Metzerlen",
"Metzingen",
"Meyrin / CERN",
"Mezzana",
"Mezzana",
"Mijanes",
"Milano / Linate",
"Milano / Malpensa",
"Millau",
"Miralago",
"Mittenwald",
"Mittlerer Guetbächi",
"Moesa",
"Mogelsberg",
"Möhlin",
"Möhlin",
"Moillettaz",
"Moiry",
"Moleno",
"Moleno",
"Moleson",
"Mollens",
"Mollis",
"Mönchaltorf",
"Mönchsgrat",
"Moncor VDA",
"Mondellipass",
"Monstein",
"Montagne-du-Droit",
"Montagnier, Bagnes",
"Mont Aigoual",
"Montana",
"Montauban",
"Montcherand",
"Mont Crosin_WTG09",
"Mont Crosin_WTG10",
"Mont Crosin_WTG11",
"Mont Crosin_WTG12",
"Mont Crosin_WTG13",
"Mont Crosin_WTG14",
"Mont Crosin_WTG15",
"Mont Crosin_WTG16",
"Mont-de-Marsan",
"Mont d Olmes",
"Monte Bisbino",
"Monte Bre s.Lugano",
"Monte Ceneri Süd",
"Monte Generoso",
"Montelimar",
"Montenol",
"Monte Rosa-Plattje",
"Monthey",
"Mont Kenya",
"Mont Miné",
"Montpellier",
"Montreux",
"Montreux-Clarens",
"Mont Ruan",
"Mont-Soleil",
"Mont-Soleil",
"Mont-sur-Rolle",
"Moosegg",
"Morbier",
"Morbio Superiore",
"Morgarten",
"Morges",
"Morges",
"Morges / Tolochenaz",
"Morgins",
"Morgins",
"Morgins VS",
"Möriken-Wildegg",
"Möriswang",
"Mormont",
"Mosen",
"Mosi-Nord",
"Mosnang",
"Mosogno",
"Motta Naluns",
"Mottec",
"Motto",
"Moudon",
"Moudon",
"Moudon-Origine",
"Mountaulta Annarosa",
"Moutier",
"Moutier",
"Moutier",
"Muenster",
"Muerren",
"Mühldorf",
"Mühlebachtobelbrücke",
"Mühleberg",
"Mühleberg / Stockeren",
"Mühlehorn",
"Mühleturnen",
"Mülenen",
"Mullern",
"Müllheim",
"Müllheim",
"Mülligen",
"Mümliswil",
"München",
"Münchenbuchsee",
"München / Flughafen",
"Mund / Chiematte",
"Mund / Gärsthorn",
"Münsingen",
"Münsingen",
"Münsingen",
"Münsterlingen",
"Münster / Osnabrück",
"Muotabrücke",
"Muotathal",
"Muotathal / Rupperslaui",
"Muotathal / Wasserbergfirst",
"Murg",
"Murg",
"Muri",
"Muri, AG",
"Muri, AG",
"Mürren",
"Mürren",
"Murten",
"Müstair",
"Muttenkopf",
"Muttenz BL",
"Muttsee / Mutten",
"Muttsee / Ruchi",
"Näfels",
"Nairobi City",
"Naluns / Schlivera",
"Naluns / Schlivera",
"Nancy-Essey",
"Nancy-Ochey",
"Nante",
"Nante de Drance (d'Émosson S.A.)",
"Nantes-Bouguenais",
"Napf",
"Nara / Bassa di Nara",
"Nara / Motto Crostel",
"Nationalpark Bestand",
"Nationalpark Freiland",
"Nebelhorn",
"Nebelhorn Kobalt-Liftstation",
"Neerach",
"Nendaz / Combatzeline",
"Nendaz / Creppon Blanc",
"Nesselboden",
"Netstal",
"Neubrunn",
"Neubulach",
"Neuburg an der Kammel",
"Neuchâtel",
"Neuchâtel",
"Neuchâtel",
"Neuenkirch",
"Neuewelt",
"Neufeld",
"Neugut",
"Neuhausen",
"Neuhausen ob Eck / Unterschwandorf",
"Neukirch-Egnach",
"Neunkirch Bestand",
"Neunkrich Freiland",
"Neuvilles",
"Nevers-Marzy",
"Nice",
"Niederbipp",
"Niederglatt",
"Niederneunforn",
"Niederurnen / Morgenholz",
"Niederwangen",
"Nimes-Courbessac",
"Niort",
"Noflen",
"Nollen",
"Nottwil",
"Notzingen",
"Novaggio",
"Novaggio Bestand",
"Novaggio Freiland",
"Novara / Cameri",
"Nürensdorf",
"Nürnberg",
"Nussbaumen",
"Nyon",
"Nyon / Changins",
"Nyon / Crans-près-Céligny",
"Oberaarjoch",
"Oberägeri",
"Oberbalm",
"Oberberg",
"Oberehrendingen",
"Oberehrendingen",
"Oberflachs",
"Oberhaching",
"Oberiberg",
"Oberiberg",
"Oberkirch",
"Oberkirch",
"Oberlangenegg",
"Oberriet / Moos",
"Oberriet, SG",
"Oberrütti / Büelhof",
"Ober Sand",
"Obersaxen",
"Oberschleissheim",
"Oberstdorf",
"Oberthal",
"Oberwald",
"Oberwald",
"Oberwald / Jostsee",
"Oberwald / Mällige",
"Oberwald / Sidelhorn",
"Oberweningen",
"Oberwil i. S.",
"Oberwinterthur",
"Obstalden",
"Oerlingen, Loh",
"Oeschberg",
"Oeschberg",
"Oeschinensee",
"Ofenegg",
"Ofenpass / Murtaröl",
"Ofenpass / Piz Dora",
"Ofentalpass",
"Oftringen",
"Ohlsbach",
"Oldenalp",
"Olivone",
"Olivone",
"Olivone",
"Olivone diga Luzzone",
"Olmet",
"Olsberg-Magden",
"Olten",
"Oltingen",
"Opfershofen",
"Opfikon",
"Orange",
"Orbe",
"Orbe / Bochuz",
"Orleans",
"Orly",
"Oron",
"Orsières",
"Orvin",
"Orzens",
"Oslo / Gardermoen",
"Osterfelder",
"Osterfingen",
"Otelfingen",
"Otelfingen I",
"Otelfingen II",
"Otemma",
"Othmarsingen Bestand",
"Othmarsingen Freiland",
"Ottenberg",
"Ouessant-Stiff",
"Oulens",
"Outre-Broye",
"Ovronnaz",
"Oxefeld-Freichi",
"Oy-Mittelberg / Petersthal",
"Paganella",
"Palagnedra Paese",
"Panäraalp",
"Paris-Montsouris",
"Passo del Bernina",
"Passo dell'uomo / Segna",
"Passo Muaz",
"Passo Rolle",
"Pau-Uzein",
"Pavillon Dollfus",
"Payerne",
"Payerne",
"Payerne-Ville",
"Peissy",
"Perly",
"Perpignan",
"Perroy",
"Petite Joux",
"Petit Som Martel",
"Peuffeyre / La Bex",
"Pfäfers",
"Pfäffikon",
"Pfannenstiel",
"Pfeffingen",
"Pfelders / Grünboden",
"Pfullendorf",
"Piacenza",
"Pian Rosa",
"Pian Rosa",
"Pian Segno",
"Pierre-Pertuis nord",
"Pigniu",
"Pilatus",
"Piotta",
"Piz Corvatsch",
"Piz Curver",
"Piz Lagrev / Lagrev",
"Piz Lagrev / Materdell",
"Piz Lagrev / Tscheppa",
"Piz la Ila",
"Piz Martegnas",
"Piz Martegnas",
"Piz Scalotta",
"Plaffeien",
"Plaffeien",
"Planachaux",
"Platta (Medel)",
"Plattjen",
"Plaun Laax",
"Ploumanac'h",
"Poitiers-Biard",
"Pomy",
"Pont",
"Ponta Delgada / Nordela (Acores)",
"Pont Corcelles",
"Pont de Drance",
"Pont de l'Arnon 1",
"Pont de l'Asse",
"Pont de Saumont",
"Pont de Sorges",
"Ponte Tresa",
"Pont / Le Tornaz",
"Pont Noir",
"Pontresina",
"Pontresina",
"Pont sur Rhone",
"Pont Uvrier",
"Porrentruy",
"Port Camargue",
"Port d Aula",
"Port en Bessin",
"Portes",
"Poschiavo",
"Poschiavo / Robbia",
"Posieux",
"Prapoutel",
"Prato (Leventina)",
"Prato-Sornico",
"Pratval",
"Prayou 1",
"Praz",
"Preda",
"Pregassona, TI",
"Prettau / Merbalm",
"PSI Würenlingen",
"Pte de Chassiron",
"Pte de Chemoulin",
"Pte de Socoa",
"Pte du Raz",
"Pt. Lizerne",
"Pully",
"Pully",
"Punkt (35 N / 15 W)",
"Punkt (45 N / 20 W)",
"Punkt (47 30 N / 32 30 W)",
"Punkt (55 N / 25 W)",
"Punt la Drossa",
"Punt Muragl",
"Pusserein",
"Puzzetta, Medel / Ils Plauns",
"Puzzetta, Medel / La Muota",
"Quimper",
"Quinten",
"Radolfzell",
"Raffinerie",
"Rafz",
"Rafz",
"Raimeux Nord",
"Raimeux Sud",
"Rampe 400",
"Rampe Illnau",
"Rancate",
"Raperswilen, TG",
"Rapperswil-Jona",
"Rapperswil SG",
"Rastplatz Baltenswil Süd",
"Rastplatz Buchhalde",
"Räterschen",
"Rauschberg Sendemast",
"Reckingen",
"Regensdorf / Gubrist",
"Reichenau",
"Reichenburg",
"Reichenburg Ost",
"Reiden",
"Reigoldswil",
"Reigoldswil",
"Reims / Pruney",
"Reinach",
"Reiteralpe Reiteralm-Bergbahn",
"Reiteralpe Wartsteinerhütte",
"Reit im Winkl",
"Remigen",
"Rempen",
"Rennaz / Eau-Froide",
"Rennes-St Jacques",
"Renningen",
"Reppischtalbrücke",
"Restefond",
"Reussbrücke",
"Reverolle",
"Revoira",
"Reykjavik",
"Rheinau",
"Rheinau",
"Rheinbrücke",
"Rheinfelden",
"Rheinfelden",
"Rheinwaldhorn",
"Rhêmes / N.D",
"Ricken",
"Ricken",
"Rickenbach",
"Rickenbach",
"Riddes",
"Riedbad",
"Rieden",
"Ried / Frutigen",
"Riedholz",
"Riedholz-Wallierhof",
"Ried, Lötschen",
"Riehen",
"Rietholz",
"Riex",
"Riffelsee",
"Riggisberg",
"Riggisberg",
"Rigi-Kaltbad",
"Rigi-Kulm",
"Rigi Scheidegg",
"Rigi-Seebodenalp",
"Ritom-Piora",
"Robiei",
"Robiei",
"Robièi",
"Rochefort I",
"Rocheray Plage - Lac de Joux",
"Roggliswil",
"Rohr",
"Roissy",
"Rolle",
"Rolle",
"Romainmôtier",
"Romairon",
"Romanshorn",
"Romont",
"Romont",
"Romorantin",
"Ronchâtel",
"Root",
"Rorschach",
"Rorschach",
"Rosenheim",
"Rossberg",
"Rotbach Kantonsstrasse",
"Rotbach Nationalstrasse",
"Rothenbrunnen",
"Rothenburg",
"Rothwald / Undru Egge",
"Rötstock",
"Rottenburg am Neckar",
"Rottweil",
"Rotwandwiesen",
"Rouen-Boos",
"Rubigen",
"Rüeggisingerbrücke",
"Rüfenacht",
"Rugen",
"Rugen",
"Ruina",
"Rumein / Igels",
"Rümlang",
"Rünenberg",
"Rüschegg",
"Ruswil",
"Rüteli",
"Saanen",
"Saanen",
"Saanenmoeser",
"Saanenviadukt",
"Saarbrücken / Ensheim",
"Saas-Almagell",
"Saas Balen",
"Saas Balen",
"Saas Fee",
"Saas Fee",
"Saas Fee",
"Saas-Fee",
"Saas / Gibidum",
"Saas / Platthorn",
"Saas, Prättigau",
"Saas / Schwarzmies",
"Saas / Seetal",
"Safien-Platz",
"Safien / Thalkirch",
"Sagno TI",
"Saignelégier",
"Saillon",
"Saint Hilaire",
"Saint Léonard",
"Salanfe",
"Saleina",
"Salen-Reutenen",
"Salève - Les Crêts",
"Salez",
"Salezer Meder",
"Salez / Saxerriet",
"Salon de Provence",
"Salquenen",
"Sambucco-Cortino",
"Samedan",
"Samnaun",
"Samnaun / Ravaischer Salaas",
"San Bernardino",
"San Bernardino",
"San Bernardino Ospizio",
"San Bernardino-Villaggio",
"Sanetschalp",
"Sangernboden",
"Sankt Blasien",
"Säntis",
"Säntis",
"San Vittore",
"Sargans",
"Sargans",
"Sargans I",
"Sargans II",
"Sarnen",
"Sarnen",
"Sarnen Süd",
"Sarner Aa",
"Satigny",
"Satigny",
"Sattel-Aegeri",
"Sauverny",
"Savatan",
"Savognin",
"Savognin",
"Sax",
"Saxon",
"S. Bernardino",
"Schaan / Untere Au",
"Schaanwald",
"Schächental / Alpler Tor",
"Schächental / Gross Windgällen",
"Schächental / Seewli",
"Schaffhausen",
"Schaffhausen",
"Schaffhausen-Hauental",
"Schaffhausen / Rheinbrücke",
"Schallenberg",
"Schänis",
"Schänis Bestand",
"Schänis Freiland",
"S-charl",
"S-charl",
"Schattenhang Fuchsberg",
"Schiers",
"Schiers",
"Schilthorn / Gipfel",
"Schilthorn / Türliboden",
"Schinznach Dorf",
"Schleitheim",
"Schlund",
"Schmerikon",
"Schneehorn",
"Schönbiel",
"Schönenberg",
"Schönenboden",
"Schönenwerd",
"Schönewerd",
"Schongau",
"Schöni",
"Schopfheim",
"Schüpfheim",
"Schüpfheim",
"Schüpfheim",
"Schwäbrig",
"Schwäbrig",
"Schwägalp",
"Schwägalp",
"Schwanden",
"Schwanderholz",
"Schwarzbergbach",
"Schwarzberggletscher",
"Schwarzbergkopf",
"Schwarzenberg",
"Schwarzenburg",
"Schwarzenegg",
"Schwarzsee Bad",
"Schweizerhalle",
"Schwellbrunn",
"Schwendi",
"Schwyz",
"Schwyz",
"Schwyz-Ibach",
"Schwyz / Seewen",
"Scudellate",
"Scudellate",
"Scuol",
"Scuol",
"Scuol",
"Sedrun",
"Sedrun",
"Seebacher Höhe",
"Seeende",
"Seegräben",
"Seegräben, Aathal Dinosaurier",
"Seehorn-Hüreli",
"Seengen",
"Seengen",
"Seengen",
"Seewen",
"Seewil",
"Seewinen Ost",
"Seewinen West",
"Seewis",
"Seewis",
"Seewis Dorf",
"Seezviadukt 1",
"Segl-Maria",
"Sempach",
"Sempach",
"Sempach",
"Semsales",
"Sennwald",
"Sennwald",
"Sent",
"Seon",
"Serrière",
"Serrières",
"Sertig-Büel",
"Sertig-Sand",
"Sète",
"Sevaz Jura/Alpes",
"Sevelen",
"Sex Rouge",
"Siat",
"Sibiu",
"Sieben Hengste",
"Siebnen",
"Siebnen",
"Sierre",
"Sierre",
"Sierre",
"Sigmaringen",
"Sigmarszell-Zeisertsweiler",
"Signal-de-Bougy",
"Sihlbrugg",
"Sihlbrugg",
"Sihlhochstrasse",
"Sihlsee",
"Silenen",
"Sils",
"Sils im Engadin",
"Silvretta Gletschervorf.",
"Silvrettahütte",
"Simplon / Bortelsee",
"Simplon / Chesselhorn",
"Simplon Dorf",
"Simplon-Dorf",
"Simplon-Dorf",
"Simplon Hospiz",
"Simplonpass / Niwa",
"Simplon / Wenghorn",
"Simplon / Ze Seewe",
"Singen",
"Sion",
"Sion",
"Sion",
"Sion",
"Sipplingen",
"Sissach",
"Sisseln",
"Sitenstuden 2, Mels",
"Soazza",
"Sochaux",
"Soerenberg",
"Soglio",
"Solenzara",
"Solothurn",
"Solothurn (Rüttenen)",
"Somazzo",
"Sonogno",
"Sonogno",
"Soral",
"Sörenberg",
"Sorges",
"Sorniot-Lac Inférieur",
"Soum Couy",
"Spätberglisee",
"Spitzingsee Freilandstation",
"Spitzingsee Waldstation",
"Spluegen",
"Splügen",
"Splügen",
"Splügen",
"Splügen-Dorf",
"Stabelchod",
"Stabio",
"Stadlerberg",
"Stadtergasse",
"Stäfa",
"Stafel",
"Stallikon",
"Stalvedro B",
"Sta. Maria (Val Mustair)",
"Sta. Maria, Val Müstair",
"Stampa",
"Stampfi",
"Stänglematten",
"Stans",
"Stans",
"Stans",
"Stans",
"Stans",
"St. Antoenien",
"St. Antönien",
"Starkenbach",
"St Auban",
"Stazerwald",
"St. Blaise",
"St-Blaise, NE",
"St Brieuc",
"St-Cergue",
"St. Chrischona",
"St. Chrischona BS",
"St Christophe",
"St Dizier",
"Steckborn",
"Steckborn",
"Ste-Croix, VD",
"Steg FL",
"Steghorn",
"Stein am Rhein",
"Stein, AR",
"Stein, AR I",
"Stein, AR II",
"Steinmaur",
"Stein (Toggenburg)",
"Stelli Weistal",
"Sternenberg",
"St Etienne-Boutheon",
"Stetten",
"St. Gallen",
"St. Gallen I",
"St. Gallen II (Peter u. Paul)",
"St. Gallen / Winkeln",
"St Girons",
"St. Gotthard-Hospiz",
"St Hilaire",
"Stiegelschwand",
"St. Jean, VS",
"St. Luc",
"St. Margrethenberg",
"St. Martin",
"St. Moritz",
"St. Moritz",
"St. Moritz",
"St. Moritz",
"St. Moritz",
"St Nazaire-Montoir",
"St. Niklaus / Oberer Stelligletscher",
"Stöckalp",
"Stockhorn",
"Stockhorn / Gipfel",
"Stockhorn / Vorderstocken",
"Stoos",
"Stosswihr",
"Stötten",
"St. Petersburg (Voejkovo)",
"St. Peterzell",
"St Pierre de Chartreuse",
"St-Prex",
"St Quentin",
"St-Sulpice",
"Studen",
"Stuehlingen-Eberfingen",
"St. Urban",
"St.Ursanne",
"Stuttgart / Echterdingen",
"Stützmauer Etzelstrasse",
"St Yan",
"Suchet (Châlet)",
"Suhr",
"Sulden Madritsch",
"Sulgen",
"Sulgen",
"Sulz, AG",
"Sulzegg",
"Sursee",
"Susch",
"S. Valentino alla Muta",
"Tafers",
"Tägenauerholz",
"Taminatal / Wildsee",
"Taminatal / Wildseehorn",
"Tamins",
"Tamins",
"Tannay",
"Tannegg",
"Tanne-Wald",
"Täntenholz",
"Tarbes-Ossun",
"Täschalp",
"Taubach",
"Tavanasa",
"Taverne Nord",
"T.Chantem VNA/EO",
"Tegelberg südlich der Bergstation",
"Tegerfelden",
"Tête-de-Ran",
"Tettnang-Tannau",
"Teufelsbrücke",
"Teufelsbrücke",
"Teufen",
"Teufen",
"Thal",
"Thäliboden",
"Thalwiler Stich",
"Thayngen",
"Theodulhütte",
"Therwil",
"Therwil",
"Thielle",
"Thierrens",
"Thörishaus",
"Thun",
"Thundorf",
"Thundorf",
"Thurbrücke, Frauenfeld",
"Thusis",
"Thusis",
"Thusis",
"Tiefencastel",
"Tiefenkastel",
"Tiefenwinkel",
"Tiefenwinkel",
"Tierälpli",
"Tierfehd",
"Tierfehd, Linthal",
"Titlis",
"Titlis",
"Titterten",
"Tomils",
"Torino / Bric della Croce",
"Torino / Caselle",
"Torshavn",
"Töss / Winterthur",
"Totalpsee",
"Toulon",
"Toulouse-Blagnac",
"Tour de Gourze",
"Tour de Gourze",
"Tours",
"Toussus le Noble",
"Trappes",
"Trasse Erlen",
"Travers, NE",
"Treviso / Istrana",
"Treviso / S. Angelo",
"Triechterbrücke",
"Triengen",
"Triengen",
"Trient",
"Trient",
"Triesen",
"Triesenberg",
"Trift",
"Trogen",
"Troinex",
"Troyes-Barberey",
"Trübbach",
"Trübsee-Jochpass",
"Truebsee",
"Trugberg",
"Trun",
"Truttigen",
"Tsanfleuron",
"Tschiertschen",
"Tschlin I",
"Tschlin II",
"Tüfentalbrücke",
"Tujetsch / Crispalt",
"Tujetsch / Culmatsch",
"Tujetsch / Nual",
"Turbenthal",
"Turgi",
"Turtmann",
"Turtmann",
"Twann",
"Ueberlingen-Bodensee",
"Uerikon",
"Uetliberg",
"Ufhusen",
"Uhwiesen",
"Ulm",
"Ulrichen",
"Ulrichen",
"Ulten / Rossbänke",
"Umfahrung Malters",
"Unterägeri",
"Unter Alten",
"Unterbözberg",
"Untere Gantrischhütte, Rüschegg",
"Unterkulm",
"Unterkulm",
"Unterschächen",
"Unterschächen",
"Unterseen",
"Unterstammheim",
"Unterwasser Iltios",
"Urnäsch",
"Urnerboden",
"Urnerboden",
"Urseren / Giltnasen",
"Urseren / Gross Schijen",
"Ursern",
"Urswil",
"Uster",
"Uvrier",
"Uznaberg",
"Vaduz",
"Vaduz (Fürstl. Weinberg)",
"Val",
"Val Agone",
"Valangin, NE",
"Valbella",
"Valbella (Ofenpass)",
"Val d'Illiez",
"Val d'Illiez",
"Val d'Illiez / Les Collines",
"Val d'Illiez / Pointe des Mossettes",
"Valeyres-sous-Montagny",
"Valeyres-sous-Rances",
"Vallorbe",
"Vallorbe / Reposoir",
"Vallorbe-Ville",
"Vals",
"Vals",
"Vals",
"Vals / Alp Calasa",
"Valsavarenche",
"Vals / Piz Aul",
"Val Trupchun",
"Val Trupchun",
"Val Varuna",
"Valzeina / Cavadura",
"Vandans",
"Varen",
"Vättis",
"Vättnerälpli",
"Vaujany-Nivo",
"Vaulion",
"Vaulruz VDA",
"Vaux",
"Vella",
"Venthône",
"Vercorin",
"Vergeletto",
"Vernayaz",
"Vernier / Aire",
"Verona / Villafranca",
"Versoix",
"Versoix",
"Vétroz",
"Vevey / Corseaux",
"V.Gruyère VDA/S",
"Viaduc des Grands Combes",
"Viaduc des neufs Champs",
"Viaduc de Tayment",
"Viaduc d'Orbe",
"Viaduc Pontet L",
"Viaduc Yverdon",
"Vicenza",
"Vichy-Charmeil",
"Vicosoprano",
"Vicosoprano / Löbbia",
"Villacoublay",
"Villard cote 2000",
"Villars-Tiercelin",
"Villeneuve, Le Pissot",
"Villeret",
"Villingen-Schwenningen",
"Villnachern",
"Vinadi / Alpetta",
"Vinadi / Piz Alpetta",
"Vira / Gambarogno",
"Vira, Gambarogno",
"Viscosuisse",
"Visp",
"Visp",
"Visp",
"Visp",
"Visp",
"Visp Bestand",
"Visperterminen",
"Visp Freiland",
"Vitznau",
"Volketswil",
"Vordemwald Bestand",
"Vordemwald Freiland",
"Vorderthal",
"Vouasson",
"Vrin",
"Vufflens-la-Ville, VD",
"Wädenswil",
"Wädenswil",
"Wädenswil-Obstbau",
"Wädenswil-Weinbau",
"Wahlendorf",
"Walchwil",
"Waldegg",
"Waldenburg",
"Wald-Faltigberg",
"Waldshut",
"Waldweide",
"Wald, ZH",
"Walenstadt",
"Walenstadt",
"Walenstadt",
"Walenstadtberg",
"Wallbach",
"Wangen, Olten",
"Wängi",
"Wartau",
"Wasen im Emmental",
"Wassen / Rienzenstock",
"Wasserauen",
"Wasserauen",
"Wattwil, SG",
"Wauwilermoos",
"Weesen",
"Weesen",
"Weggis",
"Weggis",
"Weiach",
"Weierhaus",
"Weilheim / Bierbronnen",
"Weilheim / Waldshut-Bannholz",
"Weinfelden",
"Weinfelden",
"Weinfelden",
"Weingarten",
"Weinland",
"Weissenstein",
"Weissfluhjoch",
"Weisshorn",
"Weisstannen",
"Weisstannen",
"Weisweil",
"Weite / Wartau",
"Wengen",
"Wengen",
"Wengen",
"Wenkenhof",
"Wernetshausen",
"Wetzikon",
"Widnau",
"Widnau",
"Wielenbach",
"Wien / Hohe Warte",
"Wiesenfurt, Mels",
"Wiggen",
"Wigoltingen",
"Wikon",
"Wil",
"Wil",
"Wil bei Rafz",
"Wilchingen",
"Wildhaus",
"Wildhaus",
"Wildhaus / Hinterrugg",
"Wiler",
"Wiliberg",
"Willisau",
"Will SG",
"Will ZH",
"Wil, SG",
"Wil/Sonnenberg",
"Wimmis",
"Wimmis",
"Windisch",
"Wintersingen",
"Winterthur",
"Winterthur",
"Winterthur-Seen",
"Winznau",
"Witterswil",
"Wittnau",
"Witzwil",
"Wohlen",
"Wolfach",
"Wolhusen",
"Wolhusen",
"Worb BE",
"Wülfingen Winterthur",
"Wülflingen",
"Wünnewil",
"Wutöschingen-Ofteringen",
"Wynau",
"Wynau",
"Wyssachen",
"Ybrig / Wanne",
"Yverdon",
"Yverdon-les-Bains",
"Yvorne",
"Zäziwil",
"Zeiniger Brücke",
"Zell / Rämismühle",
"Zermatt",
"Zermatt / Alp Hermetje",
"Zermatt / Platthorn",
"Zermatt / Triftchumme",
"Zernez",
"Zernez",
"Zernez",
"Zernez / Pülschezza",
"Zernez / Sarsura Pitschen",
"Zervreila",
"Zervreila",
"Zihlschlacht",
"Zinggen",
"Zizers",
"Zizers",
"Zmatt",
"Zofingen",
"Zofingen",
"Zollikon, ZH",
"Zug",
"Zugerberg",
"Zugloch Herrlisberg",
"Zugloch Lachen",
"Zugspitze",
"Zugspitzplatt",
"Zuoz",
"Zuoz",
"Zuoz",
"Zuoz",
"Zürich",
"Zürich",
"Zürich",
"Zürich / Affoltern",
"Zürich-Albisgüetli",
"Zürich-Albishof",
"Zürich-Anstalt für Epil.",
"Zürich-Bot.Garten",
"Zürich / Fluntern",
"Zürich-Hönggerberg",
"Zürich / Kloten",
"Zürich-MeteoSchweiz",
"Zürich-MeteoSchweiz",
"Zürich Nord, Opfikon",
"Zürich-Seebach",
"Zürich-Strickhof",
"Zürich-Uetliberg",
"Zürich-Uetliberg",
"Zürich West Brücke",
"Zürich-Witikon",
"Zurzach",
"Zweisimmen",
"Zweisimmen",
"Zweisimmen",
"Zwillikon",
"Zwillikon",
]


inclined_tilt = ["30", "45"]

efficiency = ["97", "98"]

panel_orientation = ["South", "South-South-East", "South-South-West", "South-East", "South-West", "East-South-East", "West-South-West", "East"]

type = ["flat", "inclined"]

######################2011##########################################

cur.execute("CREATE TABLE IF NOT EXISTS Population2011(Location TEXT, size REAL, orientation TEXT, module TEXT, efficiency REAL, roof type TEXT, tilt REAL)")

cur.execute("DELETE FROM Population2011")

production_2011 = 100000000 #watts

q = 0
while q < production_2011 :
    
    
    
    
    #####orientation
    o = uniform(1,100)

    if o <= 56.25 :
        orientation = "South"
    elif 56.25 < o <= 62.5 :
       orientation = "South-South-East"
    elif 62.5 < o <= 68.75 :
        orientation = "South-South-West"
    elif 68.75 < o <= 75 :
        orientation = "South-East"
    elif 75 < o <= 81.25 :
        orientation = "South-West"
    elif 81.25 < o <= 87.5 :
        orientation = "East-South-East"
    elif 87.5 < o <= 93.75 :
        orientation = "West-South-West"
    else : 
        orientation = "East"
    
   
    #########module
    m = random.randint(1,100)

    if m <= 59 :
        module = "Polycrystalline silicon"
    elif 59 < m <= 90 :
        module = "Moncocrystalline silicon"
    elif 90 < m <= 94 :
        module = "Cadmium telluride"
    else : 
        module = "Amorphous silicon"
    
   
    ######efficiency
    h = random.randint(0,1)
    eff = efficiency[h]    
    
    
    ###roof type
    j = random.randint(0,1)
    roof_type = type[j]
      

    #####location
    i = random.randint(0, len(station) - 1)  
    location = station[i] 
    
    ####tilt 2011
    tilt_2011 = 30
    
    ####size + tilt
    if roof_type == "inclined" :
        p = random.randint(3,20)
        size = p*1000
        t = random.randint(0,1)
        tilt = inclined_tilt[t]
    if roof_type == "flat" :
        p = random.uniform(0,1)
        if p <= 3/5 :
            p2 = random.randint(90, 110)
            size = p2 * 1000
        if p > 3/5 : 
            p3 = random.randint(0, 1)
            if p3 == 0:
                p4 = random.randint(20,90)
                size = p4 *1000
            if p3 == 1:
                p5 = random.randint(110,1000)
                size = p5 *1000 
        tilt = tilt_2011
    
    panel = [location, size, orientation, module, eff, roof_type, tilt]
    cur.execute("INSERT INTO Population2011 VALUES(?,?,?,?,?,?,?);", panel)
    q += size
    
######################2012##########################################

cur.execute("CREATE TABLE IF NOT EXISTS Population2012(Location TEXT, size REAL, orientation TEXT, module TEXT, efficiency REAL, roof type TEXT, tilt REAL)")

cur.execute("DELETE FROM Population2012")

production_2012 = 337000000 #watts

z = 0
while z < production_2012 :
    
    
    
    
    #####orientation
    o = uniform(1,100)

    if o <= 56.25 :
        orientation = "South"
    elif 56.25 < o <= 62.5 :
       orientation = "South-South-East"
    elif 62.5 < o <= 68.75 :
        orientation = "South-South-West"
    elif 68.75 < o <= 75 :
        orientation = "South-East"
    elif 75 < o <= 81.25 :
        orientation = "South-West"
    elif 81.25 < o <= 87.5 :
        orientation = "East-South-East"
    elif 87.5 < o <= 93.75 :
        orientation = "West-South-West"
    else : 
        orientation = "East"
    
   
    #########module
    m = random.randint(1,100)

    if m <= 59 :
        module = "Polycrystalline silicon"
    elif 59 < m <= 90 :
        module = "Moncocrystalline silicon"
    elif 90 < m <= 94 :
        module = "Cadmium telluride"
    else : 
        module = "Amorphous silicon"
    
   
    ######efficiency
    h = random.randint(0,1)
    eff = efficiency[h]    
    
    
    ###roof type
    j = random.randint(0,1)
    roof_type = type[j]
      

    #####location
    i = random.randint(0, len(station) - 1)  
    location = station[i] 
    
    ####tilt 2012
    tilt_2012 = 25
    
    ####size + tilt
    if roof_type == "inclined" :
        p = random.randint(3,20)
        size = p*1000
        t = random.randint(0,1)
        tilt = inclined_tilt[t]
    if roof_type == "flat" :
        p = random.uniform(0,1)
        if p <= 3/5 :
            p2 = random.randint(90, 110)
            size = p2 * 1000
        if p > 3/5 : 
            p3 = random.randint(0, 1)
            if p3 == 0:
                p4 = random.randint(20,90)
                size = p4 *1000
            if p3 == 1:
                p5 = random.randint(110,1000)
                size = p5 *1000 
        tilt = tilt_2012
    
    panel = [location, size, orientation, module, eff, roof_type, tilt]
    cur.execute("INSERT INTO Population2012 VALUES(?,?,?,?,?,?,?);", panel)
    z += size    
   
######################2013##########################################

cur.execute("CREATE TABLE IF NOT EXISTS Population2013(Location TEXT, size REAL, orientation TEXT, module TEXT, efficiency REAL, roof type TEXT, tilt REAL)")

cur.execute("DELETE FROM Population2013")

production_2013 = 319000000 #watts

w = 0
while w < production_2013 :
    
    
    
    
    #####orientation
    o = uniform(1,100)

    if o <= 56.25 :
        orientation = "South"
    elif 56.25 < o <= 62.5 :
       orientation = "South-South-East"
    elif 62.5 < o <= 68.75 :
        orientation = "South-South-West"
    elif 68.75 < o <= 75 :
        orientation = "South-East"
    elif 75 < o <= 81.25 :
        orientation = "South-West"
    elif 81.25 < o <= 87.5 :
        orientation = "East-South-East"
    elif 87.5 < o <= 93.75 :
        orientation = "West-South-West"
    else : 
        orientation = "East"
    
   
    #########module
    m = random.randint(1,100)

    if m <= 59 :
        module = "Polycrystalline silicon"
    elif 59 < m <= 90 :
        module = "Moncocrystalline silicon"
    elif 90 < m <= 94 :
        module = "Cadmium telluride"
    else : 
        module = "Amorphous silicon"
    
   
    ######efficiency
    h = random.randint(0,1)
    eff = efficiency[h]    
    
    
    ###roof type
    j = random.randint(0,1)
    roof_type = type[j]
      

    #####location
    i = random.randint(0, len(station) - 1)  
    location = station[i] 
    
    ####tilt 2013
    tilt_2013 = 20
    
    ####size + tilt
    if roof_type == "inclined" :
        p = random.randint(3,20)
        size = p*1000
        t = random.randint(0,1)
        tilt = inclined_tilt[t]
    if roof_type == "flat" :
        p = random.uniform(0,1)
        if p <= 3/5 :
            p2 = random.randint(90, 110)
            size = p2 * 1000
        if p > 3/5 : 
            p3 = random.randint(0, 1)
            if p3 == 0:
                p4 = random.randint(20,90)
                size = p4 *1000
            if p3 == 1:
                p5 = random.randint(110,1000)
                size = p5 *1000 
        tilt = tilt_2013
    
    panel = [location, size, orientation, module, eff, roof_type, tilt]
    cur.execute("INSERT INTO Population2013 VALUES(?,?,?,?,?,?,?);", panel)
    w += size   
    
######################2014##########################################

cur.execute("CREATE TABLE IF NOT EXISTS Population2014(Location TEXT, size REAL, orientation TEXT, module TEXT, efficiency REAL, roof type TEXT, tilt REAL)")

cur.execute("DELETE FROM Population2014")

production_2014 = 305000000 #watts

b = 0
while b < production_2014 :
    
    
    
    
    #####orientation
    o = uniform(1,100)

    if o <= 56.25 :
        orientation = "South"
    elif 56.25 < o <= 62.5 :
       orientation = "South-South-East"
    elif 62.5 < o <= 68.75 :
        orientation = "South-South-West"
    elif 68.75 < o <= 75 :
        orientation = "South-East"
    elif 75 < o <= 81.25 :
        orientation = "South-West"
    elif 81.25 < o <= 87.5 :
        orientation = "East-South-East"
    elif 87.5 < o <= 93.75 :
        orientation = "West-South-West"
    else : 
        orientation = "East"
    
   
    #########module
    m = random.randint(1,100)

    if m <= 59 :
        module = "Polycrystalline silicon"
    elif 59 < m <= 90 :
        module = "Moncocrystalline silicon"
    elif 90 < m <= 94 :
        module = "Cadmium telluride"
    else : 
        module = "Amorphous silicon"
    
   
    ######efficiency
    h = random.randint(0,1)
    eff = efficiency[h]    
    
    
    ###roof type
    j = random.randint(0,1)
    roof_type = type[j]
      

    #####location
    i = random.randint(0, len(station) - 1)  
    location = station[i] 
    
    ####tilt 2014
    tilt_2014 = 16
    
    ####size + tilt
    if roof_type == "inclined" :
        p = random.randint(3,20)
        size = p*1000
        t = random.randint(0,1)
        tilt = inclined_tilt[t]
    if roof_type == "flat" :
        p = random.uniform(0,1)
        if p <= 3/5 :
            p2 = random.randint(90, 110)
            size = p2 * 1000
        if p > 3/5 : 
            p3 = random.randint(0, 1)
            if p3 == 0:
                p4 = random.randint(20,90)
                size = p4 *1000
            if p3 == 1:
                p5 = random.randint(110,1000)
                size = p5 *1000 
        tilt = tilt_2014
    
    panel = [location, size, orientation, module, eff, roof_type, tilt]
    cur.execute("INSERT INTO Population2014 VALUES(?,?,?,?,?,?,?);", panel)
    b += size    
    
######################2015##########################################

cur.execute("CREATE TABLE IF NOT EXISTS Population2015(Location TEXT, size REAL, orientation TEXT, module TEXT, efficiency REAL, roof type TEXT, tilt REAL)")

cur.execute("DELETE FROM Population2015")

production_2015 = 333000000 #watts

y = 0
while y < production_2015 :
    
    
    
    
    #####orientation
    o = uniform(1,100)

    if o <= 56.25 :
        orientation = "South"
    elif 56.25 < o <= 62.5 :
       orientation = "South-South-East"
    elif 62.5 < o <= 68.75 :
        orientation = "South-South-West"
    elif 68.75 < o <= 75 :
        orientation = "South-East"
    elif 75 < o <= 81.25 :
        orientation = "South-West"
    elif 81.25 < o <= 87.5 :
        orientation = "East-South-East"
    elif 87.5 < o <= 93.75 :
        orientation = "West-South-West"
    else : 
        orientation = "East"
    
   
    #########module
    m = random.randint(1,100)

    if m <= 59 :
        module = "Polycrystalline silicon"
    elif 59 < m <= 90 :
        module = "Moncocrystalline silicon"
    elif 90 < m <= 94 :
        module = "Cadmium telluride"
    else : 
        module = "Amorphous silicon"
    
   
    ######efficiency
    h = random.randint(0,1)
    eff = efficiency[h]    
    
    
    ###roof type
    j = random.randint(0,1)
    roof_type = type[j]
      

    #####location
    i = random.randint(0, len(station) - 1)  
    location = station[i] 
    
    ####tilt 2015
    tilt_2015 = 12
    
    ####size + tilt
    if roof_type == "inclined" :
        p = random.randint(3,20)
        size = p*1000
        t = random.randint(0,1)
        tilt = inclined_tilt[t]
    if roof_type == "flat" :
        p = random.uniform(0,1)
        if p <= 3/5 :
            p2 = random.randint(90, 110)
            size = p2 * 1000
        if p > 3/5 : 
            p3 = random.randint(0, 1)
            if p3 == 0:
                p4 = random.randint(20,90)
                size = p4 *1000
            if p3 == 1:
                p5 = random.randint(110,1000)
                size = p5 *1000    
        tilt = tilt_2015
    
    panel = [location, size, orientation, module, eff, roof_type, tilt]
    cur.execute("INSERT INTO Population2015 VALUES(?,?,?,?,?,?,?);", panel)
    y += size


    
    
conn.commit()
cur.close
conn.close()








