Antipode van Nederland dicht bij Nieuw Zeeland

In 1997 vlogen wij voor het eerst naar Nieuw Zeeland. Voor een lange fietstocht van drie maanden. Toen pas besefte ik hoe ver dat is. De halve aardbol rond gaat je als passagier niet in je koude kleren zitten, wat een lange zit! Het zal in die jaren zijn geweest dat ik benieuwd was waar je zou uitkomen als je echt door het middelpunt van de aarde zou gaan. In de geografie is dit de antipode van een punt: het tegenoverliggende punt op de aardbol. De afgelopen dagen heb ik daar een QGis-kaart van gemaakt. Dat ging niet zonder slag of stoot…

Lat-lon conversie
Ik wilde een groot deel van Europa in zijn antipodale(?) vorm projecteren in Oceanië. Een shapefile van Europa is gauw gevonden, maar de lat-lon waardes moeten herschreven worden naar nieuwe lat-lon antipodes. Voor de latitude waarden, geen probleem: wat ten noorden van de evenaar ligt, ligt dan ten zuiden, dus een min-teken ervoor is voldoende

Moeilijke longitudes
De nieuwe longitude waarden kunnen herschreven worden door een IF-THEN-ELSE: IF de waarde kleiner dan 0, THEN 180 erbij optellen, ELSE 180 aftrekken. Dat is gedaan op basis van een script van Safe MVP, Jeff Konnen. Zie: https://knowledge.safe.com/articles/1265/example-of-an-antipodes-mapper-using-fme-custom-tr.html

Afbeelding op plat vlak
Probeer je vervolgens een laag met de de nieuwe polygonen toe te voegen aan een WSG84 map van Oceanië, dan worden alleen de delen ten westen van de Greenwich nulmeridiaan goed gepositioneerd. De rest wordt, omdat de projectie als plat vlak nu eenmaal een linker- en rechtereinde kent, aan de andere kant van de kaart neergezet. Zie hieronder

Nieuwe projectie
Gelukkig kunnen we alle lagen in QGis herprojecteren door het coördinatensysteem van het hele project te veranderen in NZGD2000 (EPSG:2193). Daarvan loopt de primaire meridiaan door Nieuw Zeeland en vormen de uiteinden van de kaart geen probleem. Die liggen nu in Groot-Brittanië!

Kloof
Nu wordt alles wel goed gepositioneerd, alleen op de internationale datumgrens, de 180 graden grens, is een kloof zichtbaar. Oorzaak is dat de conversie naar nieuwe latlon waarden de polygonen onvermijdelijk splitst op die lijn en bij het bij elkaar brengen, zorgt de projectie voor het niet naadloos aansluiten. Zie hieronder.

(update 6 mei 2016: intussen is een oplossing gevonden in FME: voordat in de FME de nieuwe antipodale lat-lon waarden weer worden omgevormd van punten naar polygonen, wordt door een Reprojector de waarden omgezet naar EPSG:2193. Pas daarna worden de polygonen aangemaakt. Tis maar de vraag of zoiets in QGis zou kunnen …)

Wat uitkomst brengt, is een 2e FME-script maken, gebaseerd op de 1e versie: bij de longitude waarden wordt nu altijd 180 bijgeteld, ook al zijn deze groter dan 0. Gevolg is wel dat veel waarden groter zijn dan 180 en dat kan eigenlijk niet. Deze laag levert in ieder geval op dat de landen waar de kloof doorheen loopt, nu zonder kloof getoond worden. Alleen de landen ter rechterzijde, zoals Nederland weer helemaal niet. Zie hieronder.

Laatste ingreep is dan maar twee lagen in QGis laden:
1. de onderste laag: alle landen met een filter op die landen die ter rechterzijde van de kloof liggen
2. een daarboven liggende laag met alleen die landen mét kloof en alles ter linkerzijde.

Deze beide lagen vormen het correcte beeld.

Buffers
Tenslotte wil ik nog een aantal cirkels vanuit onze favoriete stad Christchurch laten zien. Die geven zo een goede indicatie van de afstand met het antipodale Amsterdam: nog altijd zo’n 1400 km verwijderd van Christchurch.
Die cirkels moeten goed aan te maken zijn met buffers. Echter, de buffer functie van 1) de Processing Toolbox, als de 2) Vector Geoprocessing Tools, als de 3) plugin Multiple Distance Buffer, blijken niet goed te werken. QGis crasht met de log ‘The thread tried to read or write to a virtual address for which it does not have the  appropriate access’. De enige die prima werkt binnen QGis is MMQGis plugin. Wie het waarom weet, mag het zeggen. Ik ben benieuwd… Overigens: uiteindelijk heb ik de ringen als shapebestand aangemaakt met behulp van de multibufferer transformer van FME.

Er zijn meerdere wegen die naar de andere kant leiden!

Klik op het eindresultaat: