Created
June 21, 2024 22:38
-
-
Save OnesimusUnbound/a5c0e53ffda0b8d914b879dbb0bac86b to your computer and use it in GitHub Desktop.
Generate measurements
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| param( | |
| [int]$numRecords | |
| ) | |
| $filename = "measurements.txt" | |
| if ($numRecords -eq $null) { | |
| Write-Host "Usage: create_measurements.ps1 <number of records to create>" | |
| exit 1 | |
| } | |
| $random = [System.Random]::new(); | |
| function Get-GaussianRandomNumber { | |
| param ( | |
| [double]$mean, | |
| [double]$stdDev | |
| ) | |
| $u1 = $random.NextDouble() | |
| $u2 = $random.NextDouble() | |
| $randStdNormal = [math]::Sqrt(-2.0 * [math]::Log($u1)) * [math]::Sin((2.0 * [math]::PI) * $u2) | |
| $randNormal = $mean + $stdDev * $randStdNormal | |
| return $randNormal | |
| } | |
| $stations = @( | |
| @{id="Abha"; meanTemperature=18.0}, | |
| @{id="Abidjan"; meanTemperature=26.0}, | |
| @{id="Abéché"; meanTemperature=29.4}, | |
| @{id="Accra"; meanTemperature=26.4}, | |
| @{id="Addis Ababa"; meanTemperature=16.0}, | |
| @{id="Adelaide"; meanTemperature=17.3}, | |
| @{id="Aden"; meanTemperature=29.1}, | |
| @{id="Ahvaz"; meanTemperature=25.4}, | |
| @{id="Albuquerque"; meanTemperature=14.0}, | |
| @{id="Alexandra"; meanTemperature=11.0}, | |
| @{id="Alexandria"; meanTemperature=20.0}, | |
| @{id="Algiers"; meanTemperature=18.2}, | |
| @{id="Alice Springs"; meanTemperature=21.0}, | |
| @{id="Almaty"; meanTemperature=10.0}, | |
| @{id="Amsterdam"; meanTemperature=10.2}, | |
| @{id="Anadyr"; meanTemperature=-6.9}, | |
| @{id="Anchorage"; meanTemperature=2.8}, | |
| @{id="Andorra la Vella"; meanTemperature=9.8}, | |
| @{id="Ankara"; meanTemperature=12.0}, | |
| @{id="Antananarivo"; meanTemperature=17.9}, | |
| @{id="Antsiranana"; meanTemperature=25.2}, | |
| @{id="Arkhangelsk"; meanTemperature=1.3}, | |
| @{id="Ashgabat"; meanTemperature=17.1}, | |
| @{id="Asmara"; meanTemperature=15.6}, | |
| @{id="Assab"; meanTemperature=30.5}, | |
| @{id="Astana"; meanTemperature=3.5}, | |
| @{id="Athens"; meanTemperature=19.2}, | |
| @{id="Atlanta"; meanTemperature=17.0}, | |
| @{id="Auckland"; meanTemperature=15.2}, | |
| @{id="Austin"; meanTemperature=20.7}, | |
| @{id="Baghdad"; meanTemperature=22.77}, | |
| @{id="Baguio"; meanTemperature=19.5}, | |
| @{id="Baku"; meanTemperature=15.1}, | |
| @{id="Baltimore"; meanTemperature=13.1}, | |
| @{id="Bamako"; meanTemperature=27.8}, | |
| @{id="Bangkok"; meanTemperature=28.6}, | |
| @{id="Bangui"; meanTemperature=26.0}, | |
| @{id="Banjul"; meanTemperature=26.0}, | |
| @{id="Barcelona"; meanTemperature=18.2}, | |
| @{id="Bata"; meanTemperature=25.1}, | |
| @{id="Batumi"; meanTemperature=14.0}, | |
| @{id="Beijing"; meanTemperature=12.9}, | |
| @{id="Beirut"; meanTemperature=20.9}, | |
| @{id="Belgrade"; meanTemperature=12.5}, | |
| @{id="Belize City"; meanTemperature=26.7}, | |
| @{id="Benghazi"; meanTemperature=19.9}, | |
| @{id="Bergen"; meanTemperature=7.7}, | |
| @{id="Berlin"; meanTemperature=10.3}, | |
| @{id="Bilbao"; meanTemperature=14.7}, | |
| @{id="Birao"; meanTemperature=26.5}, | |
| @{id="Bishkek"; meanTemperature=11.3}, | |
| @{id="Bissau"; meanTemperature=27.0}, | |
| @{id="Blantyre"; meanTemperature=22.2}, | |
| @{id="Bloemfontein"; meanTemperature=15.6}, | |
| @{id="Boise"; meanTemperature=11.4}, | |
| @{id="Bordeaux"; meanTemperature=14.2}, | |
| @{id="Bosaso"; meanTemperature=30.0}, | |
| @{id="Boston"; meanTemperature=10.9}, | |
| @{id="Bouaké"; meanTemperature=26.0}, | |
| @{id="Bratislava"; meanTemperature=10.5}, | |
| @{id="Brazzaville"; meanTemperature=25.0}, | |
| @{id="Bridgetown"; meanTemperature=27.0}, | |
| @{id="Brisbane"; meanTemperature=21.4}, | |
| @{id="Brussels"; meanTemperature=10.5}, | |
| @{id="Bucharest"; meanTemperature=10.8}, | |
| @{id="Budapest"; meanTemperature=11.3}, | |
| @{id="Bujumbura"; meanTemperature=23.8}, | |
| @{id="Bulawayo"; meanTemperature=18.9}, | |
| @{id="Burnie"; meanTemperature=13.1}, | |
| @{id="Busan"; meanTemperature=15.0}, | |
| @{id="Cabo San Lucas"; meanTemperature=23.9}, | |
| @{id="Cairns"; meanTemperature=25.0}, | |
| @{id="Cairo"; meanTemperature=21.4}, | |
| @{id="Calgary"; meanTemperature=4.4}, | |
| @{id="Canberra"; meanTemperature=13.1}, | |
| @{id="Cape Town"; meanTemperature=16.2}, | |
| @{id="Changsha"; meanTemperature=17.4}, | |
| @{id="Charlotte"; meanTemperature=16.1}, | |
| @{id="Chiang Mai"; meanTemperature=25.8}, | |
| @{id="Chicago"; meanTemperature=9.8}, | |
| @{id="Chihuahua"; meanTemperature=18.6}, | |
| @{id="Chișinău"; meanTemperature=10.2}, | |
| @{id="Chittagong"; meanTemperature=25.9}, | |
| @{id="Chongqing"; meanTemperature=18.6}, | |
| @{id="Christchurch"; meanTemperature=12.2}, | |
| @{id="City of San Marino"; meanTemperature=11.8}, | |
| @{id="Colombo"; meanTemperature=27.4}, | |
| @{id="Columbus"; meanTemperature=11.7}, | |
| @{id="Conakry"; meanTemperature=26.4}, | |
| @{id="Copenhagen"; meanTemperature=9.1}, | |
| @{id="Cotonou"; meanTemperature=27.2}, | |
| @{id="Cracow"; meanTemperature=9.3}, | |
| @{id="Da Lat"; meanTemperature=17.9}, | |
| @{id="Da Nang"; meanTemperature=25.8}, | |
| @{id="Dakar"; meanTemperature=24.0}, | |
| @{id="Dallas"; meanTemperature=19.0}, | |
| @{id="Damascus"; meanTemperature=17.0}, | |
| @{id="Dampier"; meanTemperature=26.4}, | |
| @{id="Dar es Salaam"; meanTemperature=25.8}, | |
| @{id="Darwin"; meanTemperature=27.6}, | |
| @{id="Denpasar"; meanTemperature=23.7}, | |
| @{id="Denver"; meanTemperature=10.4}, | |
| @{id="Detroit"; meanTemperature=10.0}, | |
| @{id="Dhaka"; meanTemperature=25.9}, | |
| @{id="Dikson"; meanTemperature=-11.1}, | |
| @{id="Dili"; meanTemperature=26.6}, | |
| @{id="Djibouti"; meanTemperature=29.9}, | |
| @{id="Dodoma"; meanTemperature=22.7}, | |
| @{id="Dolisie"; meanTemperature=24.0}, | |
| @{id="Douala"; meanTemperature=26.7}, | |
| @{id="Dubai"; meanTemperature=26.9}, | |
| @{id="Dublin"; meanTemperature=9.8}, | |
| @{id="Dunedin"; meanTemperature=11.1}, | |
| @{id="Durban"; meanTemperature=20.6}, | |
| @{id="Dushanbe"; meanTemperature=14.7}, | |
| @{id="Edinburgh"; meanTemperature=9.3}, | |
| @{id="Edmonton"; meanTemperature=4.2}, | |
| @{id="El Paso"; meanTemperature=18.1}, | |
| @{id="Entebbe"; meanTemperature=21.0}, | |
| @{id="Erbil"; meanTemperature=20.0}, | |
| @{id="Esperance"; meanTemperature=16.5}, | |
| @{id="Fairbanks"; meanTemperature=-3.2}, | |
| @{id="Faisalabad"; meanTemperature=24.0}, | |
| @{id="Fortaleza"; meanTemperature=26.8}, | |
| @{id="Fort Worth"; meanTemperature=19.3}, | |
| @{id="Freeport"; meanTemperature=24.3}, | |
| @{id="Freetown"; meanTemperature=27.0}, | |
| @{id="Fukuoka"; meanTemperature=17.0}, | |
| @{id="Funafuti"; meanTemperature=29.2}, | |
| @{id="Gabala"; meanTemperature=11.4}, | |
| @{id="Galapagos"; meanTemperature=24.7}, | |
| @{id="Galle"; meanTemperature=26.7}, | |
| @{id="Gander"; meanTemperature=3.9}, | |
| @{id="Gao"; meanTemperature=29.4}, | |
| @{id="Garoua"; meanTemperature=27.5}, | |
| @{id="Geelong"; meanTemperature=14.5}, | |
| @{id="Georgetown"; meanTemperature=26.4}, | |
| @{id="Gibraltar"; meanTemperature=18.6}, | |
| @{id="Gitega"; meanTemperature=19.5}, | |
| @{id="Giza"; meanTemperature=20.8}, | |
| @{id="Guadalajara"; meanTemperature=20.5}, | |
| @{id="Guangzhou"; meanTemperature=22.6}, | |
| @{id="Guatemala City"; meanTemperature=18.1}, | |
| @{id="Guayaquil"; meanTemperature=25.5}, | |
| @{id="Gustavo Díaz Ordaz"; meanTemperature=24.0}, | |
| @{id="Hamburg"; meanTemperature=9.4}, | |
| @{id="Hamilton"; meanTemperature=15.6}, | |
| @{id="Hanoi"; meanTemperature=23.6}, | |
| @{id="Harare"; meanTemperature=17.9}, | |
| @{id="Harbin"; meanTemperature=3.6}, | |
| @{id="Hargeisa"; meanTemperature=18.4}, | |
| @{id="Havana"; meanTemperature=25.5}, | |
| @{id="Helsinki"; meanTemperature=5.9}, | |
| @{id="Ho Chi Minh City"; meanTemperature=27.1}, | |
| @{id="Hobart"; meanTemperature=13.0}, | |
| @{id="Hong Kong"; meanTemperature=23.4}, | |
| @{id="Honolulu"; meanTemperature=25.2}, | |
| @{id="Houston"; meanTemperature=20.8}, | |
| @{id="Hué"; meanTemperature=25.1}, | |
| @{id="Hyderabad"; meanTemperature=26.0}, | |
| @{id="Ilulissat"; meanTemperature=-3.2}, | |
| @{id="Indianapolis"; meanTemperature=11.8}, | |
| @{id="Innsbruck"; meanTemperature=9.4}, | |
| @{id="Invercargill"; meanTemperature=9.9}, | |
| @{id="Ipoh"; meanTemperature=27.0}, | |
| @{id="Iqaluit"; meanTemperature=-9.8}, | |
| @{id="Iquique"; meanTemperature=17.0}, | |
| @{id="Irkutsk"; meanTemperature=1.1}, | |
| @{id="Islamabad"; meanTemperature=21.3}, | |
| @{id="Istanbul"; meanTemperature=14.3}, | |
| @{id="Izmir"; meanTemperature=17.4}, | |
| @{id="Jackson"; meanTemperature=18.5}, | |
| @{id="Jacksonville"; meanTemperature=20.4}, | |
| @{id="Jakarta"; meanTemperature=27.6}, | |
| @{id="Jammu"; meanTemperature=24.5}, | |
| @{id="Jinan"; meanTemperature=14.2}, | |
| @{id="Johannesburg"; meanTemperature=16.0}, | |
| @{id="Juba"; meanTemperature=27.1}, | |
| @{id="Juneau"; meanTemperature=3.9}, | |
| @{id="Kabul"; meanTemperature=12.1}, | |
| @{id="Kaduna"; meanTemperature=25.0}, | |
| @{id="Kagoshima"; meanTemperature=18.0}, | |
| @{id="Kahului"; meanTemperature=24.2}, | |
| @{id="Kaohsiung"; meanTemperature=25.0}, | |
| @{id="Karachi"; meanTemperature=26.7}, | |
| @{id="Kathmandu"; meanTemperature=18.2}, | |
| @{id="Khartoum"; meanTemperature=29.6}, | |
| @{id="Kiev"; meanTemperature=8.4}, | |
| @{id="Kigali"; meanTemperature=20.6}, | |
| @{id="Kingston"; meanTemperature=26.9}, | |
| @{id="Kinshasa"; meanTemperature=26.4}, | |
| @{id="Kolkata"; meanTemperature=26.9}, | |
| @{id="Koror"; meanTemperature=28.0}, | |
| @{id="Kos"; meanTemperature=18.7}, | |
| @{id="Kuala Lumpur"; meanTemperature=27.4}, | |
| @{id="Kuching"; meanTemperature=27.2}, | |
| @{id="Kuwait City"; meanTemperature=26.6}, | |
| @{id="Kyoto"; meanTemperature=15.9}, | |
| @{id="Lagos"; meanTemperature=27.0}, | |
| @{id="La Paz"; meanTemperature=10.4}, | |
| @{id="Las Palmas"; meanTemperature=21.3}, | |
| @{id="Las Vegas"; meanTemperature=19.8}, | |
| @{id="Launceston"; meanTemperature=12.5}, | |
| @{id="Libreville"; meanTemperature=26.0}, | |
| @{id="Lilongwe"; meanTemperature=19.3}, | |
| @{id="Lima"; meanTemperature=19.2}, | |
| @{id="Limerick"; meanTemperature=9.9}, | |
| @{id="Linz"; meanTemperature=9.6}, | |
| @{id="Lisbon"; meanTemperature=17.5}, | |
| @{id="Ljubljana"; meanTemperature=9.8}, | |
| @{id="Lomé"; meanTemperature=27.0}, | |
| @{id="London"; meanTemperature=11.1}, | |
| @{id="Los Angeles"; meanTemperature=18.3}, | |
| @{id="Luanda"; meanTemperature=24.2}, | |
| @{id="Lubumbashi"; meanTemperature=20.8}, | |
| @{id="Lucknow"; meanTemperature=25.7}, | |
| @{id="Lusaka"; meanTemperature=20.2}, | |
| @{id="Luxembourg"; meanTemperature=9.1}, | |
| @{id="Macao"; meanTemperature=22.8}, | |
| @{id="Mackay"; meanTemperature=23.6}, | |
| @{id="Madrid"; meanTemperature=14.3}, | |
| @{id="Majuro"; meanTemperature=27.6}, | |
| @{id="Malabo"; meanTemperature=25.9}, | |
| @{id="Malang"; meanTemperature=22.2}, | |
| @{id="Malé"; meanTemperature=28.0}, | |
| @{id="Malindi"; meanTemperature=25.9}, | |
| @{id="Malta"; meanTemperature=19.3}, | |
| @{id="Manaus"; meanTemperature=26.6}, | |
| @{id="Manila"; meanTemperature=27.2}, | |
| @{id="Maputo"; meanTemperature=22.2}, | |
| @{id="Maseru"; meanTemperature=14.8}, | |
| @{id="Matadi"; meanTemperature=25.6}, | |
| @{id="Matsumoto"; meanTemperature=11.8}, | |
| @{id="Mazatlán"; meanTemperature=25.0}, | |
| @{id="Mbabane"; meanTemperature=16.3}, | |
| @{id="Mecca"; meanTemperature=30.8}, | |
| @{id="Medan"; meanTemperature=26.2}, | |
| @{id="Medellín"; meanTemperature=22.0}, | |
| @{id="Melbourne"; meanTemperature=15.2}, | |
| @{id="Memphis"; meanTemperature=17.0}, | |
| @{id="Mexico City"; meanTemperature=15.9}, | |
| @{id="Miami"; meanTemperature=23.9}, | |
| @{id="Minsk"; meanTemperature=6.4}, | |
| @{id="Mogadishu"; meanTemperature=27.1}, | |
| @{id="Monaco"; meanTemperature=16.0}, | |
| @{id="Monrovia"; meanTemperature=25.7}, | |
| @{id="Montevideo"; meanTemperature=16.6}, | |
| @{id="Montreal"; meanTemperature=6.4}, | |
| @{id="Moroni"; meanTemperature=24.9}, | |
| @{id="Moscow"; meanTemperature=5.4}, | |
| @{id="Multan"; meanTemperature=25.9}, | |
| @{id="Mumbai"; meanTemperature=26.7}, | |
| @{id="Munich"; meanTemperature=7.7}, | |
| @{id="Muscat"; meanTemperature=27.6}, | |
| @{id="Nairobi"; meanTemperature=19.2}, | |
| @{id="Nanjing"; meanTemperature=15.5}, | |
| @{id="Naples"; meanTemperature=17.2}, | |
| @{id="Nassau"; meanTemperature=24.5}, | |
| @{id="Naypyidaw"; meanTemperature=27.0}, | |
| @{id="Ndjamena"; meanTemperature=27.6}, | |
| @{id="New Delhi"; meanTemperature=25.3}, | |
| @{id="New Orleans"; meanTemperature=20.6}, | |
| @{id="New York"; meanTemperature=13.8}, | |
| @{id="Niamey"; meanTemperature=29.0}, | |
| @{id="Nice"; meanTemperature=16.3}, | |
| @{id="Nicosia"; meanTemperature=20.1}, | |
| @{id="Niigata"; meanTemperature=12.3}, | |
| @{id="Nouakchott"; meanTemperature=24.4}, | |
| @{id="Noumea"; meanTemperature=23.0}, | |
| @{id="Nukualofa"; meanTemperature=23.5}, | |
| @{id="Nuremberg"; meanTemperature=8.8}, | |
| @{id="Nuuk"; meanTemperature=-1.2}, | |
| @{id="Oaxaca"; meanTemperature=20.5}, | |
| @{id="Odessa"; meanTemperature=11.5}, | |
| @{id="Osaka"; meanTemperature=16.6}, | |
| @{id="Oslo"; meanTemperature=6.7}, | |
| @{id="Ottawa"; meanTemperature=5.8}, | |
| @{id="Ouagadougou"; meanTemperature=28.1}, | |
| @{id="Padang"; meanTemperature=26.4}, | |
| @{id="Pago Pago"; meanTemperature=27.0}, | |
| @{id="Palembang"; meanTemperature=26.9}, | |
| @{id="Panama City"; meanTemperature=27.0}, | |
| @{id="Paramaribo"; meanTemperature=27.1}, | |
| @{id="Paris"; meanTemperature=11.7}, | |
| @{id="Patna"; meanTemperature=25.7}, | |
| @{id="Pekanbaru"; meanTemperature=27.0}, | |
| @{id="Peshawar"; meanTemperature=22.0}, | |
| @{id="Philadelphia"; meanTemperature=13.0}, | |
| @{id="Phnom Penh"; meanTemperature=28.0}, | |
| @{id="Phuket"; meanTemperature=28.0}, | |
| @{id="Phu Quoc"; meanTemperature=27.5}, | |
| @{id="Podgorica"; meanTemperature=13.3}, | |
| @{id="Port Moresby"; meanTemperature=27.1}, | |
| @{id="Port Louis"; meanTemperature=23.4}, | |
| @{id="Port Vila"; meanTemperature=23.8}, | |
| @{id="Prague"; meanTemperature=9.1}, | |
| @{id="Praia"; meanTemperature=24.1}, | |
| @{id="Pretoria"; meanTemperature=18.0}, | |
| @{id="Puebla"; meanTemperature=16.0}, | |
| @{id="Pune"; meanTemperature=24.0}, | |
| @{id="Pyongyang"; meanTemperature=10.2}, | |
| @{id="Quebec"; meanTemperature=3.8}, | |
| @{id="Quito"; meanTemperature=13.3}, | |
| @{id="Rabat"; meanTemperature=17.8}, | |
| @{id="Rawalpindi"; meanTemperature=21.3}, | |
| @{id="Recife"; meanTemperature=25.5}, | |
| @{id="Reykjavik"; meanTemperature=4.2}, | |
| @{id="Riga"; meanTemperature=6.8}, | |
| @{id="Riyadh"; meanTemperature=25.6}, | |
| @{id="Rome"; meanTemperature=15.7}, | |
| @{id="Saipan"; meanTemperature=28.0}, | |
| @{id="Salvador"; meanTemperature=25.1}, | |
| @{id="Salzburg"; meanTemperature=9.3}, | |
| @{id="Samoa"; meanTemperature=27.0}, | |
| @{id="San Antonio"; meanTemperature=20.5}, | |
| @{id="San Diego"; meanTemperature=17.6}, | |
| @{id="San Francisco"; meanTemperature=13.6}, | |
| @{id="San José"; meanTemperature=21.4}, | |
| @{id="San Juan"; meanTemperature=26.7}, | |
| @{id="San Salvador"; meanTemperature=24.0}, | |
| @{id="Santa Cruz"; meanTemperature=23.4}, | |
| @{id="Santa Marta"; meanTemperature=27.0}, | |
| @{id="Santorini"; meanTemperature=17.1}, | |
| @{id="Sao Paulo"; meanTemperature=19.0}, | |
| @{id="Sapporo"; meanTemperature=8.6}, | |
| @{id="Sarajevo"; meanTemperature=10.2}, | |
| @{id="Seattle"; meanTemperature=11.6}, | |
| @{id="Seoul"; meanTemperature=11.9}, | |
| @{id="Shanghai"; meanTemperature=16.0}, | |
| @{id="Singapore"; meanTemperature=27.0}, | |
| @{id="Sofia"; meanTemperature=10.8}, | |
| @{id="South Tarawa"; meanTemperature=28.2}, | |
| @{id="Stockholm"; meanTemperature=7.1}, | |
| @{id="Sucre"; meanTemperature=13.0}, | |
| @{id="Surabaya"; meanTemperature=26.9}, | |
| @{id="Surat"; meanTemperature=26.7}, | |
| @{id="Suva"; meanTemperature=25.5}, | |
| @{id="Sydney"; meanTemperature=18.0}, | |
| @{id="Tabriz"; meanTemperature=11.0}, | |
| @{id="Taichung"; meanTemperature=23.0}, | |
| @{id="Taipei"; meanTemperature=23.0}, | |
| @{id="Tallinn"; meanTemperature=6.6}, | |
| @{id="Tashkent"; meanTemperature=14.4}, | |
| @{id="Tbilisi"; meanTemperature=13.4}, | |
| @{id="Tegucigalpa"; meanTemperature=22.0}, | |
| @{id="Tehran"; meanTemperature=17.0}, | |
| @{id="Thessaloniki"; meanTemperature=15.3}, | |
| @{id="Thimphu"; meanTemperature=12.7}, | |
| @{id="Tianjin"; meanTemperature=14.0}, | |
| @{id="Tijuana"; meanTemperature=17.0}, | |
| @{id="Tirana"; meanTemperature=15.6}, | |
| @{id="Tokyo"; meanTemperature=16.4}, | |
| @{id="Toronto"; meanTemperature=8.4}, | |
| @{id="Tórshavn"; meanTemperature=6.5}, | |
| @{id="Tripoli"; meanTemperature=20.3}, | |
| @{id="Tunis"; meanTemperature=18.3}, | |
| @{id="Ulaanbaatar"; meanTemperature=-0.4}, | |
| @{id="Vaduz"; meanTemperature=9.7}, | |
| @{id="Valletta"; meanTemperature=19.3}, | |
| @{id="Vancouver"; meanTemperature=10.0}, | |
| @{id="Victoria"; meanTemperature=27.0}, | |
| @{id="Vienna"; meanTemperature=9.4}, | |
| @{id="Vientiane"; meanTemperature=25.5}, | |
| @{id="Vilnius"; meanTemperature=7.0}, | |
| @{id="Warsaw"; meanTemperature=7.7}, | |
| @{id="Washington"; meanTemperature=13.5}, | |
| @{id="Wellington"; meanTemperature=13.3}, | |
| @{id="West Island"; meanTemperature=27.0}, | |
| @{id="Windhoek"; meanTemperature=20.5}, | |
| @{id="Winnipeg"; meanTemperature=2.6}, | |
| @{id="Warsaw"; meanTemperature=8.2}, | |
| @{id="Wuhan"; meanTemperature=17.0}, | |
| @{id="Wuxi"; meanTemperature=16.0}, | |
| @{id="Xiamen"; meanTemperature=20.0}, | |
| @{id="Yangon"; meanTemperature=27.5}, | |
| @{id="Yaoundé"; meanTemperature=23.5}, | |
| @{id="Yerevan"; meanTemperature=11.6}, | |
| @{id="Yokohama"; meanTemperature=15.9}, | |
| @{id="Zagreb"; meanTemperature=11.1}, | |
| @{id="Zanzibar"; meanTemperature=26.8}, | |
| @{id="Zurich"; meanTemperature=8.5} | |
| ); | |
| $startTime = Get-Date | |
| $fileStream = $null | |
| $streamWriter = $null | |
| try { | |
| [int]$stationCount = $stations.Count; | |
| $path = Join-Path (Resolve-Path ".") $filename | |
| $fileStream = [System.IO.File]::Open($path, [System.IO.FileMode]::Create, [System.IO.FileAccess]::Write, [System.IO.FileShare]::None) | |
| $streamWriter = [System.IO.StreamWriter]::new($fileStream, [System.Text.Encoding]::Default, 4096) | |
| for ($i = 0; $i -lt $numRecords; $i++) { | |
| $station = $stations[$i % $stationCount] | |
| $stationId = $station.id | |
| $stationTemp = [math]::Round((Get-GaussianRandomNumber -mean $station.meanTemperature -stdDev 10.0), 1) | |
| [void]$streamWriter.WriteLine("$stationId;$stationTemp") | |
| if ($i % 100000 -eq 0) { | |
| Write-Output "$([math]::Round($i / $numRecords * 100, 2))% complete" | |
| } | |
| } | |
| } | |
| finally { | |
| if ($null -ne $streamWriter) { | |
| $streamWriter.Close() | |
| } | |
| if ($null -ne $fileStream) { | |
| $fileStream.Close() | |
| } | |
| } | |
| $endTime = Get-Date | |
| $duration = $endTime - $startTime | |
| Write-Output "Start Time: $startTime" | |
| Write-Output "End Time: $endTime" | |
| Write-Output "Duration: $duration" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment