RuG/L04

Tutorial

5. Over het maken van kaarten

De eenvoudigste manier om een nieuwe kaart te maken is met behulp van Google Earth. Teken een kaart in Google Earth, voeg de plaatsen toe, en laat het automatisch omzetten naar RuG/L04: De omslachtige manier is uit verzamelde gegevens zelf de kaarten samen te stellen. Dat laatste wordt hieronder besproken.


Voordat je een kaart kunt tekenen moet je een aantal gegevens verzamelen. Je moet in ieder geval een lijst hebben met coördinaten van alle plaatsen waaruit je data hebt. Daarnaast is het zeer wenselijk, maar niet noodzakelijk, om de begrenzing van het gebied te kennen. Als extra kun je nog dingen verzamelen zoals binnengrenzen, rivieren, lijnen binnen het gebied die kunnen helpen de kijker te oriënteren. Hieronder staan twee voorbeelden. Links een kaart waarbij alledrie de soorten gegevens zijn gebruikt. Rechts staat een kaart waarbij alleen de plaatscoördinaten zijn gebruikt.

Kaarten met buitengrens en binnengrenzen (links), en zonder grenzen (rechts)
In het grijze gebied zijn wel plaatsen, maar zonder data

5.1 Het verkrijgen van geografische data

Met een klein beetje geluk kun je de coördinaten van al je plaatsen vinden op het web. Probeer het eens met een van deze drie: (Als een van deze links is veranderd, geef het mij dan even door.)

Het verkrijgen van de begrenzing van het gebied is een stuk lastiger. Wat je nodig hebt is een polygoon (of een aantal polygonen als het geen aaneengesloten gebied is), een gesloten reeks van coördinaten die de grens opdeelt is korte, rechte lijnstukjes. Hiervoor zul je waarschijnlijk beroep moeten doen op iemand die een Geographic Information System (GIS) gebruikt. Daarbij zijn er een paar dingen waar je op moet letten:

De polygoon (of polygonen) moet opgeslagen worden met coördinaten in longitude (lengtegraad) en latitude (breedtegraad). Het is gebruikelijk dat een GIS de coördinaten vertaalt naar een coördinatenstelsel dat het gunstigst is om het betreffende gebied goed af te beelden op het platte vlak. Maar de RuG/L04 software heeft daar een eigen programma voor. Stel dat je eenmaal de kaart hebt en een aantal plaatsen, en later wil je daar nog plaatsen aan toevoegen (omdat je meer data hebt gekregen). Als je de coördinaten in longitude en latitude hebt, dan hoef je alleen maar de coördinaten van de nieuwe plaatsen er bij te zoeken, en hoef je geen beroep meer te doen op iemand met een GIS.

Als het GIS het toelaat, kies dan voor niet teveel detail. Als een polygoon van 1000 punten een kaart geeft die duidelijk genoeg is, gebruik dan geen polygoon van 8000 punten, tenzij je echt een zo mooi mogelijke kaart wilt hebben. Teveel punten in de polygoon kunnen misschien, onder sommige omstandigheden, er voor zorgen dat de afbeeldingen die je maakt met RuG/L04 niet weergegeven kunnen worden.

Het formaat waarin de polygoon, of reeksen polygonen, moet worden opgeslagen staat beschreven in de handleiding van het programma mapsetup (dat programma wordt hieronder besproken).

5.2 Geografische projectie

Wanneer je coördinaten in longitude en latitude hebt, dan kun je die op twee manieren gebruiken.

Wanneer het om een gebied gaat dat niet al te groot is, en het ligt niet al te dicht bij een poolgebied, dan kun je de coördinaten ongewijzigd gebruiken. Je moet dan in de kaarten alleen de verhouding tussen de x-as en y-as bijstellen, zodat de verhouding past bij de breedtegraad. Dit is gedaan met de kaart van Pennsylvania in deel 2 en deel 3 van de tutorial.

Voor grotere gebieden moet je de coördinaten vertalen vanuit longitude en latitude (coördinaten op de bol) naar een geschikte geografische projectie op het platte vlak. Hiervoor kun je het programma ll2grid gebruiken. Zie de handleiding van dit programma hoe je dat precies doet. Er is één ding waar je op moet letten. Neem als voorbeeld de kaart van Pennsylvania. Op deze kaart zijn een aantal lange, rechte grenzen te zien, grenslijnen die precies parallel lopen aan een lengtegraad of breedtegraad. Wanneer je de kaart gaat projecteren met het programma ll2grid, dan zouden die grenzen gebogen moeten worden, maar deze lange lijnstukken worden alleen maar aangegeven door een begin- en eindpunt, en het programma vertaalt alleen die punten. In dit geval zou je dus, voordat je ll2grid gebruikt, die lange lijn moeten opdelen in korte stukjes, door punten toe te voegen op onderling kleine afstanden, langs de grenslijn.

5.3 De laatste voorbereidingen

Voordat je uiteindelijk een kaart kunt tekenen moet je voor een aantal bestanden zorgen.

Je hebt een configuratiebestand nodig. Daarin staan vermeld de namen van andere bestanden die nodig zijn voor het tekenen van kaarten, en een groot aantal opties die bepalen hoe de kaart er uit komt te zien. Dit bestand zul je zelf met een editor voor platte tekst moeten maken. Zie voorbeeld en handleiding.

Je kunt plaatsen die taaleilanden vormen apart op de kaart markeren. Deze plaatsen moet je in een apart bestand vermelden, en dat bestand definiëren in het configuratiebestand bij de optie othermarkers.

Je hebt een bestand nodig met een lijst van genummerde plaatsen (Label file), en een bestand met coördinaten van plaatsen (Coordinate file).

Met het programma ll2dst kun je een bestand met coördinaten omzetten in een tabel van geografische afstanden, mits de coördinaten in lengte- en breedtegraden zijn.
5.3.1 Map setup
Tot slot heb je nog één tot drie bestanden nodig met fragmenten in PostScript-code. Deze kun je laten aanmaken door het programma mapsetup. Het eerste bestand is een fragment dat zorgt voor de vertaling van kaartcoördinaten naar afbeeldingscoördinaten. Het tweede fragment bepaalt het gebied dat ingekleurd wordt, de buitengrens. Het derde fragment tekent de kaart in met lijnen van grenzen, binnengrenzen en zo.

Hieronder volgt een voorbeeld voor het gebruik van mapsetup voor de kaart van Pennsylvania. De polygoon van het buitengrens staat in het bestand PA.geo, en wordt gegeven met de optie -c. Er is geen bestand met extra binnengrenzen, dus voor het tekenen van grenzen wordt nog eens hetzelfde bestand gebruikt, nu achter de optie -m. De optie -L wordt gebruikt om aan te geven dat de coördinaten in longitude en latitude zijn. Het programma zorgt dan voor een geschikte aanpassing tussen de schaal van de x-as en de y-as.

    mapsetup -L -c PA.geo -m PA.geo

Wanneer je bovenstaand commando gebruikt zie je dit als resultaat:

    transform saved to: out.trn
    clipping saved to: out.clp
    map saved to: out.map
    
    Don't forget to put the following line in your configuration file:
    
    aspect: 1.32501

Behalve de hierboven genoemde aspect ratio moet je ook de namen van de gecreëerde bestanden opnemen in het configuratiebestand.

Heb je bijvoorbeeld ll2grid gebruikt om de coördinaten eerst om te zetten, dan moet je hierboven niet de optie -L gebruiken, en in het configuratiebestand als aspect de waarde 1 opgeven.

Als je geen grenzen beschikbaar hebt, dan moet je toch het programma mapsetup gebruiken om tenminste een van de hulpbestanden aan te maken. In dat geval gebruik je het bestand met de coördinaten van plaatsen als invoer. Bijvoorbeeld:

    mapsetup -L -l PA.coo

Je ziet dan dit:

    transform saved to: out.trn

    Don't forget to put the following line in your configuration file:

    aspect: 1.32261

5.4 Testen

Even testen of alles goed werkt. Hiervoor heb je niet eerst een meting nodig, geen clustering of MDS. Gebruik het programma mapmap om een kale kaart te tekenen, bijvoorbeeld met een configuratiebestand met de naam map.cfg:

    mapmap -o test.ps map.cfg

Als alles in orde lijkt hoef je alleen nog maar de BoundingBox aan te passen.

5.5 BoundingBox

Om een PostScript-afbeelding op te nemen in een ander document is het nodig dat de BoundingBox juist is gedefinieerd, de rechthoek die de begrenzing aangeeft waarbinnen precies de afbeelding valt. De BoundingBox wordt aangegeven door vier hele getallen: de x- en y-coördinaat van de linker benedenhoek en de x- en y-coördinaat van de rechter bovenhoek (in deze volgorde). Deze vier getallen moet je invullen achter de optie boundingbox in het configuratiebestand. De juiste waarden kun je bijvoorbeeld achterhalen met behulp van het programma GV (op Unix) of GSview (op Windows).
5.5.1 GV
(Beschrijving voor GV versie 3.5.8)

Open je eerste kaart in GV.

Boven, in de menubalk staat een papierformaat aangegeven, waarschijnlijk BBox, A4 of Letter. Als er BBox staat, verander dit dan in een van de andere formaten, zodat je heel het papier krijgt te zien. Ga vervolgens met de muis over de uiterste randen van de afbeelding, en kijk linksboven wat de bijbehorende coördinaten zijn. Neem die coördinaten over in het configuratiebestand, maak een nieuwe kaart, en open die in GV. Kies deze keer het papierformaat BBox. Als het goed is past de afbeelding nu precies.

5.5.2 GSview
(Beschrijving voor GSview versie 4.3)

Open je eerste kaart in GSview.

Open het menu Opties (Options), het submenu Eenheidsmaten (Units) en selecteer pt. In hetzelfde submenu deselecteer de optie Beste Resolutie (Fine Resolution).

Open het menu Opties (Options) en selecteer Kader Tonen (Show Bounding Box).

Open het menu Opties (Options) en deselecteer EPS Knipsel (EPS Clip).

Er staat nu een rechthoek over de kaart, die waarschijnlijk niet past. Beweeg de muis over de uiterste randen van de afbeelding, en kijk onderin het scherm wat de bijbehorende coördinaten zijn. Neem die coördinaten over in het configuratiebestand, maak een nieuwe kaart, en open die in GSview. Als het goed is past de rechthoek nu precies rond de kaart.