Improve locations coords

merge-requests/30/head
Bob Mottram 2021-05-10 14:43:38 +01:00
parent 69fe94208e
commit 0011f1a40b
3 changed files with 79 additions and 65 deletions

View File

@ -348,23 +348,21 @@ ANKLAM, GERMANY:53.8325:13.6689
COTTBUS, GERMANY:51.8894:14.5317 COTTBUS, GERMANY:51.8894:14.5317
KOETHEN, GERMANY:51.7211:11.9617 KOETHEN, GERMANY:51.7211:11.9617
KAMENZ, GERMANY:51.2961:14.1289 KAMENZ, GERMANY:51.2961:14.1289
BERLIN, GERMANY:52.38:13.5225 BERLIN, GERMANY:52.5170365:13.3888599
DRESDEN, GERMANY:51.1325:13.7669 DRESDEN, GERMANY:51.0493286:13.7381437
ERFURT, GERMANY:50.98:10.9581 ERFURT, GERMANY:50.98:10.9581
FRANKFURT, GERMANY:50.0264:8.54306 FRANKFURT, GERMANY:50.1106444:8.6820917
MUENSTER/OSNABRUECK, GERMANY:52.1344:7.68472 MUENSTER/OSNABRUECK, GERMANY:52.1344:7.68472
HAMBURG, GERMANY:53.6303:9.98806 HAMBURG, GERMANY:53.550341:10.000654
BERLIN, GERMANY:52.4728:13.4039
COLOGNE, GERMANY:50.8658:7.1425 COLOGNE, GERMANY:50.8658:7.1425
DUESSELDORF, GERMANY:51.2894:6.76667 DUESSELDORF, GERMANY:51.2894:6.76667
MUNICH, GERMANY:48.3536:11.7858 MUNICH, GERMANY:48.1371079:11.5753822
NUERNBERG, GERMANY:49.4986:11.0781 NUERNBERG, GERMANY:49.453872:11.077298
LEIPZIG, GERMANY:51.4239:12.2361 LEIPZIG, GERMANY:51.3406321:12.3747329
SAARBRUECKEN, GERMANY:49.2144:7.10944 SAARBRUECKEN, GERMANY:49.2144:7.10944
STUTTGART, GERMANY:48.6897:9.22194 STUTTGART, GERMANY:48.7784485:9.1800132
BERLIN, GERMANY:52.5594:13.2875 HANNOVER, GERMANY:52.3744779:9.7385532
HANNOVER, GERMANY:52.4608:9.685 BREMEN, GERMANY:53.0758196:8.8071646
BREMEN, GERMANY:53.0475:8.78667
EGELSBACH, GERMANY:49.9608:8.64361 EGELSBACH, GERMANY:49.9608:8.64361
HAHN, GERMANY:49.9497:7.26389 HAHN, GERMANY:49.9497:7.26389
MANNHEIM, GERMANY:49.4725:8.51361 MANNHEIM, GERMANY:49.4725:8.51361
@ -373,7 +371,6 @@ WORMS, GERMANY:49.6064:8.36833
MAINZ, GERMANY:49.9689:8.1475 MAINZ, GERMANY:49.9689:8.1475
EISENACH, GERMANY:50.9928:10.4725 EISENACH, GERMANY:50.9928:10.4725
SIEGERLAND, GERMANY:50.7075:8.08194 SIEGERLAND, GERMANY:50.7075:8.08194
HAMBURG, GERMANY:53.5353:9.83528
KIEL, GERMANY:54.3794:10.145 KIEL, GERMANY:54.3794:10.145
LUEBECK, GERMANY:53.8053:10.7192 LUEBECK, GERMANY:53.8053:10.7192
AACHEN, GERMANY:50.8228:6.18722 AACHEN, GERMANY:50.8228:6.18722
@ -381,11 +378,11 @@ DAHLEMER BINZ, GERMANY:50.4058:6.52806
MEINERZHAGEN, GERMANY:51.0994:7.60194 MEINERZHAGEN, GERMANY:51.0994:7.60194
ARNSBERG, GERMANY:51.4833:7.89917 ARNSBERG, GERMANY:51.4833:7.89917
KAMP, GERMANY:51.5303:6.53694 KAMP, GERMANY:51.5303:6.53694
ESSEN, GERMANY:51.4014:6.93583 ESSEN, GERMANY:51.4582235:7.0158171
MOENCHENGLADBACH, GERMANY:51.2303:6.50444 MOENCHENGLADBACH, GERMANY:51.2303:6.50444
PADERBORN, GERMANY:51.6142:8.61611 PADERBORN, GERMANY:51.6142:8.61611
STADTLOHN, GERMANY:51.9958:6.84028 STADTLOHN, GERMANY:51.9958:6.84028
DORTMUND, GERMANY:51.5181:7.61222 DORTMUND, GERMANY:51.5142273:7.4652789
AUGSBURG, GERMANY:48.425:10.9317 AUGSBURG, GERMANY:48.425:10.9317
BIBERACH, GERMANY:48.1108:9.76278 BIBERACH, GERMANY:48.1108:9.76278
EGGENFELDEN, GERMANY:48.3961:12.7236 EGGENFELDEN, GERMANY:48.3961:12.7236
@ -436,8 +433,7 @@ TARTU-ULENURME, ESTONIA:58.3072:26.6903
ENONTEKIO, FINLAND:68.3625:23.4242 ENONTEKIO, FINLAND:68.3625:23.4242
EURA, FINLAND:61.1161:22.2014 EURA, FINLAND:61.1161:22.2014
HALLI, FINLAND:61.8558:24.7864 HALLI, FINLAND:61.8558:24.7864
HELSINKI, FINLAND:60.2544:25.0428 HELSINKI, FINLAND:60.23542123800722:24.927984421582043
HELSINKI, FINLAND:60.32:24.9561
HAMEENKYRO, FINLAND:61.6894:23.0736 HAMEENKYRO, FINLAND:61.6894:23.0736
HANKO, FINLAND:59.8486:23.0833 HANKO, FINLAND:59.8486:23.0833
HYVINKAA, FINLAND:60.6544:24.8811 HYVINKAA, FINLAND:60.6544:24.8811
@ -483,17 +479,16 @@ VARKAUS, FINLAND:62.1711:27.8686
YLIVIESKA-RAUDASKYLA, FINLAND:64.0603:24.7158 YLIVIESKA-RAUDASKYLA, FINLAND:64.0603:24.7158
BELFAST, NORTH IRELAND:54.6575:W6.21583 BELFAST, NORTH IRELAND:54.6575:W6.21583
ENNISKILLEN, ENGLAND:54.3989:W7.65167 ENNISKILLEN, ENGLAND:54.3989:W7.65167
BELFAST, NORTH IRELAND:54.6181:W5.8725 LONDONDERRY, NORTH IRELAND:54.9978678:W7.3213056
LONDONDERRY, NORTH IRELAND:55.0428:W7.16111 BIRMINGHAM, ENGLAND:52.4796992:W1.9026911
BIRMINGHAM, ENGLAND:52.4536:W1.74778 COVENTRY, ENGLAND:52.4081812:W1.510477
COVENTRY, ENGLAND:52.3697:W1.47972 LEICESTER, ENGLAND:52.6361398:W1.1330789
LEICESTER, ENGLAND:52.6078:W1.03194
GOLOUCHESTERSHIRE, ENGLAND:51.8942:W2.16722 GOLOUCHESTERSHIRE, ENGLAND:51.8942:W2.16722
NOTTINGHAM, ENGLAND:52.92:W1.07917 NOTTINGHAM, ENGLAND:52.9534193:W1.1496461
HALFPENNY GREEN, ENGLAND:52.5175:W2.25972 HALFPENNY GREEN, ENGLAND:52.5175:W2.25972
PAILTON, UK:51.6681:W2.05694 PAILTON, UK:51.6681:W2.05694
TURWESTON, UK:52.0408:W1.09556 TURWESTON, UK:52.0408:W1.09556
MANCHESTER, ENGLAND:53.3536:W2.27472 MANCHESTER, ENGLAND:53.4794892:W2.2451148
WOODFORT, ENGLAND:53.3381:W2.14889 WOODFORT, ENGLAND:53.3381:W2.14889
SANDTOFT, UK:53.5597:W0.858333 SANDTOFT, UK:53.5597:W0.858333
CHIVENOR, ENGLAND:51.0869:W4.15028 CHIVENOR, ENGLAND:51.0869:W4.15028
@ -504,25 +499,20 @@ CULDROSE, ENGLAND:50.0858:W5.25556
ST. ATHAN, UK:51.4047:W3.43556 ST. ATHAN, UK:51.4047:W3.43556
YEOVILTON, UK:51.0092:W2.63861 YEOVILTON, UK:51.0092:W2.63861
HAVERFORDWEST, ENGLAND:51.8331:W4.96111 HAVERFORDWEST, ENGLAND:51.8331:W4.96111
CARDIFF, WALES:51.3967:W3.34333 CARDIFF, WALES:51.4816546:W3.1791934
SWANSEA, ENGLAND:51.6053:W4.06778 SWANSEA, ENGLAND:51.623192463569175:W3.9580269270752
BRISTOL, ENGLAND:51.3825:W2.71889 BRISTOL, ENGLAND:51.4538022:W2.5972985
LIVERPOOL, ENGLAND:53.3336:W2.84972 LIVERPOOL, ENGLAND:53.407154:W2.991665
LONDON, ENGLAND:51.8744:W0.368333 LONDON, ENGLAND:51.5073219:W0.1276474
PLYMOUTH, ENGLAND:50.4228:W4.10583 PLYMOUTH, ENGLAND:50.38433871605018:W4.142479969311532
BOURNEMOUTH, ENGLAND:50.78:W1.8425 BOURNEMOUTH, ENGLAND:50.7423141383493:W1.8999454858886722
SOUTHAMPTON, ENGLAND:50.95:W1.35667 SOUTHAMPTON, ENGLAND:50.92571412096368:W1.4174069260253863
LASHAM, ENGLAND:51.185:W1.03222 LASHAM, ENGLAND:51.185:W1.03222
GUERNSEY, GUERNSEY ISLD.:49.4347:W2.60194 GUERNSEY, GUERNSEY ISLD.:49.4347:W2.60194
JERSEY, ENGLAND:49.2078:W2.19528 JERSEY, ENGLAND:51.7682578:W0.293425
SHOREHAM BY SEA, ENGLAND:50.8356:W0.297222
BIGGIN HILL, ENGLAND:51.3308:0.0325
LONDON, ENGLAND:51.1481:W0.190278
LONDON, ENGLAND:51.505:0.0541667
FARNBOROUGH, ENGLAND:51.2758:W0.776111 FARNBOROUGH, ENGLAND:51.2758:W0.776111
CHALSGROVE, ENGLAND:51.6761:W1.08083 CHALSGROVE, ENGLAND:51.6761:W1.08083
BLACKBUSHE, ENGLAND:51.3239:W0.8475 BLACKBUSHE, ENGLAND:51.3239:W0.8475
LONDON, ENGALND:51.4775:W0.461389
SOUTHEND, ENGLAND:51.5714:0.695556 SOUTHEND, ENGLAND:51.5714:0.695556
LYDD, UK:50.9561:0.939167 LYDD, UK:50.9561:0.939167
MANSTON, ENGLAND:51.3422:1.34611 MANSTON, ENGLAND:51.3422:1.34611
@ -531,13 +521,12 @@ CARLISLE, ENGLAND:54.9375:W2.80917
BLACKPOOL, ENGLAND:53.7717:W3.02861 BLACKPOOL, ENGLAND:53.7717:W3.02861
HUMBERSIDE, ENGLAND:53.5744:W0.350833 HUMBERSIDE, ENGLAND:53.5744:W0.350833
BARROW ISLAND, ENGLAND:54.1297:W3.25611 BARROW ISLAND, ENGLAND:54.1297:W3.25611
LEEDS, ENGLAND:53.8658:W1.66056 LEEDS, ENGLAND:53.7974185:W1.5437941
WARTON, UK:53.745:W2.88306 WARTON, UK:53.745:W2.88306
HAWARDEN, ENGLAND:53.1781:W2.97778 HAWARDEN, ENGLAND:53.1781:W2.97778
ISLE OF MAN, ENGLAND:54.0833:W4.62389 ISLE OF MAN, ENGLAND:54.0833:W4.62389
NEWCASTLE, ENGLAND:55.0375:W1.69167 NEWCASTLE, ENGLAND:54.9738474:W1.6131572
TEESSIDE, ENGLAND:54.5092:W1.42917 MIDDLESBROUGH, ENGLAND:54.5760419:W1.2344047
EAST MIDLANDS, ENGLAND:52.8311:W1.32806
LLANBEDR, ENGLAND:52.8117:W4.12333 LLANBEDR, ENGLAND:52.8117:W4.12333
TERNHILL, UK:52.8711:W2.53333 TERNHILL, UK:52.8711:W2.53333
MONA, UK:53.2583:W4.37333 MONA, UK:53.2583:W4.37333
@ -548,24 +537,23 @@ WEST FREUGH, UK:54.8511:W4.94778
KIRKWALL, SCOTLAND:58.9581:W2.905 KIRKWALL, SCOTLAND:58.9581:W2.905
SUMBURGH, UK:59.8789:W1.29556 SUMBURGH, UK:59.8789:W1.29556
WICK, UK:58.4586:W3.09278 WICK, UK:58.4586:W3.09278
ABERDEEN, UK:57.2042:W2.20028 ABERDEEN, UK:57.145278438534575:W2.1125505583496174
INVERNESS, UK:57.54:W4.05 INVERNESS, UK:57.4790124:W4.225739
GLASGOW, UK:55.8719:W4.43306 GLASGOW, UK:55.8609825:W4.2488787
EDINBURGH, UK:55.95:W3.3725 EDINBURGH, UK:55.945672242712185:W3.1995328895019592
ISLAY, UK:55.6819:W6.25667 ISLAY, UK:55.6819:W6.25667
PRESTWICK, UK:55.5078:W4.58667 PRESTWICK, UK:55.5078:W4.58667
BENBECULA, UK:57.4811:W7.36278 BENBECULA, UK:57.4811:W7.36278
SCATSTA, UK:60.4322:W1.29806 SCATSTA, UK:60.4322:W1.29806
DUNDEE, UK:56.4525:W3.02583 DUNDEE, UK:56.47786741082439:W2.9823779577636778
STORNOWAY, UK:58.2136:W6.32889 STORNOWAY, UK:58.2141245782211:W6.379953784594727
TIREE, UK:56.4992:W6.86917 TIREE, UK:56.4992:W6.86917
LEUCHARS, UK:56.3728:W2.86833 LEUCHARS, UK:56.3728:W2.86833
LOSSIEMOUTH, UK:57.705:W3.33917 LOSSIEMOUTH, UK:57.705:W3.33917
BRACKNELL, ENGLAND:51.3833:W0.783333 BRACKNELL, ENGLAND:51.3833:W0.783333
CAMBRIDGE, ENGLAND:52.205:0.175 CAMBRIDGE, ENGLAND:52.205:0.175
PETERBOROUGH, ENGLAND:52.4681:W0.251111 PETERBOROUGH, ENGLAND:52.5725769:W0.2427336
NORWICH, ENGLAND:52.6758:1.28278 NORWICH, ENGLAND:52.628606:1.29227
LONDON, ENGLAND:51.885:0.235
NORTH WEALD, UK:51.7217:0.154167 NORTH WEALD, UK:51.7217:0.154167
FOWLMERE, ENGLAND:53.3942:W1.38833 FOWLMERE, ENGLAND:53.3942:W1.38833
CRANFIELD, ENGLAND:52.0722:W0.616667 CRANFIELD, ENGLAND:52.0722:W0.616667
@ -573,7 +561,7 @@ DUNSFOLD, ENGLAND:51.1167:W0.534444
EXETER, ENGLAND:50.7344:W3.41389 EXETER, ENGLAND:50.7344:W3.41389
BRISTOL, ENGLAND:51.5194:W2.59083 BRISTOL, ENGLAND:51.5194:W2.59083
HATFIELD, ENGLAND:51.7667:0.25 HATFIELD, ENGLAND:51.7667:0.25
OXFORD, ENGLAND:51.8369:W1.32 OXFORD, ENGLAND:51.7520131:W1.2578499
BENSON, ENGLAND:51.6161:W1.09556 BENSON, ENGLAND:51.6161:W1.09556
LAKENHEATH, ENGLAND:52.4092:0.560833 LAKENHEATH, ENGLAND:52.4092:0.560833
MILDENHALL, ENGLAND:52.3608:0.488333 MILDENHALL, ENGLAND:52.3608:0.488333
@ -594,7 +582,6 @@ SCAMPTON, UK:53.3075:W0.550833
WITTERING, UK:52.6125:W0.476389 WITTERING, UK:52.6125:W0.476389
LINTON-ON-OUSE, ENGLAND:54.0494:W1.25194 LINTON-ON-OUSE, ENGLAND:54.0494:W1.25194
WADDINGTON, UK:53.1661:W0.523611 WADDINGTON, UK:53.1661:W0.523611
TOPCLIFFE, UK:54.2056:W1.38222
COLTISHALL, ENGLAND:52.7547:1.35722 COLTISHALL, ENGLAND:52.7547:1.35722
CRANWELL, ENGLAND:53.0306:W0.481111 CRANWELL, ENGLAND:53.0306:W0.481111
BARKSTON HEATH, ENGLAND:52.9622:W0.561389 BARKSTON HEATH, ENGLAND:52.9622:W0.561389
@ -1520,10 +1507,10 @@ ISLIP, USA:40.795:W73.1
JACKSON, USA:32.3111:W90.0758 JACKSON, USA:32.3111:W90.0758
JACKSONVILLE, USA:30.4939:W81.6878 JACKSONVILLE, USA:30.4939:W81.6878
JONESBORO, USA:35.8317:W90.6461 JONESBORO, USA:35.8317:W90.6461
NEW YORK, USA:40.6397:W73.7789 NEW YORK, USA:40.7127281:W74.0060152
LANSING, USA:42.7786:W84.5872 LANSING, USA:42.7786:W84.5872
LAS VEGAS, USA:36.0803:W115.152 LAS VEGAS, USA:36.0803:W115.152
LOS ANGELES, USA:33.9425:W118.408 LOS ANGELES, USA:34.0536909:W118.242766
LUBBOCK, USA:33.6636:W101.823 LUBBOCK, USA:33.6636:W101.823
LAKE CHARLES, USA:30.1261:W93.2233 LAKE CHARLES, USA:30.1261:W93.2233
COLUMBUS, USA:39.8136:W82.9278 COLUMBUS, USA:39.8136:W82.9278
@ -1677,13 +1664,13 @@ GWINN, USA:46.3536:W87.3958
SANTA BARBARA, USA:32.6083:W82.3686 SANTA BARBARA, USA:32.6083:W82.3686
SALISBURY, USA:38.3403:W75.5103 SALISBURY, USA:38.3403:W75.5103
STOCKTON, USA:37.8942:W121.239 STOCKTON, USA:37.8942:W121.239
SEATTLE, USA:47.4489:W122.309 SEATTLE, USA:47.59840153253106:W122.31143714060059
SELMA, USA:32.3439:W86.9878 SELMA, USA:32.3439:W86.9878
SPOKANE, USA:47.6828:W117.322 SPOKANE, USA:47.6828:W117.322
SAN FRANCISCO, USA:37.6189:W122.375 SAN FRANCISCO, USA:37.74594738515095:W122.44299445520019
SMITHFIELD, USA:41.9206:W71.4911 SMITHFIELD, USA:41.9206:W71.4911
SHREVEPORT, USA:32.4464:W93.8256 SHREVEPORT, USA:32.4464:W93.8256
SAN JOSE, USA:37.3617:W121.929 SAN JOSE, USA:37.32149403063839:W121.9286918256836
SAN ANGELO, USA:31.3575:W100.496 SAN ANGELO, USA:31.3575:W100.496
SPOKANE, USA:47.615:W117.656 SPOKANE, USA:47.615:W117.656
SAN ANTONIO, USA:29.3842:W98.5808 SAN ANTONIO, USA:29.3842:W98.5808
@ -1925,13 +1912,11 @@ TOURS, FRANCE:47.4322:0.7275
CHOLET, FRANCE:47.0819:W0.876944 CHOLET, FRANCE:47.0819:W0.876944
LAVAL, FRANCE:48.0311:W0.742778 LAVAL, FRANCE:48.0311:W0.742778
ORLEANS, FRANCE:47.8969:2.16333 ORLEANS, FRANCE:47.8969:2.16333
PARIS, FRANCE:48.9694:2.44139 PARIS, FRANCE:48.8566969:2.3514616
CREIL, FRANCE:49.2533:2.51889 CREIL, FRANCE:49.2533:2.51889
PARIS, FRANCE:49.0128:2.55
COULOMMIERS, FRANCE:48.8375:3.01611 COULOMMIERS, FRANCE:48.8375:3.01611
MELUN, FRANCE:48.6047:2.67111 MELUN, FRANCE:48.6047:2.67111
TOUSSOUS-LE-NOBLE, FRANCE:48.7517:2.10611 TOUSSOUS-LE-NOBLE, FRANCE:48.7517:2.10611
PARIS, FRANCE:48.7253:2.35944
PONTOISE, FRANCE:49.0964:2.04083 PONTOISE, FRANCE:49.0964:2.04083
VILLACOUBLAY, FRANCE:48.7742:2.20139 VILLACOUBLAY, FRANCE:48.7742:2.20139
BRETIGNY-SUR-ORGE, FRANCE:48.5967:2.33139 BRETIGNY-SUR-ORGE, FRANCE:48.5967:2.33139

