From 9b71708649a118f9135c76da5bfc4e991b615d18 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Tue, 18 May 2021 17:58:44 +0100 Subject: [PATCH] Geolocations using city size --- city.py | 18 +- locations.txt | 814 +++++++++++++++++++++----------------------------- tests.py | 26 +- 3 files changed, 376 insertions(+), 482 deletions(-) diff --git a/city.py b/city.py index 004b2b328..f4f2c0484 100644 --- a/city.py +++ b/city.py @@ -138,7 +138,7 @@ def spoofGeolocation(baseDir: str, locationsFilename = baseDir + '/custom_locations.txt' if not os.path.isfile(locationsFilename): locationsFilename = baseDir + '/locations.txt' - cityRadius = 0.1 + manCityRadius = 0.1 varianceAtLocation = 0.0004 default_latitude = 51.8744 default_longitude = 0.368333 @@ -159,8 +159,12 @@ def spoofGeolocation(baseDir: str, city = city.lower() for cityName in cities: if city in cityName.lower(): - latitude = cityName.split(':')[1] - longitude = cityName.split(':')[2] + cityFields = cityName.split(':') + latitude = cityFields[1] + longitude = cityFields[2] + areaKm2 = 0 + if len(cityFields) > 3: + areaKm2 = int(cityFields[3]) latdirection = 'N' longdirection = 'E' if 'S' in latitude: @@ -182,6 +186,14 @@ def spoofGeolocation(baseDir: str, # patterns of activity change in the city over time (distanceFromCityCenter, angleRadians) = \ _getCityPulse(currTimeAdjusted, decoySeed) + # The city radius value is in longitude and the reference + # is Manchester. Adjust for the radius of the chosen city. + if areaKm2 > 1: + manRadius = math.sqrt(630 / math.pi) + radius = math.sqrt(areaKm2 / math.pi) + cityRadius = manCityRadius * manRadius / radius + else: + cityRadius = manCityRadius # Get the position within the city, with some randomness added latitude += \ distanceFromCityCenter * cityRadius * math.cos(angleRadians) diff --git a/locations.txt b/locations.txt index 3dca4b5bc..136186631 100644 --- a/locations.txt +++ b/locations.txt @@ -1,4 +1,4 @@ -DERBY, ENGLAND:52.91652:W1.47241 +DERBY, ENGLAND:52.91652:W1.47241:64 PRESTON, ENGLAND:53.76409:W2.70456 GOROKA, PAPUA NEW GUINEA:-6.08167:145.392 MADANG, PAPUA NEW GUINEA:-5.20694:145.789 @@ -326,107 +326,99 @@ SINT-TRUIDEN, BELGIUM:50.7883:5.19278 URSEL, BELGIUM:51.1439:3.47417 WEELDE, BELGIUM:51.395:4.96056 ZOERSEL, BELGIUM:51.2656:4.75472 -BAUTZEN, GERMANY:51.1933:14.5197 -ALTENBURG, GERMANY:50.9817:12.5061 -DESSAU, GERMANY:51.8319:12.1858 -EISENHUETTENSTADT, GERMANY:52.1972:14.5856 -HERINGSDORF, GERMANY:53.8786:14.1522 -SUHL, GERMANY:51.3081:13.5547 -MUEHLHAUSEN, GERMANY:51.3628:11.9408 -HALLE, GERMANY:51.5519:12.0525 -RIESA, GERMANY:51.2944:13.3589 -RECHLIN-LAERZ, GERMANY:53.3064:12.7531 -STRAUSBERG, GERMANY:52.5797:13.9156 -SCHOENHAGEN, GERMANY:52.2033:13.1586 -COCHSTEDT, GERMANY:51.8558:11.4181 -GOTHA OST, GERMANY:35.4606:W77.9647 -BARTH, GERMANY:54.3381:12.71 -JENA, GERMANY:50.9172:11.7136 -KYRITZ, GERMANY:52.9186:12.4253 -MAGDEBURG, GERMANY:52.0736:11.6264 -NEUBRANDENBURG, GERMANY:51.3281:12.6567 -ROTHENBURG/OL, GERMANY:51.3644:14.9519 -ANKLAM, GERMANY:53.8325:13.6689 -COTTBUS, GERMANY:51.8894:14.5317 -KOETHEN, GERMANY:51.7211:11.9617 -KAMENZ, GERMANY:51.2961:14.1289 -BERLIN, GERMANY:52.5170365:13.3888599 -DRESDEN, GERMANY:51.0493286:13.7381437 -ERFURT, GERMANY:50.98:10.9581 -FRANKFURT, GERMANY:50.1106444:8.6820917 -MUENSTER/OSNABRUECK, GERMANY:52.1344:7.68472 -HAMBURG, GERMANY:53.550341:10.000654 -COLOGNE, GERMANY:50.8658:7.1425 -DUESSELDORF, GERMANY:51.2894:6.76667 -MUNICH, GERMANY:48.1371079:11.5753822 -NUERNBERG, GERMANY:49.453872:11.077298 -LEIPZIG, GERMANY:51.3406321:12.3747329 -SAARBRUECKEN, GERMANY:49.2144:7.10944 -STUTTGART, GERMANY:48.7784485:9.1800132 -HANNOVER, GERMANY:52.3744779:9.7385532 -BREMEN, GERMANY:53.0758196:8.8071646 -EGELSBACH, GERMANY:49.9608:8.64361 -HAHN, GERMANY:49.9497:7.26389 -MANNHEIM, GERMANY:49.4725:8.51361 -ALLENDORF, GERMANY:51.0353:8.67889 -WORMS, GERMANY:49.6064:8.36833 -MAINZ, GERMANY:49.9689:8.1475 -EISENACH, GERMANY:50.9928:10.4725 -SIEGERLAND, GERMANY:50.7075:8.08194 -KIEL, GERMANY:54.3794:10.145 -LUEBECK, GERMANY:53.8053:10.7192 -AACHEN, GERMANY:50.8228:6.18722 -DAHLEMER BINZ, GERMANY:50.4058:6.52806 -MEINERZHAGEN, GERMANY:51.0994:7.60194 -ARNSBERG, GERMANY:51.4833:7.89917 -KAMP, GERMANY:51.5303:6.53694 -ESSEN, GERMANY:51.4582235:7.0158171 -MOENCHENGLADBACH, GERMANY:51.2303:6.50444 -PADERBORN, GERMANY:51.6142:8.61611 -STADTLOHN, GERMANY:51.9958:6.84028 -DORTMUND, GERMANY:51.5142273:7.4652789 -AUGSBURG, GERMANY:48.425:10.9317 -BIBERACH, GERMANY:48.1108:9.76278 -EGGENFELDEN, GERMANY:48.3961:12.7236 -OBERPFAFFENHOFEN, GERMANY:48.0814:11.2833 -STRAUBING, GERMANY:48.9008:12.5181 -VILSHOFEN, GERMANY:48.6364:13.1953 -LEUTKIRCH, GERMANY:47.8589:10.0144 -FRIEDRICHSHAFEN, GERMANY:47.6711:9.51139 -PARCHIM, GERMANY:53.4269:11.7833 -STENDAL, GERMANY:52.6289:11.8197 -AALEN-HEIDENHEIM, GERMANY:48.7778:10.2644 -COBURG, GERMANY:50.2625:10.9958 -BAYREUTH, GERMANY:49.9842:11.6383 -BURG FEUERSTEIN, GERMANY:49.7942:11.1322 -HOF, GERMANY:50.2886:11.8547 -ROSENTHAL, GERMANY:49.8628:11.7878 -HASSFURT, GERMANY:50.0178:10.5294 -KOBLENZ, GERMANY:50.3247:7.53083 -TRIER, GERMANY:49.8633:6.78889 -SPEYER, GERMANY:49.3025:8.45111 -ZWEIBRUECKEN, GERMANY:49.2094:7.40056 -BADEN-BADEN, GERMANY:48.7911:8.18694 -DONAUESCHINGEN, GERMANY:47.9731:8.52222 -FREIBURG, GERMANY:48.0203:7.83361 -KARLSRUHE, GERMANY:48.9822:8.33333 -MENGEN, GERMANY:48.0536:9.37278 -SCHWAEBISCH HALL, GERMANY:49.1181:9.77722 -SOEST, GERMANY:51.6075:13.7378 -BRAUNSCHWEIG, GERMANY:52.3192:10.5561 -KASSEL, GERMANY:51.4083:9.3775 -HILDESHEIM, GERMANY:52.1775:9.94556 -BREMERHAVEN, GERMANY:53.5033:8.57333 -LEMWERDER, GERMANY:53.1431:8.62333 -EMDEN, GERMANY:53.3911:7.22722 -LEER, GERMANY:53.2719:7.44278 -WILHELMSHAVEN, GERMANY:53.5047:8.05333 -BORKUM, GERMANY:53.5953:6.70917 -NORDERNEY, GERMANY:53.7067:7.23 -FLENSBURG, GERMANY:54.7717:9.37806 -RENDSBURG, GERMANY:54.2208:9.60056 -WESTERLAND, GERMANY:54.9131:8.34028 -ARMARI AIR FORCE BASE, ESTONIA:59.2594:24.2044 +BAUTZEN, GERMANY:51.1933:14.5197:66 +ALTENBURG, GERMANY:50.9817:12.5061:45 +DESSAU, GERMANY:51.8319:12.1858:182 +EISENHUETTENSTADT, GERMANY:52.1972:14.5856:63 +HERINGSDORF, GERMANY:53.8786:14.1522:37 +SUHL, GERMANY:51.3081:13.5547:141 +MUEHLHAUSEN, GERMANY:51.3628:11.9408:130 +HALLE, GERMANY:51.5519:12.0525:135 +RIESA, GERMANY:51.2944:13.3589:58 +RECHLIN-LAERZ, GERMANY:53.3064:12.7531:43 +STRAUSBERG, GERMANY:52.5797:13.9156:67 +COCHSTEDT, GERMANY:51.8558:11.4181:29 +BARTH, GERMANY:54.3381:12.71:40 +JENA, GERMANY:50.9172:11.7136:114 +KYRITZ, GERMANY:52.9186:12.4253:156 +MAGDEBURG, GERMANY:52.0736:11.6264:201 +NEUBRANDENBURG, GERMANY:51.3281:12.6567:85 +ANKLAM, GERMANY:53.8325:13.6689:56 +COTTBUS, GERMANY:51.8894:14.5317:164 +KOETHEN, GERMANY:51.7211:11.9617:78 +KAMENZ, GERMANY:51.2961:14.1289:98 +BERLIN, GERMANY:52.5170365:13.3888599:891 +DRESDEN, GERMANY:51.0493286:13.7381437:328 +ERFURT, GERMANY:50.98:10.9581:269 +FRANKFURT, GERMANY:50.1106444:8.6820917:248 +MUENSTER/OSNABRUECK, GERMANY:52.1344:7.68472:302 +HAMBURG, GERMANY:53.550341:10.000654:755 +COLOGNE, GERMANY:50.8658:7.1425:405 +DUESSELDORF, GERMANY:51.2894:6.76667:217 +MUNICH, GERMANY:48.1371079:11.5753822:310 +NUERNBERG, GERMANY:49.453872:11.077298:186 +LEIPZIG, GERMANY:51.3406321:12.3747329:297 +SAARBRUECKEN, GERMANY:49.2144:7.10944:167 +STUTTGART, GERMANY:48.7784485:9.1800132:207 +HANNOVER, GERMANY:52.3744779:9.7385532:204 +BREMEN, GERMANY:53.0758196:8.8071646:326 +EGELSBACH, GERMANY:49.9608:8.64361:14 +HAHN, GERMANY:49.9497:7.26389:5 +MANNHEIM, GERMANY:49.4725:8.51361:145 +ALLENDORF, GERMANY:51.0353:8.67889:41 +WORMS, GERMANY:49.6064:8.36833:108 +MAINZ, GERMANY:49.9689:8.1475:97 +EISENACH, GERMANY:50.9928:10.4725:104 +SIEGERLAND, GERMANY:50.7075:8.08194:114 +KIEL, GERMANY:54.3794:10.145:118 +LUEBECK, GERMANY:53.8053:10.7192:214 +AACHEN, GERMANY:50.8228:6.18722:160 +MEINERZHAGEN, GERMANY:51.0994:7.60194:115 +ARNSBERG, GERMANY:51.4833:7.89917:193 +KAMP, GERMANY:51.5303:6.53694:63 +ESSEN, GERMANY:51.4582235:7.0158171:210 +MOENCHENGLADBACH, GERMANY:51.2303:6.50444:170 +PADERBORN, GERMANY:51.6142:8.61611:179 +STADTLOHN, GERMANY:51.9958:6.84028:79 +DORTMUND, GERMANY:51.5142273:7.4652789:280 +AUGSBURG, GERMANY:48.425:10.9317:146 +BIBERACH, GERMANY:48.1108:9.76278:72 +EGGENFELDEN, GERMANY:48.3961:12.7236:44 +STRAUBING, GERMANY:48.9008:12.5181:67 +VILSHOFEN, GERMANY:48.6364:13.1953:86 +LEUTKIRCH, GERMANY:47.8589:10.0144:175 +FRIEDRICHSHAFEN, GERMANY:47.6711:9.51139:69 +PARCHIM, GERMANY:53.4269:11.7833:124 +STENDAL, GERMANY:52.6289:11.8197:268 +COBURG, GERMANY:50.2625:10.9958:48 +BAYREUTH, GERMANY:49.9842:11.6383:66 +HOF, GERMANY:50.2886:11.8547:58 +ROSENTHAL, GERMANY:49.8628:11.7878:51 +HASSFURT, GERMANY:50.0178:10.5294:52 +KOBLENZ, GERMANY:50.3247:7.53083:105 +TRIER, GERMANY:49.8633:6.78889:117 +SPEYER, GERMANY:49.3025:8.45111:42 +ZWEIBRUECKEN, GERMANY:49.2094:7.40056:70 +BADEN-BADEN, GERMANY:48.7911:8.18694:140 +DONAUESCHINGEN, GERMANY:47.9731:8.52222:104 +FREIBURG, GERMANY:48.0203:7.83361:153 +KARLSRUHE, GERMANY:48.9822:8.33333:173 +MENGEN, GERMANY:48.0536:9.37278:49 +SCHWAEBISCH HALL, GERMANY:49.1181:9.77722:104 +SOEST, GERMANY:51.6075:13.7378:85 +BRAUNSCHWEIG, GERMANY:52.3192:10.5561:192 +KASSEL, GERMANY:51.4083:9.3775:106 +HILDESHEIM, GERMANY:52.1775:9.94556:92 +BREMERHAVEN, GERMANY:53.5033:8.57333:93 +LEMWERDER, GERMANY:53.1431:8.62333:36 +EMDEN, GERMANY:53.3911:7.22722:112 +LEER, GERMANY:53.2719:7.44278:70 +WILHELMSHAVEN, GERMANY:53.5047:8.05333:106 +BORKUM, GERMANY:53.5953:6.70917:30 +NORDERNEY, GERMANY:53.7067:7.23:26 +FLENSBURG, GERMANY:54.7717:9.37806:56 +RENDSBURG, GERMANY:54.2208:9.60056:23 +WESTERLAND, GERMANY:54.9131:8.34028:10 KARDLA, ESTONIA:58.9906:22.8306 KURESSAARE, ESTONIA:58.2297:22.5094 PARNU, ESTONIA:58.4189:24.4728 @@ -479,17 +471,17 @@ UTTI, FINLAND:60.8964:26.9383 VAASA, FINLAND:63.0511:21.7614 VARKAUS, FINLAND:62.1711:27.8686 YLIVIESKA-RAUDASKYLA, FINLAND:64.0603:24.7158 -BELFAST, NORTH IRELAND:54.57925:W5.93892 +BELFAST, NORTH IRELAND:54.57925:W5.93892:115 ENNISKILLEN, ENGLAND:54.3989:W7.65167 LONDONDERRY, NORTH IRELAND:54.9978678:W7.3213056 -BIRMINGHAM, ENGLAND:52.4796992:W1.9026911 -COVENTRY, ENGLAND:52.4081812:W1.510477 -LEICESTER, ENGLAND:52.6361398:W1.1330789 -NOTTINGHAM, ENGLAND:52.9534193:W1.1496461 +BIRMINGHAM, ENGLAND:52.4796992:W1.9026911:267 +COVENTRY, ENGLAND:52.4081812:W1.510477:81 +LEICESTER, ENGLAND:52.6361398:W1.1330789:109 +NOTTINGHAM, ENGLAND:52.9534193:W1.1496461:176 HALFPENNY GREEN, ENGLAND:52.5175:W2.25972 PAILTON, UK:51.6681:W2.05694 TURWESTON, UK:52.0408:W1.09556 -MANCHESTER, ENGLAND:53.4794892:W2.2451148 +MANCHESTER, ENGLAND:53.4794892:W2.2451148:630 WOODFORT, ENGLAND:53.3381:W2.14889 SANDTOFT, UK:53.5597:W0.858333 CHIVENOR, ENGLAND:51.0869:W4.15028 @@ -500,15 +492,14 @@ CULDROSE, ENGLAND:50.0858:W5.25556 ST. ATHAN, UK:51.4047:W3.43556 YEOVILTON, UK:51.0092:W2.63861 HAVERFORDWEST, ENGLAND:51.8331:W4.96111 -CARDIFF, WALES:51.4816546:W3.1791934 -SWANSEA, ENGLAND:51.623192463569175:W3.9580269270752 -BRISTOL, ENGLAND:51.4538022:W2.5972985 -LIVERPOOL, ENGLAND:53.407154:W2.991665 -LONDON, ENGLAND:51.5073219:W0.1276474 -PLYMOUTH, ENGLAND:50.38433871605018:W4.142479969311532 -BOURNEMOUTH, ENGLAND:50.7423141383493:W1.8999454858886722 -SOUTHAMPTON, ENGLAND:50.92571412096368:W1.4174069260253863 -LASHAM, ENGLAND:51.185:W1.03222 +CARDIFF, WALES:51.4816546:W3.1791934:140 +SWANSEA, ENGLAND:51.623192463569175:W3.9580269270752:380 +BRISTOL, ENGLAND:51.4538022:W2.5972985:110 +LIVERPOOL, ENGLAND:53.407154:W2.991665:199 +LONDON, ENGLAND:51.5073219:W0.1276474:1738 +PLYMOUTH, ENGLAND:50.38433871605018:W4.142479969311532:79 +BOURNEMOUTH, ENGLAND:50.7423141383493:W1.8999454858886722:46 +SOUTHAMPTON, ENGLAND:50.92571412096368:W1.4174069260253863:72 GUERNSEY, GUERNSEY ISLD.:49.4347:W2.60194 JERSEY, ENGLAND:51.7682578:W0.293425 FARNBOROUGH, ENGLAND:51.2758:W0.776111 @@ -519,15 +510,15 @@ LYDD, UK:50.9561:0.939167 MANSTON, ENGLAND:51.3422:1.34611 BROUGH, ENGLAND:53.7194:W0.566111 CARLISLE, ENGLAND:54.89144:W2.93536 -BLACKPOOL, ENGLAND:53.7717:W3.02861 +BLACKPOOL, ENGLAND:53.7717:W3.02861:34 HUMBERSIDE, ENGLAND:53.5744:W0.350833 BARROW ISLAND, ENGLAND:54.1297:W3.25611 -LEEDS, ENGLAND:53.7974185:W1.5437941 +LEEDS, ENGLAND:53.7974185:W1.5437941:551 WARTON, UK:53.745:W2.88306 HAWARDEN, ENGLAND:53.1781:W2.97778 ISLE OF MAN, ENGLAND:54.0833:W4.62389 -NEWCASTLE, ENGLAND:54.9738474:W1.6131572 -MIDDLESBROUGH, ENGLAND:54.5760419:W1.2344047 +NEWCASTLE, ENGLAND:54.9738474:W1.6131572:114 +MIDDLESBROUGH, ENGLAND:54.5760419:W1.2344047:114 LLANBEDR, ENGLAND:52.8117:W4.12333 TERNHILL, UK:52.8711:W2.53333 MONA, UK:53.2583:W4.37333 @@ -538,89 +529,45 @@ WEST FREUGH, UK:54.8511:W4.94778 KIRKWALL, SCOTLAND:58.9581:W2.905 SUMBURGH, UK:59.8789:W1.29556 WICK, UK:58.4586:W3.09278 -ABERDEEN, UK:57.145278438534575:W2.1125505583496174 -INVERNESS, UK:57.4790124:W4.225739 -GLASGOW, UK:55.8609825:W4.2488787 -EDINBURGH, UK:55.945672242712185:W3.1995328895019592 +ABERDEEN, UK:57.145278438534575:W2.1125505583496174:185 +INVERNESS, UK:57.4790124:W4.225739:20 +GLASGOW, UK:55.8609825:W4.2488787:368 +EDINBURGH, UK:55.945672242712185:W3.1995328895019592:125 ISLAY, UK:55.6819:W6.25667 -PRESTWICK, UK:55.5078:W4.58667 -BENBECULA, UK:57.4811:W7.36278 -SCATSTA, UK:60.4322:W1.29806 -DUNDEE, UK:56.47786741082439:W2.9823779577636778 -STORNOWAY, UK:58.2141245782211:W6.379953784594727 -TIREE, UK:56.4992:W6.86917 -LEUCHARS, UK:56.3728:W2.86833 -LOSSIEMOUTH, UK:57.705:W3.33917 -BRACKNELL, ENGLAND:51.3833:W0.783333 -CAMBRIDGE, ENGLAND:52.205:0.175 -PETERBOROUGH, ENGLAND:52.5725769:W0.2427336 -NORWICH, ENGLAND:52.628606:1.29227 -NORTH WEALD, UK:51.7217:0.154167 -FOWLMERE, ENGLAND:53.3942:W1.38833 -CRANFIELD, ENGLAND:52.0722:W0.616667 -DUNSFOLD, ENGLAND:51.1167:W0.534444 -EXETER, ENGLAND:50.7344:W3.41389 -BRISTOL, ENGLAND:51.5194:W2.59083 -HATFIELD, ENGLAND:51.7667:0.25 -OXFORD, ENGLAND:51.7520131:W1.2578499 -BENSON, ENGLAND:51.6161:W1.09556 -LAKENHEATH, ENGLAND:52.4092:0.560833 -MILDENHALL, ENGLAND:52.3608:0.488333 -WATTISHAM, UK:52.1272:0.955833 -WYTON, UK:52.3572:W0.107778 -FAIRFORD, ENGLAND:51.6819:W1.79 -BRIZE NORTON, ENGLAND:51.7497:W1.58361 -ODIHAM, UK:51.2342:W0.942778 -COSFORD, ENGLAND:52.64:W2.30556 -NORTHOLT, UK:51.5528:W0.418056 -CONINGSBY, ENGLAND:53.0928:W0.165833 -DISHFORTH, ENGLAND:54.1369:W1.42 -LEEMING, ENGLAND:54.2922:W1.535 -CHURCH FENTON, ENGLAND:53.8342:W1.19528 -HONINGTON, ENGLAND:52.3425:0.772778 -COTTESMORE, ENGLAND:52.7356:W0.648611 -SCAMPTON, UK:53.3075:W0.550833 -WITTERING, UK:52.6125:W0.476389 -LINTON-ON-OUSE, ENGLAND:54.0494:W1.25194 -WADDINGTON, UK:53.1661:W0.523611 -COLTISHALL, ENGLAND:52.7547:1.35722 -CRANWELL, ENGLAND:53.0306:W0.481111 -BARKSTON HEATH, ENGLAND:52.9622:W0.561389 -MARHAM, UK:52.6483:0.550278 -MOUNT PLEASANT, FALKLAND ISLANDS:-51.8228:W58.4472 -AMSTERDAM, NETHERLANDS:52.3086:4.76389 -WEERT, NETHERLANDS:51.2553:5.60139 -MAASTRICHT, NETHERLANDS:50.9114:5.77 -DEELEN, NETHERLANDS:52.0606:5.87306 -DRACHTEN, NETHERLANDS:53.1192:6.12972 -EINDHOVEN, NETHERLANDS:51.45:5.37444 -GRONINGEN, NETHERLANDS:53.1194:6.57944 -GILZE-RIJEN, NETHERLANDS:51.5678:4.93306 -DE KOOY, NETHERLANDS:52.9233:4.78056 -LELYSTAD, NETHERLANDS:52.4603:5.52722 -LEEUWARDEN, NETHERLANDS:53.2286:5.76056 -ROTTERDAM, NETHERLANDS:51.9572:4.44167 -SOESTERBERG, NETHERLANDS:52.1269:5.27639 -ENSCHEDE, NETHERLANDS:52.27:6.87417 -VALKENBURG, NETHERLANDS:52.1697:4.42611 -WOENSDRECHT, NETHERLANDS:51.4489:4.34194 -CORK, IRELAND:51.8428:W8.49194 -GALWAY, IRELAND:53.3014:W8.93917 -DONEGAL, IRELAND:55.0442:W8.34083 -DUBLIN, IRELAND:53.4211:W6.27 -CONNAUGHT, IRELAND:53.9103:W8.81833 -KERRY, IRELAND:52.1808:W9.52361 -CASEMENT, IRELAND:53.3028:W6.44278 -SHANNON, IRELAND:52.7019:W8.92472 -SLIGO, IRELAND:54.28:W8.59917 -WATERFORD, IRELAND:52.1869:W7.08694 -AARHUS, DENMARK:56.3042:10.6194 -BILLUND, DENMARK:55.7403:9.15167 -COPENHAGEN, DENMARK:55.6178:12.6558 -ESBJERG, DENMARK:55.5258:8.55333 -GRONHOLT, DENMARK:55.9411:12.3822 -LINDTORP, DENMARK:56.3967:8.44333 -KARUP, DENMARK:56.2972:9.12444 +PRESTWICK, UK:55.5078:W4.58667:20 +DUNDEE, UK:56.47786741082439:W2.9823779577636778:60 +STORNOWAY, UK:58.2141245782211:W6.379953784594727:3 +CAMBRIDGE, ENGLAND:52.205:0.175:42 +PETERBOROUGH, ENGLAND:52.5725769:W0.2427336:44 +NORWICH, ENGLAND:52.628606:1.29227:52 +EXETER, ENGLAND:50.7344:W3.41389:28 +HATFIELD, ENGLAND:51.7667:0.25:9 +OXFORD, ENGLAND:51.7520131:W1.2578499:37 +BENSON, ENGLAND:51.6161:W1.09556:9 +MILDENHALL, ENGLAND:52.3608:0.488333:36 +CONINGSBY, ENGLAND:53.0928:W0.165833:14 +WITTERING, UK:52.6125:W0.476389:13 +COLTISHALL, ENGLAND:52.7547:1.35722:7 +AMSTERDAM, NETHERLANDS:52.3086:4.76389:219 +WEERT, NETHERLANDS:51.2553:5.60139:105 +MAASTRICHT, NETHERLANDS:50.9114:5.77:60 +EINDHOVEN, NETHERLANDS:51.45:5.37444:88 +GRONINGEN, NETHERLANDS:53.1194:6.57944:83 +GILZE-RIJEN, NETHERLANDS:51.5678:4.93306:65 +LEEUWARDEN, NETHERLANDS:53.2286:5.76056:255 +ROTTERDAM, NETHERLANDS:51.9572:4.44167:324 +ENSCHEDE, NETHERLANDS:52.27:6.87417:142 +VALKENBURG, NETHERLANDS:52.1697:4.42611:36 +WOENSDRECHT, NETHERLANDS:51.4489:4.34194:91 +CORK, IRELAND:51.8428:W8.49194:187 +GALWAY, IRELAND:53.3014:W8.93917:54 +DONEGAL, IRELAND:55.0442:W8.34083:2 +DUBLIN, IRELAND:53.4211:W6.27:117 +SHANNON, IRELAND:52.7019:W8.92472:2 +SLIGO, IRELAND:54.28:W8.59917:10 +WATERFORD, IRELAND:52.1869:W7.08694:48 +AARHUS, DENMARK:56.3042:10.6194:91 +COPENHAGEN, DENMARK:55.6178:12.6558:88 LAESO, DENMARK:57.2778:11.0014 MARIBO, DENMARK:54.6992:11.44 ODENSE, DENMARK:55.4761:10.3292 @@ -1312,7 +1259,7 @@ GULU, UGANDA:2.80556:32.2717 SOROTI, UGANDA:1.7275:33.6228 ABILENE, USA:32.4111:W99.6817 NANTUCKET, USA:41.2528:W70.06 -WACO, USA:31.6111:W97.2303 +WACO, USA:31.6111:W97.2303:231 ATLANTIC CITY, USA:39.4575:W74.5769 ARDMORE, USA:34.3031:W97.0194 CAMP SPRINGS, USA:38.8106:W76.8669 @@ -1329,8 +1276,8 @@ ABERDEEN, USA:39.4661:W76.1694 LOUISIANA, USA:30.0375:W91.8839 WATERTOWN, USA:43.9917:W76.0217 ATLANTA, USA:33.6403:W84.4269 -AUGUSTA, USA:44.3206:W69.7972 -AUSTIN, USA:30.1944:W97.6697 +AUGUSTA, USA:44.3206:W69.7972:783 +AUSTIN, USA:30.1944:W97.6697:772 MARYSVILLE, USA:39.1358:W121.436 SHREVEPORT, USA:32.5017:W93.6625 BOCA RATON, USA:26.3783:W80.1075 @@ -1338,22 +1285,22 @@ BAUDETTE, USA:48.7283:W94.6122 WINDSOR LOCKS, USA:41.9389:W72.6831 STRATFORD, USA:41.1633:W73.1261 BEDFORD, USA:42.4697:W71.2889 -SEATTLE, USA:47.5297:W122.302 +SEATTLE, USA:47.5297:W122.302:217 BAKERSFIELD, USA:35.4333:W119.057 MOBILE, USA:30.6264:W88.0678 BANGOR, USA:44.8072:W68.8281 BIRMINGHAM, USA:33.5628:W86.7533 -EL PASO, USA:31.8494:W106.38 +EL PASO, USA:31.8494:W106.38:661 BILOXI, USA:30.4108:W88.9236 BUCKLEY, USA:39.7017:W104.751 BELLINGHAM, USA:48.7925:W122.537 BELLEVILLE, USA:38.545:W89.835 -NASHVILLE, USA:36.1244:W86.6781 -BOISE, USA:43.5642:W116.223 +NASHVILLE, USA:36.1244:W86.6781:1231 +BOISE, USA:43.5642:W116.223:206 BOSTON, USA:42.3642:W71.005 BEAUMONT, USA:29.9508:W94.0206 BROWNSVILLE, USA:25.9067:W97.4258 -BATON ROUGE, USA:30.5331:W91.1494 +BATON ROUGE, USA:30.5331:W91.1494:199 BURLINGTON, USA:44.4717:W73.1531 BUFFALO, USA:42.9403:W78.7319 BURBANK, USA:34.2006:W118.359 @@ -1371,37 +1318,35 @@ BRYAN, USA:30.7156:W96.3311 CHATTANOOGA, USA:35.0353:W85.2036 CHARLESTON, USA:32.8986:W80.0403 CHICO, USA:39.7953:W121.858 -CLEVELAND, USA:41.4117:W81.8497 +CLEVELAND, USA:41.4117:W81.8497:201 COLLEGE STATION, USA:30.5883:W96.3636 -CHARLOTTE, USA:35.2139:W80.9431 -COLUMBUS, USA:39.9978:W82.8917 +CHARLOTTE, USA:35.2139:W80.9431:771 +COLUMBUS, USA:39.9978:W82.8917:563 CARLSBAD, USA:32.3372:W104.263 -WACO, USA:31.6378:W97.0739 COCO BEACH, USA:28.2347:W80.61 COLORADO SPRINGS, USA:38.8056:W104.7 COTULLA, USA:28.4581:W99.22 COLUMBIA, USA:38.8181:W92.2194 CASPER, USA:42.9078:W106.464 -CORPUS CHRISTI, USA:27.7703:W97.5011 +CORPUS CHRISTI, USA:27.7703:W97.5011:416 CUTBANK, USA:48.6083:W112.376 CINCINNATI, USA:39.0461:W84.6619 CLOVIS, USA:34.3825:W103.322 CALEXICO, USA:32.6694:W115.513 CONROE, USA:30.3517:W95.4144 CHEYENNE, USA:41.1556:W104.812 -DALLAS, USA:32.8469:W96.8517 +DALLAS, USA:32.8469:W96.8517:882 DAYTON, USA:39.9022:W84.2192 WASHINGTON, USA:38.8519:W77.0375 -DENVER, USA:39.8583:W104.667 +DENVER, USA:39.8583:W104.667:396 DETROIT, USA:42.4092:W83.0097 DALLAS-FORT WORTH, USA:32.8964:W97.0375 DOTHAN, USA:31.3211:W85.4494 DALHART, USA:36.0225:W102.547 DEL RIO, USA:29.3594:W100.778 DULUTH, USA:46.8419:W92.1936 -TUCSON, USA:32.1664:W110.883 +TUCSON, USA:32.1664:W110.883:587 DOVER, USA:39.13:W75.4664 -WEST CHICAGO, USA:41.9078:W88.2486 DERIDDER, USA:30.8317:W93.3397 DURANGO, USA:37.1514:W107.754 DEL RIO, USA:29.3728:W100.926 @@ -1411,7 +1356,7 @@ DOUGLAS, USA:31.4689:W109.604 ABILENE, USA:32.4206:W99.8544 ELIZABETH CITY, USA:36.2606:W76.1744 EDWARDS AFB, USA:34.9053:W117.884 -HOUSTON, USA:29.6072:W95.1586 +HOUSTON, USA:29.6072:W95.1586:1553 EAGLE PASS, USA:28.7:W100.479 ELKINS, USA:38.8894:W79.8569 EL DORADO, USA:33.2208:W92.8131 @@ -1441,7 +1386,7 @@ FORT RILEY, USA:39.055:W96.7644 FORT SILL, USA:34.6497:W98.4019 FORT SMITH, USA:35.3364:W94.3672 FORT KNOX, USA:37.9069:W85.9719 -FORT WORTH, USA:32.8197:W97.3622 +FORT WORTH, USA:32.8197:W97.3622:880 FORT LAUDERDALE, USA:26.1972:W80.1706 FAYETTEVILLE, USA:36.005:W94.17 GAGE, USA:36.2953:W99.7764 @@ -1475,7 +1420,6 @@ ALAMOGORDO, USA:32.8525:W106.106 HOBBS, USA:32.6875:W103.217 HURON, USA:44.385:W98.2283 HOPKINSVILLE, USA:36.6683:W87.4961 -HOUSTON, USA:29.6453:W95.2789 WHITE PLAINS, USA:41.0669:W73.7075 HARLINGEN, USA:26.2283:W97.6542 HARRISON, USA:36.2614:W93.1547 @@ -1486,17 +1430,14 @@ REDSTONE, USA:34.6786:W86.6847 TERRE HAUTE, USA:39.4514:W87.3075 HOULTON, USA:46.1231:W67.7919 HAVRE, USA:48.5428:W109.762 -HOLLYWOOD, USA:26.0014:W80.2403 -WICHITA, USA:37.6228:W97.2672 -WASHINGTON, USA:38.9444:W77.4556 +WICHITA, USA:37.6228:W97.2672:413 +WASHINGTON, USA:38.9444:W77.4556:217 NIAGARA FALLS, USA:43.1072:W78.9461 -HOUSTON, USA:29.9803:W95.3397 -WICHITA, USA:37.6497:W97.4331 KANKAKEE, USA:41.0714:W87.8461 KIRTLAND A.F.B., USA:35.04:W106.609 WILMINGTON, USA:39.6786:W75.6064 WILMINGTON, USA:34.2706:W77.9025 -INDIANAPOLIS, USA:39.7172:W86.2942 +INDIANAPOLIS, USA:39.7172:W86.2942:936 WINK, USA:31.7794:W103.201 INTERNATIONAL FALLS, USA:48.5661:W93.4031 INDIAN SPRINGS, USA:36.5869:W115.673 @@ -1505,42 +1446,38 @@ IMPERIAL, USA:32.8342:W115.579 WILLIAMSPORT, USA:41.2419:W76.9211 WILLISTON, USA:48.1778:W103.642 ISLIP, USA:40.795:W73.1 -JACKSON, USA:32.3111:W90.0758 -JACKSONVILLE, USA:30.4939:W81.6878 +JACKSON, USA:32.3111:W90.0758:287 +JACKSONVILLE, USA:30.4939:W81.6878:1935 JONESBORO, USA:35.8317:W90.6461 -NEW YORK, USA:40.7127281:W74.0060152 +NEW YORK, USA:40.7127281:W74.0060152:784 LANSING, USA:42.7786:W84.5872 -LAS VEGAS, USA:36.0803:W115.152 -LOS ANGELES, USA:34.0536909:W118.242766 +LAS VEGAS, USA:36.0803:W115.152:352 +LOS ANGELES, USA:34.0536909:W118.242766:1214 LUBBOCK, USA:33.6636:W101.823 LAKE CHARLES, USA:30.1261:W93.2233 -COLUMBUS, USA:39.8136:W82.9278 HAMPTON, USA:37.0828:W76.3603 LUFKIN, USA:31.2339:W94.75 LAFAYETTE, USA:30.2053:W91.9875 -NEW YORK, USA:40.7772:W73.8725 LONG BEACH, USA:33.8175:W118.151 WRIGHT, USA:31.8889:W81.5622 LITTLE ROCK, USA:34.7294:W92.2242 WEST PALM BEACH, USA:26.5928:W80.085 LINCOLN, USA:40.8508:W96.7592 -LOUISVILLE, USA:38.2278:W85.6636 +LOUISVILLE, USA:38.2278:W85.6636:842 LAREDO, USA:27.5436:W99.4614 -JACKSONVILLE, USA:34.9181:W92.1464 FORT BENNING, USA:32.3372:W84.9911 -LAS VEGAS, USA:36.2361:W115.034 ALTUS, USA:34.6669:W99.2667 -PHOENIX, USA:33.535:W112.383 +PHOENIX, USA:33.535:W112.383:1338 CINCINNATI, USA:39.1033:W84.4186 MIDLAND, USA:31.9425:W102.202 SACRAMENTO, USA:38.6675:W121.401 TAMPA, USA:27.8492:W82.5211 -KANSAS CITY, USA:39.100105:W94.5781416 +KANSAS CITY, USA:39.100105:W94.5781416:816 MACON, USA:32.6928:W83.6492 -ORLANDO, USA:28.5421109:W81.3790304 +ORLANDO, USA:28.5421109:W81.3790304:265 HARRISBURG, USA:40.1933:W76.7633 -CHICAGO, USA:41.85574666473487:W87.76552685185547 -MEMPHIS, USA:35.1490215:W90.0516285 +CHICAGO, USA:41.85574666473487:W87.76552685185547:589 +MEMPHIS, USA:35.1490215:W90.0516285:816 MERCED, USA:37.3803:W120.568 MCALLEN, USA:26.1758:W98.2386 MARIETTA, USA:33.9153:W84.5161 @@ -1562,26 +1499,23 @@ MODESTO, USA:37.6256:W120.954 MINOT, USA:48.2592:W101.28 MONTPELIER, USA:44.2033:W72.5622 MARQUETTE, USA:46.5339:W87.5617 -MADISON, USA:43.1397:W89.3375 +MADISON, USA:43.1397:W89.3375:199 MINNEAPOLIS, USA:44.8803:W93.2167 MASSENA, USA:44.9358:W74.8453 -NEW ORLEANS, USA:29.9933:W90.2578 +NEW ORLEANS, USA:29.9933:W90.2578:439 MOUNT CLEMENS, USA:42.6128:W82.8317 MUIR, USA:40.4347:W76.5692 MOUNTAIN HOME, USA:43.0433:W115.872 GRANT COUNTY AIRPORT, USA:47.2075:W119.32 MINERAL WELLS, USA:32.7814:W98.06 -MONTGOMERY, USA:32.3792:W86.3625 +MONTGOMERY, USA:32.3792:W86.3625:413 MYRTLE BEACH, USA:33.6797:W78.9283 BEAUFORT, USA:32.4772:W80.7231 -NEW ORLEANS, USA:29.8253:W90.035 -JACKSONVILLE, USA:34.7083:W77.4394 LAKEHURST, USA:40.0333:W74.3533 FALLON, USA:39.4164:W118.701 NORFOLK, USA:36.9375:W76.2892 PATUXENT RIVER, USA:38.2858:W76.4117 CHINA, USA:35.6878:W117.691 -JACKSONVILLE, USA:30.2358:W81.6806 EL CENTRO, USA:32.8292:W115.672 CHERRY POINT, USA:34.9025:W76.8808 MIRAMAR, USA:32.8683:W117.143 @@ -1601,17 +1535,15 @@ WHIDBEY ISLAND, USA:48.3517:W122.656 TWENTY NINE PALMS, USA:34.2961:W116.162 WILLOW GROVE, USA:40.1997:W75.1481 QUANTICO, USA:38.5017:W77.3053 -JACKSONVILLE, USA:30.2186:W81.8764 -SAN DIEGO, USA:32.6992:W117.215 +SAN DIEGO, USA:32.6992:W117.215:842 OAKLAND, USA:37.7211:W122.221 OMAHA, USA:41.1183:W95.9125 OGDENSBURG, USA:44.6819:W75.4656 -OKLAHOMA CITY, USA:35.3931:W97.6006 +OKLAHOMA CITY, USA:35.3931:W97.6006:1571 NOGALES, USA:31.4175:W110.848 OMAHA, USA:41.3025:W95.8936 ONTARIO, USA:34.0558:W117.601 MIAMI, USA:25.9069:W80.2783 -CHICAGO, USA:41.9794:W87.9044 NORFOLK, USA:36.8944:W76.2011 ORLANDO, USA:28.5453:W81.3328 OSCODA, USA:44.4514:W83.3939 @@ -1620,11 +1552,10 @@ PANAMA CITY, USA:30.0697:W85.5764 PINE BLUFF, USA:34.1747:W91.9344 PLATTSBURGH, USA:44.6508:W73.4681 WEST PALM BEACH, USA:26.6831:W80.0956 -PORTLAND, USA:45.5886:W122.597 +PORTLAND, USA:45.5886:W122.597:346 NEWPORT NEWS, USA:37.1317:W76.4928 PHILADELPHIA, USA:39.8719:W75.2411 PORT HURON, USA:42.9108:W82.5286 -PHOENIX, USA:33.4342:W112.008 ST. PETERSBURG, USA:27.9106:W82.6872 PITTSBURGH (PENNSYLVA), USA:40.4914:W80.2328 PEMBINA, USA:48.9425:W97.2408 @@ -1641,7 +1572,6 @@ PALM SPRINGS, USA:33.8294:W116.507 PALACIOS, USA:28.7275:W96.2508 PUEBLO MEMORIAL, USA:38.2889:W104.496 PROVIDENCE, USA:41.7239:W71.4281 -PORTLAND, USA:43.6461:W70.3086 RIVERSIDE, USA:33.9517:W117.445 ROBINSON, USA:34.85:W92.3 RAPID CITY, USA:44.145:W103.103 @@ -1651,7 +1581,7 @@ RICHMOND, USA:37.505:W77.3194 RANCHO MURIETA, USA:38.4886:W121.102 RIVERSIDE, USA:33.8806:W117.259 ROME, USA:43.2336:W75.4069 -SAN ANTONIO, USA:29.5294:W98.2789 +SAN ANTONIO, USA:29.5294:W98.2789:1194 RENO, USA:39.4983:W119.768 ROCHESTER, USA:43.1186:W77.6722 ROSWELL, USA:33.3014:W104.531 @@ -1659,7 +1589,6 @@ FORT MYERS, USA:26.5361:W81.755 SACRAMENTO, USA:38.5125:W121.493 SANTA FE, USA:35.6167:W106.088 SAN DIEGO, USA:32.7333:W117.189 -SAN ANTONIO, USA:29.5336:W98.4697 SAVANNAH, USA:32.1275:W81.2019 GWINN, USA:46.3536:W87.3958 SANTA BARBARA, USA:32.6083:W82.3686 @@ -1674,14 +1603,12 @@ SHREVEPORT, USA:32.4464:W93.8256 SAN JOSE, USA:37.32149403063839:W121.9286918256836 SAN ANGELO, USA:31.3575:W100.496 SPOKANE, USA:47.615:W117.656 -SAN ANTONIO, USA:29.3842:W98.5808 SANDUSKY, USA:41.4333:W82.6522 -SALT LAKE CITY, USA:40.7883:W111.978 +SALT LAKE CITY, USA:40.7883:W111.978:288 SACRAMENTO, USA:38.6953:W121.591 SANTA ANA, USA:33.6756:W117.868 SAN LUIS, USA:45.7725:W122.862 ST. PETERSBURG, USA:27.765:W82.6269 -WICHITA FALLS, USA:33.9886:W98.4917 SUMTER, USA:33.9728:W80.4728 ST. LOUIS, USA:38.7475:W90.3597 FAIRFIELD, USA:38.2625:W121.927 @@ -1703,11 +1630,9 @@ TONOPAH, USA:37.7944:W116.779 TAMPA, USA:27.9753:W82.5331 TRENTON, USA:40.2767:W74.8133 TULSA, USA:36.1983:W95.8881 -TUCSON, USA:32.1161:W110.941 TEXARKANA, USA:33.4536:W93.9908 TYLER, USA:32.3539:W95.4022 KNOXVILLE, USA:35.8122:W83.9928 -CHICAGO, USA:42.4219:W87.8678 VALDOSTA, USA:30.9678:W83.1928 LOMPOC, USA:34.7294:W120.577 VICTORVILLE, USA:34.5931:W117.379 @@ -1903,209 +1828,160 @@ LE HAVRE, FRANCE:49.5339:0.0880556 ABBEVILLE, FRANCE:50.1433:1.83167 ORLEANS, FRANCE:47.9878:1.76056 CHALONS, FRANCE:48.7758:4.18444 -ROUEN, FRANCE:49.4404591:1.0939658 -TOURS, FRANCE:47.4322:0.7275 -CHOLET, FRANCE:47.0819:W0.876944 -LAVAL, FRANCE:48.0311:W0.742778 -ORLEANS, FRANCE:47.8969:2.16333 -PARIS, FRANCE:48.8566969:2.3514616 -CREIL, FRANCE:49.2533:2.51889 -COULOMMIERS, FRANCE:48.8375:3.01611 -MELUN, FRANCE:48.6047:2.67111 -TOUSSOUS-LE-NOBLE, FRANCE:48.7517:2.10611 -PONTOISE, FRANCE:49.0964:2.04083 -VILLACOUBLAY, FRANCE:48.7742:2.20139 -BRETIGNY-SUR-ORGE, FRANCE:48.5967:2.33139 -REIMS, FRANCE:49.2078:4.15667 -TROYES, FRANCE:48.3228:4.01778 -LUNEVILLE, FRANCE:48.5972:6.54472 -ETAIN, FRANCE:49.2267:5.67194 -AUTUN, FRANCE:46.9664:4.26028 -NEVERS, FRANCE:47.0011:3.11444 -CAMBRAI, FRANCE:50.2217:3.15417 -MAUBEUGE, FRANCE:50.3103:4.03306 -BESANCON-LA-VEZE, FRANCE:47.2083:6.08306 -PHALSBOURG, FRANCE:48.7661:7.20028 -LILLE, FRANCE:50.5617:3.08944 -MERVILLE, FRANCE:50.6183:2.64222 -CHARLEVILLE, FRANCE:49.7839:4.64694 -VESOUL-FROTEY, FRANCE:47.6375:6.20389 -ANGERS, FRANCE:47.4972:W0.5725 -BREST, FRANCE:48.4478:W4.41833 -CHERBOURG, FRANCE:49.65:W1.47028 -DINARD, FRANCE:48.5878:W2.08 -LA BAULE, FRANCE:47.2894:W2.34639 -GRANVILLE, FRANCE:48.8831:W1.56417 -DEAUVILLE, FRANCE:49.3653:0.154167 -LORIENT, FRANCE:47.7606:W3.44 -LA ROCHE-SUR-YON, FRANCE:46.7019:W1.37861 -LANDIVISIAU, FRANCE:48.53:W4.15139 -CAEN, FRANCE:49.1733:W0.45 -LANVEDOC, FRANCE:48.2817:W4.445 -LE MANS, FRANCE:47.9486:0.201667 -RENNES, FRANCE:48.0694:W1.73472 -LANNION, FRANCE:48.7542:W3.47139 -QUIMPER, FRANCE:47.9747:W4.16778 -NANTES, FRANCE:47.1531:W1.61056 -ST.-BRIEUC ARMOR, FRANCE:48.5378:W2.85444 -MORLAIX, FRANCE:48.6031:W3.81556 -VANNES, FRANCE:47.7231:W2.71833 -ST.-NAZAIRE, FRANCE:47.3119:W2.14917 -MULHOUSE, FRANCE:47.5894:7.52972 -COLMAR, FRANCE:47.9219:7.39944 -DIJON, FRANCE:47.2689:5.09 -METZ, FRANCE:49.0717:6.13167 -EPINAL, FRANCE:48.3247:6.06972 -HAGUENAU, FRANCE:48.7933:7.81611 -ST.-DIZIER, FRANCE:48.6358:4.89917 -TOUL, FRANCE:48.78:5.97972 -MONTBELIARD, FRANCE:47.4869:6.7925 -NANCY, FRANCE:48.6919:6.23028 -NANCY, FRANCE:48.5831:5.955 -PONTARLIER, FRANCE:46.9044:6.32694 -REIMS, FRANCE:49.31:4.05 -STRASSBOURG, FRANCE:48.5381:7.62806 -LUXEUIL, FRANCE:47.7831:6.36389 -CUERS, FRANCE:43.2478:6.12667 -HYERES, FRANCE:43.0972:6.14583 -NIMES, FRANCE:43.7572:4.41611 -MIQUELON, FRANCE:47.0953:W56.3803 -ST.-PIERRE, ST. PIERRE & MIQUELON:46.7625:W56.1753 -AMBERIEU, FRANCE:45.9872:5.32833 -APT, FRANCE:44.0567:5.49528 -DAMBLAIN, FRANCE:48.0847:5.665 -CAMBRAI, FRANCE:50.1414:3.26306 -BROYE-LES-PESMES, FRANCE:47.335:5.51361 -LURE, FRANCE:47.7044:6.54583 -ST.-SIMON, FRANCE:49.7583:3.21194 -ANDRAVIDA, GREECE:37.9206:21.2925 -AGRINION, GREECE:38.6019:21.3511 -ALEXANDROUPOLIS, GREECE:40.8558:25.9561 -ATHENS, GREECE:37.9839412:23.7283052 -ALEXANDRIA, GREECE:35.50580479245094:24.024996747143533 -NEA ANGHIALOS, GREECE:39.2194:22.7942 -ELEFSIS, GREECE:38.0636:23.5558 -CHIOS, GREECE:38.3431:26.1406 -IOANNINA, GREECE:39.6964:20.8225 -HERAKLION, GREECE:35.3394:25.1803 -KASTORIA, GREECE:40.4494:21.2761 -KITHIRA, GREECE:36.2742:23.0169 -KEFFALLINIA, GREECE:38.1197:20.5006 -KALAMATA, GREECE:37.0683:22.0256 -KAVALA, GREECE:40.9722:24.3417 -KOS, GREECE:36.891437287176245:27.281127520593273 -KARPATHOS, GREECE:35.4214:27.1458 -KERKYRA/CORFU, GREECE:39.6019:19.9117 -KASOS, GREECE:35.4211:26.91 -KAVALA, GREECE:40.9131:24.6192 -KOZANI, GREECE:40.2861:21.8408 -LEROS, GREECE:37.1847:26.8003 -LIMNOS, GREECE:39.9169:25.2361 -LARISSA, GREECE:39.65:22.4653 -MEGARA, GREECE:37.9811:23.3653 -MYKONOS, GREECE:37.435:25.3481 -MARATHON, GREECE:38.145:24.0142 -MYTILINI, GREECE:39.0567:26.5983 -PREVEZA, GREECE:38.9253:20.7653 -RHODOS, GREECE:36.3831:28.1089 -RHODOS, GREECE:36.4053:28.0861 -PATRAS, GREECE:38.1511:21.4256 -CHANIA, GREECE:35.5317:24.1494 -SKIATHOS, GREECE:39.1769:23.5036 -SAMOS, GREECE:37.69:26.9117 -SYROS, GREECE:37.4228:24.9508 -SPARTI, GREECE:36.9733:22.5261 -SANTORINI, GREECE:36.4003:25.4786 -SITIA, GREECE:35.2136:26.0975 -STEFANOVIKION, GREECE:39.48:22.7672 -SKIROS, GREECE:38.9675:24.4872 -TANAGRA, GREECE:38.3397:23.5647 -KASTELI, GREECE:35.1869:25.3267 -TRIPOLIS, GREECE:37.5308:22.405 -THESSALONIKI, GREECE:40.5197:22.9708 -DEKELIA, GREECE:38.1089:23.7836 -ZAKYNTHOS, GREECE:37.75:20.8819 -BUDAPEST, HUNGARY:47.4367:19.2556 -DEBRECEN, HUNGARY:47.4889:21.6153 -GODOLLO, HUNGARY:47.5708:19.3386 -KECSKEMET, HUNGARY:46.9175:19.7492 -KAPOSVAR, HUNGARY:46.3892:17.7314 -NYIRREGYHAZA, HUNGARY:47.9839:21.6922 -OCSENY, HUNGARY:46.3039:18.7692 -PAPA, HUNGARY:47.3639:17.5008 -AZENTKILYSZABADJA, HUNGARY:47.0778:17.9683 -SIOFOK, HUNGARY:46.8581:18.0956 -SARMELLEK, HUNGARY:46.6864:17.1589 -SZOLNOK, HUNGARY:47.1228:20.2353 -TASZAR, HUNGARY:46.3931:17.9172 -TOKOL, HUNGARY:47.3453:18.9808 -AMENDOLA, ITALY:41.5386:15.7133 -CROTONE, ITALY:38.9972:17.08 -BARI, ITALY:41.1383:16.7606 -FOGGIA, ITALY:41.4328:15.535 -GROTTAGLIE, ITALY:40.5161:17.4022 -LECCE, ITALY:40.2386:18.1331 -PESCARA, ITALY:42.4314:14.1808 -BRINDISI, ITALY:40.6575:17.9469 -GIOIA DEL COLLE, ITALY:40.7678:16.9333 -LAMEZIA, ITALY:38.9064:16.2422 -CATANIA, ITALY:37.4667:15.0661 -LAMPEDUSA, ITALY:35.4978:12.6181 -PANTELLERIA, ITALY:36.8164:11.9686 -PALERMO, ITALY:38.1758:13.0908 -PALERMO, ITALY:38.1108:13.3133 -REGGIO CALABRIA, ITALY:38.0711:15.6514 -TRAPANI, ITALY:37.9125:12.4881 -SIGONELLA, ITALY:37.4014:14.9222 -ALGHERO, ITALY:40.6319:8.29056 -DECIMOMANNU, ITALY:39.3542:8.97222 -CAGLIARI, ITALY:39.2514:9.05417 -OLBIA, ITALY:40.8986:9.5175 -TORTOLI, ITALY:39.9186:9.68278 -ROME, ITALY:41.8933203:12.4829321 -TURIN, ITALY:45.0677551:7.6824892 -MILANO, ITALY:45.5397:9.20222 -MILANO, ITALY:45.6314:8.72778 -BERGAMO, ITALY:45.6739:9.70417 -TORINO, ITALY:45.2006:7.64944 -ALBENGA, ITALY:44.0506:8.12722 -GENOA, ITALY:44.4119:8.84167 -MILAN, ITALY:45.4453:9.27694 -CAMERI, ITALY:45.5294:8.66917 -PARMA, ITALY:44.8244:10.2961 -PIACENZA, ITALY:44.9131:9.72333 -AOSTA, ITALY:45.7383:7.36778 -LEVALDIGI, ITALY:44.5464:7.62222 -AVIANO, ITALY:46.0317:12.5964 -BOLZANO, ITALY:46.4606:11.3261 -CERVIA, ITALY:44.2236:12.3061 -BOLOGNA, ITALY:44.5342:11.2903 -TREVISO, ITALY:45.6486:12.1953 -RIVOLTO, ITALY:45.9806:13.0544 -FORLI, ITALY:44.1947:12.07 -GHEDI, ITALY:45.4319:10.2675 -VERONA, ITALY:45.4719:10.9278 -MONTICHIARI, ITALY:45.4289:10.3306 -RONCHI DE LEGIONARI, ITALY:45.8278:13.4664 -RIMINI, ITALY:44.0203:12.6119 -TREVISO, ITALY:45.6844:12.0861 -VICENZA, ITALY:45.5742:11.5306 -PADOVA, ITALY:45.3956:11.8478 -VILLAFRANCA, ITALY:45.3956:10.8883 -VENICE, ITALY:45.505:12.3517 -SIENA, ITALY:43.2572:11.2542 -PRATICA DI MARE, ITALY:41.6536:12.4444 -GUIDONIA, ITALY:41.9903:12.7408 -SALERNO, ITALY:40.6203:14.9111 -MARINA DI CAMPO, ITALY:42.7603:10.2394 -LATINA, ITALY:41.5422:12.9089 -GRAZZANISE, ITALY:41.0608:14.0819 -NAPLES, ITALY:40.8858:14.2906 -PISA, ITALY:43.6839:10.3925 -FIRENZE, ITALY:43.8097:11.205 -GROSSETO, ITALY:42.7608:11.0722 -VITERBO, ITALY:42.4303:12.0642 -PERUGIA, ITALY:43.0958:12.5131 +ROUEN, FRANCE:49.4404591:1.0939658:21 +TOURS, FRANCE:47.4322:0.7275:34 +CHOLET, FRANCE:47.0819:W0.876944:87 +LAVAL, FRANCE:48.0311:W0.742778:34 +ORLEANS, FRANCE:47.8969:2.16333:27 +PARIS, FRANCE:48.8566969:2.3514616:105 +CREIL, FRANCE:49.2533:2.51889:11 +COULOMMIERS, FRANCE:48.8375:3.01611:10 +TOUSSOUS-LE-NOBLE, FRANCE:48.7517:2.10611:4 +VILLACOUBLAY, FRANCE:48.7742:2.20139:8 +REIMS, FRANCE:49.2078:4.15667:46 +TROYES, FRANCE:48.3228:4.01778:13 +LUNEVILLE, FRANCE:48.5972:6.54472:16 +ETAIN, FRANCE:49.2267:5.67194:20 +AUTUN, FRANCE:46.9664:4.26028:61 +NEVERS, FRANCE:47.0011:3.11444:17 +CAMBRAI, FRANCE:50.2217:3.15417:18 +MAUBEUGE, FRANCE:50.3103:4.03306:18 +BESANCON-LA-VEZE, FRANCE:47.2083:6.08306:5 +PHALSBOURG, FRANCE:48.7661:7.20028:13 +LILLE, FRANCE:50.5617:3.08944:34 +MERVILLE, FRANCE:50.6183:2.64222:26 +CHARLEVILLE, FRANCE:49.7839:4.64694:31 +VESOUL-FROTEY, FRANCE:47.6375:6.20389:7 +ANGERS, FRANCE:47.4972:W0.5725:42 +BREST, FRANCE:48.4478:W4.41833:49 +CHERBOURG, FRANCE:49.65:W1.47028:14 +LA BAULE, FRANCE:47.2894:W2.34639:22 +GRANVILLE, FRANCE:48.8831:W1.56417:9 +DEAUVILLE, FRANCE:49.3653:0.154167:3 +LORIENT, FRANCE:47.7606:W3.44:17 +LA ROCHE-SUR-YON, FRANCE:46.7019:W1.37861:87 +LANDIVISIAU, FRANCE:48.53:W4.15139:18 +CAEN, FRANCE:49.1733:W0.45:25 +LE MANS, FRANCE:47.9486:0.201667:52 +RENNES, FRANCE:48.0694:W1.73472:50 +QUIMPER, FRANCE:47.9747:W4.16778:84 +NANTES, FRANCE:47.1531:W1.61056:65 +MORLAIX, FRANCE:48.6031:W3.81556:24 +VANNES, FRANCE:47.7231:W2.71833:32 +ST.-NAZAIRE, FRANCE:47.3119:W2.14917:46 +MULHOUSE, FRANCE:47.5894:7.52972:22 +COLMAR, FRANCE:47.9219:7.39944:66 +DIJON, FRANCE:47.2689:5.09:40 +METZ, FRANCE:49.0717:6.13167:41 +EPINAL, FRANCE:48.3247:6.06972:59 +HAGUENAU, FRANCE:48.7933:7.81611:182 +ST.-DIZIER, FRANCE:48.6358:4.89917:43 +TOUL, FRANCE:48.78:5.97972:30 +MONTBELIARD, FRANCE:47.4869:6.7925:15 +NANCY, FRANCE:48.6919:6.23028:15 +PONTARLIER, FRANCE:46.9044:6.32694:41 +REIMS, FRANCE:49.31:4.05:46 +STRASSBOURG, FRANCE:48.5381:7.62806:78 +LUXEUIL, FRANCE:47.7831:6.36389:21 +CUERS, FRANCE:43.2478:6.12667:50 +HYERES, FRANCE:43.0972:6.14583:132 +NIMES, FRANCE:43.7572:4.41611:161 +AMBERIEU, FRANCE:45.9872:5.32833:24 +CAMBRAI, FRANCE:50.1414:3.26306:18 +BROYE-LES-PESMES, FRANCE:47.335:5.51361:25 +LURE, FRANCE:47.7044:6.54583:24 +ST.-SIMON, FRANCE:49.7583:3.21194:3 +AGRINION, GREECE:38.6019:21.3511:162:84 +ALEXANDROUPOLIS, GREECE:40.8558:25.9561:642 +ATHENS, GREECE:37.9839412:23.7283052:38 +ALEXANDRIA, GREECE:35.50580479245094:24.024996747143533:61 +ELEFSIS, GREECE:38.0636:23.5558:18 +IOANNINA, GREECE:39.6964:20.8225:403 +HERAKLION, GREECE:35.3394:25.1803:245 +KASTORIA, GREECE:40.4494:21.2761:57 +KALAMATA, GREECE:37.0683:22.0256:442 +KAVALA, GREECE:40.9722:24.3417:37 +KOZANI, GREECE:40.2861:21.8408:34 +LARISSA, GREECE:39.65:22.4653:122 +MEGARA, GREECE:37.9811:23.3653:330 +MYKONOS, GREECE:37.435:25.3481:85 +MARATHON, GREECE:38.145:24.0142:97 +MYTILINI, GREECE:39.0567:26.5983:15 +PREVEZA, GREECE:38.9253:20.7653:381 +PATRAS, GREECE:38.1511:21.4256:125 +CHANIA, GREECE:35.5317:24.1494:12 +SPARTI, GREECE:36.9733:22.5261:21 +TANAGRA, GREECE:38.3397:23.5647:27 +KASTELI, GREECE:35.1869:25.3267:334 +TRIPOLIS, GREECE:37.5308:22.405:28 +THESSALONIKI, GREECE:40.5197:22.9708:19 +BUDAPEST, HUNGARY:47.4367:19.2556:525 +DEBRECEN, HUNGARY:47.4889:21.6153:461 +GODOLLO, HUNGARY:47.5708:19.3386:61 +KECSKEMET, HUNGARY:46.9175:19.7492:322 +KAPOSVAR, HUNGARY:46.3892:17.7314:113 +NYIRREGYHAZA, HUNGARY:47.9839:21.6922:274 +OCSENY, HUNGARY:46.3039:18.7692:72 +PAPA, HUNGARY:47.3639:17.5008:91 +AZENTKILYSZABADJA, HUNGARY:47.0778:17.9683:22 +SIOFOK, HUNGARY:46.8581:18.0956:124 +SARMELLEK, HUNGARY:46.6864:17.1589:35 +SZOLNOK, HUNGARY:47.1228:20.2353:187 +TOKOL, HUNGARY:47.3453:18.9808:38 +CROTONE, ITALY:38.9972:17.08:179 +BARI, ITALY:41.1383:16.7606:117 +FOGGIA, ITALY:41.4328:15.535:507 +GROTTAGLIE, ITALY:40.5161:17.4022:102 +LECCE, ITALY:40.2386:18.1331:238 +PESCARA, ITALY:42.4314:14.1808:33 +BRINDISI, ITALY:40.6575:17.9469:333 +GIOIA DEL COLLE, ITALY:40.7678:16.9333:206 +LAMEZIA, ITALY:38.9064:16.2422:162 +CATANIA, ITALY:37.4667:15.0661:182 +PALERMO, ITALY:38.1758:13.0908:158 +REGGIO CALABRIA, ITALY:38.0711:15.6514:239 +TRAPANI, ITALY:37.9125:12.4881:271 +ALGHERO, ITALY:40.6319:8.29056:224 +DECIMOMANNU, ITALY:39.3542:8.97222:28 +CAGLIARI, ITALY:39.2514:9.05417:85 +OLBIA, ITALY:40.8986:9.5175:383 +TORTOLI, ITALY:39.9186:9.68278:39 +ROME, ITALY:41.8933203:12.4829321:1285 +TURIN, ITALY:45.0677551:7.6824892:130 +MILANO, ITALY:45.5397:9.20222:181 +BERGAMO, ITALY:45.6739:9.70417:40 +TORINO, ITALY:45.2006:7.64944:130 +ALBENGA, ITALY:44.0506:8.12722:36 +GENOA, ITALY:44.4119:8.84167:243 +MILAN, ITALY:45.4453:9.27694:181 +CAMERI, ITALY:45.5294:8.66917:39 +PARMA, ITALY:44.8244:10.2961:260 +PIACENZA, ITALY:44.9131:9.72333:118 +AVIANO, ITALY:46.0317:12.5964:113 +BOLZANO, ITALY:46.4606:11.3261:52 +BOLOGNA, ITALY:44.5342:11.2903:140 +TREVISO, ITALY:45.6486:12.1953:55 +FORLI, ITALY:44.1947:12.07:228 +GHEDI, ITALY:45.4319:10.2675:60 +VERONA, ITALY:45.4719:10.9278:1426 +MONTICHIARI, ITALY:45.4289:10.3306:81 +RONCHI DE LEGIONARI, ITALY:45.8278:13.4664:17 +RIMINI, ITALY:44.0203:12.6119:134 +TREVISO, ITALY:45.6844:12.0861:55 +VICENZA, ITALY:45.5742:11.5306:80 +PADOVA, ITALY:45.3956:11.8478:92 +VENICE, ITALY:45.505:12.3517:414 +SIENA, ITALY:43.2572:11.2542:118 +GUIDONIA, ITALY:41.9903:12.7408:79 +SALERNO, ITALY:40.6203:14.9111:58 +LATINA, ITALY:41.5422:12.9089:277 +GRAZZANISE, ITALY:41.0608:14.0819:47 +NAPLES, ITALY:40.8858:14.2906:119 +PISA, ITALY:43.6839:10.3925:185 +FIRENZE, ITALY:43.8097:11.205:102 +GROSSETO, ITALY:42.7608:11.0722:474 +VITERBO, ITALY:42.4303:12.0642:406 +PERUGIA, ITALY:43.0958:12.5131:449 CERKLJE, SLOVENIA:45.8997:15.53 LJUBLIANA, SLOVENIA:46.2236:14.4575 MARIBOR, SLOVENIA:46.4797:15.6861 @@ -2842,7 +2718,7 @@ ADAK ISLAND, USA:51.8778:W176.646 DILLINGHAM, USA:59.0453:W158.503 KODIAK, USA:57.75:W152.494 UNALASKA, USA:53.9:W166.543 -ANCHORAGE, USA:61.2511:W149.806 +ANCHORAGE, USA:61.2511:W149.806:4415 CAPE NEWENHAM, USA:58.6472:W162.061 FAIRBANKS, USA:64.6656:W147.101 KENAI, USA:60.5731:W151.245 @@ -2879,7 +2755,7 @@ TIN CITY, USA:65.5631:W167.922 TALKEETNA, USA:62.3203:W150.094 TATALINA, USA:62.8942:W155.976 UNALAKLEET, USA:63.8883:W160.799 -VALDEZ, USA:61.1339:W146.248 +VALDEZ, USA:61.1339:W146.248:560 FORT WAINWRIGHT, USA:70.6133:W159.86 YAKUTAT, USA:59.5031:W139.66 CANTON ISLAND, PHOENIX ISL.:-2.76667:W0 diff --git a/tests.py b/tests.py index fc4ae487f..77c577ca8 100644 --- a/tests.py +++ b/tests.py @@ -3600,20 +3600,21 @@ def testRemovePostInteractions() -> None: def testSpoofGeolocation() -> None: print('testSpoofGeolocation') citiesList = [ - 'NEW YORK, USA:40.6397:W73.7789', - 'LOS ANGELES, USA:33.9425:W118.408', - 'HOUSTON, USA:29.9803:W95.3397', - 'MANCHESTER, ENGLAND:53.4794892:W2.2451148' + 'NEW YORK, USA:40.7127281:W74.0060152:784', + 'LOS ANGELES, USA:34.0536909:W118.242766:1214', + 'HOUSTON, USA:29.6072:W95.1586:1553', + 'MANCHESTER, ENGLAND:53.4794892:W2.2451148:630', + 'BERLIN, GERMANY:52.5170365:13.3888599:891' ] currTime = datetime.datetime.utcnow() decoySeed = 7634681 cityRadius = 0.1 coords = spoofGeolocation('', 'los angeles', currTime, decoySeed, citiesList) - assert coords[0] >= 33.9425 - cityRadius - assert coords[0] <= 33.9425 + cityRadius - assert coords[1] >= 118.408 - cityRadius - assert coords[1] <= 118.408 + cityRadius + assert coords[0] >= 34.0536909 - cityRadius + assert coords[0] <= 34.0536909 + cityRadius + assert coords[1] >= 118.242766 - cityRadius + assert coords[1] <= 118.242766 + cityRadius assert coords[2] == 'N' assert coords[3] == 'W' assert len(coords[4]) > 4 @@ -3642,12 +3643,17 @@ def testSpoofGeolocation() -> None: currTime = datetime.datetime.strptime("2021-05-" + str(dayNumber) + " " + hourStr + ":14", "%Y-%m-%d %H:%M") - coords = spoofGeolocation('', 'manchester, england', currTime, + coords = spoofGeolocation('', 'new york, usa', currTime, decoySeed, citiesList) + #coords = spoofGeolocation('', 'berlin, germany', currTime, + # decoySeed, citiesList) + longitude = coords[1] + if coords[3] == 'W': + longitude = -coords[1] kmlStr += '\n' kmlStr += ' ' + str(i) + '\n' kmlStr += ' \n' - kmlStr += ' ' + str(-coords[1]) + ',' + \ + kmlStr += ' ' + str(longitude) + ',' + \ str(coords[0]) + ',0\n' kmlStr += ' \n' kmlStr += '\n'