View File

@ -96,7 +96,7 @@ def _getCityPulse(currTimeOfDay, decoySeed: int) -> (float, float):
(randgen.randint(0, 100000 - 5 + dataDecoyIndex) / 100000) * \ (randgen.randint(0, 100000 - 5 + dataDecoyIndex) / 100000) * \
2 * math.pi 2 * math.pi
# some people are quite random, others have more predictable habits # some people are quite random, others have more predictable habits
decoyRandomness = randgen.randint(10, 20) decoyRandomness = randgen.randint(1, 3)
# occasionally throw in a wildcard to keep the machine learning guessing # occasionally throw in a wildcard to keep the machine learning guessing
if randint(0, 100) < decoyRandomness: if randint(0, 100) < decoyRandomness:
distanceFromCityCenter = (randint(0, 100000) / 100000) distanceFromCityCenter = (randint(0, 100000) / 100000)
@ -127,7 +127,7 @@ def spoofGeolocation(baseDir: str,
if not os.path.isfile(locationsFilename): if not os.path.isfile(locationsFilename):
locationsFilename = baseDir + '/locations.txt' locationsFilename = baseDir + '/locations.txt'
cityRadius = 0.1 cityRadius = 0.1
variance = 0.01 variance = 0.001
default_latitude = 51.8744 default_latitude = 51.8744
default_longitude = 0.368333 default_longitude = 0.368333
default_latdirection = 'N' default_latdirection = 'N'

View File

@ -11,6 +11,7 @@ import os
import shutil import shutil
import json import json
import datetime import datetime
from random import randint
from time import gmtime, strftime from time import gmtime, strftime
from pprint import pprint from pprint import pprint
from httpsig import signPostHeaders from httpsig import signPostHeaders
@ -3673,10 +3674,11 @@ def testSpoofGeolocation() -> None:
citiesList = [ citiesList = [
'NEW YORK, USA:40.6397:W73.7789', 'NEW YORK, USA:40.6397:W73.7789',
'LOS ANGELES, USA:33.9425:W118.408', 'LOS ANGELES, USA:33.9425:W118.408',
'HOUSTON, USA:29.9803:W95.3397' 'HOUSTON, USA:29.9803:W95.3397',
'MANCHESTER, ENGLAND:53.4794892:W2.2451148'
] ]
currTime = datetime.datetime.utcnow() currTime = datetime.datetime.utcnow()
decoySeed = 7634682 decoySeed = 7634681
cityRadius = 0.1 cityRadius = 0.1
coords = spoofGeolocation('', 'los angeles', currTime, coords = spoofGeolocation('', 'los angeles', currTime,
decoySeed, citiesList) decoySeed, citiesList)
@ -3694,6 +3696,33 @@ def testSpoofGeolocation() -> None:
assert coords[1] <= 0.368333 + cityRadius assert coords[1] <= 0.368333 + cityRadius
assert coords[2] == 'N' assert coords[2] == 'N'
assert coords[3] == 'W' assert coords[3] == 'W'
kmlStr = '<?xml version="1.0" encoding="UTF-8"?>\n'
kmlStr += '<kml xmlns="http://www.opengis.net/kml/2.2">\n'
kmlStr += '<Document>\n'
for i in range(1000):
dayNumber = randint(10, 30)
hour = randint(1, 23)
hourStr = str(hour)
if hour < 10:
hourStr = '0' + hourStr
currTime = datetime.datetime.strptime("2021-05-" + str(dayNumber) +
" " + hourStr + ":14",
"%Y-%m-%d %H:%M")
coords = spoofGeolocation('', 'manchester, england', currTime,
decoySeed, citiesList)
kmlStr += '<Placemark id="' + str(i) + '">\n'
kmlStr += ' <name>' + str(i) + '</name>\n'
kmlStr += ' <Point>\n'
kmlStr += ' <coordinates>' + str(-coords[1]) + ',' + \
str(coords[0]) + ',0</coordinates>\n'
kmlStr += ' </Point>\n'
kmlStr += '</Placemark>\n'
kmlStr += '</Document>\n'
kmlStr += '</kml>'
kmlFile = open('unittest_decoy.kml', 'w+')
if kmlFile:
kmlFile.write(kmlStr)
kmlFile.close()
def runAllTests(): def runAllTests():