GoogleGIS Historisch
onderzoek
door
middel
van
een
geïmplementeerd met behulp van Google Maps
Ronnie Kalicharan S1809423
[email protected] Bachelorscriptie – Informatiekunde Versie 1.6 Augustus 2009 – Rijksuniversiteit Groningen
GIS
-
Probleemstelling Is het mogelijk om historische data om te zetten naar een dynamisch GIS geïmplementeerd in Google Maps?
Onderwerp / applicatie Het visualiseren van scheepsbewegingen in het Caribische gebied in de tijdsperiode 1742 en 1817.
Voorwoord Deze scriptie is geschreven in het kader van het afstudeeronderzoek dat een verplicht onderdeel vormt ter afronding van de eenjarige (schakel) voltijds opleiding Informatiekunde. Deze opleiding wordt aangeboden door de Rijksuniversiteit Groningen. Ik wil graag van de gelegenheid gebruik maken om alle mensen te bedanken die mij geholpen hebben bij het tot stand komen van deze scriptie. Op de eerste plaats mijn ouders en familie, voor hun steun en vertrouwen door het jaar heen. Op de tweede plaats wil ik graag alle docenten bedanken voor hun medewerking, met name George Welling als mijn scriptiebegeleider van de Rijksuniversiteit Groningen. Tot slot bedank ik mijn medestudenten voor hun betrokkenheid en daarnaast als medelezer van mijn scriptie.
Ronnie Kalicharan
Inhoud 1
Inleiding ............................................................................................................................................................................................................................. 6 1.1 Historisch geografisch informatiesysteem; HISGIS........................................................................................................................... 6 1.2 Opbouw en methodologie ............................................................................................................................................................................... 6 1.3 Ideeperspectief ........................................................................................................................................................................................................... 6
2
Het onderzoek .............................................................................................................................................................................................................. 7 2.1 Inleiding ........................................................................................................................................................................................................................... 7 2.2 Historisch perspectief ............................................................................................................................................................................................ 7 2.3 Historisch onderzoek d.m.v. een GIS........................................................................................................................................................... 8
3
Geografische informatiesystemen................................................................................................................................................................. 9 3.1 Inleiding ........................................................................................................................................................................................................................... 9 3.2 GIS toepassingen....................................................................................................................................................................................................... 9 3.3 GIS: the basics ........................................................................................................................................................................................................... 10 3.3.1 GIS ingrediënten in het kort ................................................................................................................................................................ 10
4
Methodologie - De Paalgelden West-Indië ......................................................................................................................................... 13 4.1 Inleiding ........................................................................................................................................................................................................................ 13 4.2 De ingrediënten voor een historisch GIS toepassing ................................................................................................................. 13 4.2.1 GIS datamodel ............................................................................................................................................................................................... 13 4.2.2 Coördinaatsystemen................................................................................................................................................................................. 13 4.2.3 Verzamelen van gegevens ................................................................................................................................................................... 15 4.2.4 Representatie van gegevens .............................................................................................................................................................. 16 4.2.5 Georeferentie.................................................................................................................................................................................................. 16 4.3 Koppeling database met het GIS ............................................................................................................................................................... 16 4.4 Google Maps ............................................................................................................................................................................................................. 16 4.4.1 API ........................................................................................................................................................................................................................... 17 4.4.2 AJAX ...................................................................................................................................................................................................................... 17 4.4.3 Google Maps................................................................................................................................................................................................... 17 4.4.4 Waarom Google Maps ............................................................................................................................................................................. 18
4.4.5 Werking van Google Maps ................................................................................................................................................................... 18 4.5 Keuzeverantwoording ........................................................................................................................................................................................ 20 5
Bouwen van de applicatie ................................................................................................................................................................................ 21 5.1 Inleiding ........................................................................................................................................................................................................................ 21 5.2 Toevoegen lat/long coördinaten .............................................................................................................................................................. 21 5.3 Data .................................................................................................................................................................................................................................. 23 5.4 Presentatie................................................................................................................................................................................................................... 25 5.5 Oplevering applicatie.......................................................................................................................................................................................... 26 5.5.1 Bestandsstructuur ....................................................................................................................................................................................... 26 5.5.2 Oplevering ........................................................................................................................................................................................................ 27
6
Historisch experiment en resultaten ......................................................................................................................................................... 28 6.1 Inleiding ........................................................................................................................................................................................................................ 28 6.1.1 The Great Hurricane .................................................................................................................................................................................. 28 6.1.2 De Vierde Engels-Nederlandse oorlog ........................................................................................................................................ 28 6.2 Historisch experiment ........................................................................................................................................................................................ 28
7
Conclusie ....................................................................................................................................................................................................................... 32 7.1 Inleiding ........................................................................................................................................................................................................................ 32 7.2 Oplossing ..................................................................................................................................................................................................................... 32 7.3 Nadelen ......................................................................................................................................................................................................................... 32 7.4 Betrouwbaarheid applicatie........................................................................................................................................................................... 32 7.5 Toekomst GoogleGIS........................................................................................................................................................................................... 33
8
Literatuur ........................................................................................................................................................................................................................ 34
1
Inleiding
1.1 Historisch geografisch informatiesysteem; HISGIS Dit onderzoek borduurt verder op het vak Capita Selecta; Elektronische Media (Welling, Capita Selecta Electronische Media - 2009, 2009). Het idee is om meer informatie uit de Paalgelden database te ontsluiten. Het presenteren van ruwe data in grafische informatie laat een persoon anders omgaan met informatie: de informatie wordt interpreteerbaar. Degene die de database raadpleegt krijgt in één oogopslag een visuele presentatie van de opgevraagde informatiebehoefte. Om de informatie online te kunnen raadplegen wordt de applicatie geïmplementeerd met behulp van een mapping interface (Google Maps) (Davis, 2007) (M Purvis, 2006) (Gregory & Ell, 2007) en gescript in een gebruikersvriendelijke interface. Het resultaat zal uiteindelijk leiden tot een Geografisch Informatie Systeem (GIS) gebaseerd op Historische Informatie (HISGIS) (Gregory & Ell, 2007) dat online te raadplegen is.
1.2 Opbouw en methodologie Om een idee te krijgen van het probleem zal de “Paalgeldentijd” eerst in een historisch perspectief worden geplaatst. Vervolgens wordt beschreven wat een GIS kan toevoegen aan historisch onderzoek, en daarop voortbordurend, een theoretische onderbouwing om het probleem op te lossen. De methodiek die Jelle Wouda beschrijft in zijn masterscriptie “Ontwikkeling van een methodologie voor gebruik van Geografische
Informatie Systemen bij historisch onderzoek” (Wouda, 2008) wordt hierbij als leidraad gebruikt. Tot slot zal er geconcludeerd worden of de methode succesvol is, ofwel dat er een adviesnota ter verbetering van de applicatie benodigd is.
1.3 Ideeperspectief Om het historisch scheepsverkeer in kaart te brengen zijn er verschillende ingrediënten nodig om dit
probleem op te lossen. Er is een historische database beschikbaar waar een deel van de belangrijkste handelsroutes in opgeslagen is, evenals de goederen die werden vervoerd, scheepsnamen, namen van kapiteins etc. Die gegevens zijn vrij onbereikbaar voor de normale gebruiker. De gegevens zijn statisch en ruw opgeslagen in een mySQL database die niet makkelijk te ontsluiten is via een normale webinterface. Er is hiervoor een speciaal framewerk nodig: “de applicatie”. Het doel van dit onderzoek is om de gegevens uit de database te visualiseren voor de eindgebruiker op een gebruikersvriendelijke manier (handelsroutes in kaart brengen). Op deze manier kan men beter overzien hoe het scheepsverkeer zich heeft ontwikkeld in die periode. Een bijkomende complicatie is dat de dataset aangepast zal moeten worden om een koppeling met het GIS systeem mogelijk te maken. Pagina | 6
2
Het onderzoek
2.1 Inleiding Voor dit onderzoek wordt gebruik gemaakt van de data die bij het vak Capita Selecta Elektronische Media 2009 zijn gebruikt. Voor dit vak is een database beschikbaar waar grote historische bestanden in opgeslagen zijn:
Het Lastgeld 1744-1748;
Het Paalgeld West-Indië 1742, 1771-1817;
Het Paalgeld Europa 1742, 1771-1787;
De Sonttolregisters, 1784-1795.
De inhoud van de historische database bestaat onder meer uit:
Scheepsnamen;
Scheepsladingen;
Belastingen (Paalgeld, Lastgeld, Sonttol);
Schippersnamen;
Haven- en plaatsnamen;
Standaardisatie tabellen;
Data van verschepingen.
Vanuit deze data kunnen verschillende toepassingen gebruikt worden, zoals naamstandaardisatie, seizoentrends wat scheepsladingen betreft of het in kaart brengen van het scheepsverkeer in die tijd. Dit onderzoek concentreert zich op de scheepsbewegingen in de tijd tussen 1771 en 1817 naar West-Indië (eindtijd WIC). (Van Hartskamp).
2.2 Historisch perspectief Bij binnenkomst in de havens moest men vroeger paalgeld (Bakker, et al., 2004) (Klooster, 1998) betalen. Paalgeld kan worden gezien als een oudere vorm van tolbelasting. Men moest belasting betalen over de verscheepte goederen om gebruik te kunnen maken van de desbetreffende haven. Het paalgeld werd geïnd door speciaal ingezette ambtenaren (de admiraliteit) (Welling, The Paalgeld Project: Methods and First Results) van de desbetreffende havens. Deze hielden onder andere bij hoeveel schepen er binnenkwamen en gingen na hoeveel belasting de kapitein moest betalen aan de hand van de scheepspapieren. De hoogte van het paalgeld werd bepaald door de hoeveelheid en het soort goederen. Een van de belangrijkste admiraliteiten bevond zich in Amsterdam: “De admiraliteit van Amsterdam”. De handel tussen West-Indië en Amsterdam is apart opgenomen in het paalgeldregister en daaruit blijkt dat Pagina | 7
het rond 1750 een bloeiperiode betrof (Klooster, 1998). Aan de hand van de paalgelden en de hoeveelheid schepen is dus aan te tonen welke handelsplaatsen in die tijd belangrijk waren. De bedoeling is om vanuit de paalgelden database trends te analyseren vergelijkbaar uit de zogenoemde bron, een stapje verder is om de applicatie grafieken te laten produceren waaruit dergelijke trends te analyseren vallen; door de gegevens van de verschillende jaren met elkaar te vergelijken kan worden nagegaan hoe de groei zich ontwikkelde. Helaas is het een bekend feit (Welling, Capita Selecta Electronische Media - 2009, 2009) dat niet alle gegevens juist dan wel correct zijn ingevoerd in het paalgeldregister. Dit is te verklaren uit belastingontduiking en het niet juist opgeven van goederen (hoeveelheden) door de desbetreffende kapitein. Er kan op basis van de bestaande gegevens wel een schatting worden gemaakt van de scheepsbewegingen. Op basis daarvan is het idee geboren om de evolutie hiervan in kaart te brengen en te visualiseren door middel van een GIS.
2.3 Historisch onderzoek d.m.v. een GIS Bij het visualiseren van de data gaat het er dus om dat men kan zien hoe scheepsbewegingen zich evolueerden. Welke veranderingen vonden plaats? Waardoor kwam dit? Door de visualisatie kan men in één oogopslag zien welke veranderingen er zoal plaatsvonden en op welke locaties. Voor onderzoekers is een GIS dus een zeer handige tool voor het opstellen van hypotheses en de daarop volgende verantwoording. (Piothuc, 1996)
Pagina | 8
3
Geografische informatiesystemen
3.1 Inleiding Tegenwoordig maakt een mens bijna iedere dag kennis met een GIS, terwijl hij daar niet speciaal bewust van is. “Even een adres opzoeken op Google Maps”, of het bekijken van een stadsplattegrond om te kijken waar een leuk restaurantje zich bevindt. Een GIS is dan ook informatievoorziening gebaseerd op cartografisch materiaal (kaartdata). (Bernhardsen, 2002) (Davis, 2007). Het is een systeem waarmee met behulp van (ruimtelijke) data informatie kan worden opgeslagen, beheerd, bewerkt, geanalyseerd of gepresenteerd. (Schuurman, 2004). Met andere woorden; een GIS kan worden gezien als een parser die gegevens uit een database omzet naar visuele (kaart)informatie. De definitie die een GIS omschrijft is als volgt: Software waarmee met behulp van ruimtelijke gegevens geografische informatie kan worden opgeslagen, beheerd, bewerkt, geanalyseerd, geïntegreerd en gepresenteerd. (Bernhardsen, 2002) (Schuurman, 2004). Het visualiseren van gegevens kan in verschillende vormen worden gedaan:
2d kaarten;
3d kaarten;
Flash animaties;
Video.
3.2 GIS toepassingen GIS kan voor allerlei doeleinden worden gebruikt, namelijk: (Bernhardsen, 2002) (Geertman, Harts, Overduin, & Roosjen, 1999) (Piothuc, 1996) (Knowles, 2002).
Wetenschappelijk;
Industrieën (voor het bepalen van bijvoorbeeld olie -en gasvelden);
Planningen (het calculeren van medische responstijden tijdens calamiteiten);
Particuliere toepassingen;
Historisch onderzoek.
Een navigatiesysteem voor de auto is ook een voorbeeld van een GIS. De data zijn de plaatsnamen, wegen, straatnamen etc. GPS word gebruikt om de huidige geo-coördinaten te verkrijgen en een kaart wordt gebruikt om de gegevens weer te visualiseren. Er is sprake van analyse zodra de wegen en straten worden Pagina | 9
weergegeven op de kaart; van berekening is sprake als er een route en een verwachte aankomsttijd worden berekend. Het probleem in dit geval is om data om te zetten naar informatie die op elk gewenst tijdstip te raadplegen zijn.
3.3 GIS: the basics Het idee van een GIS (Bernhardsen, 2002) (Krygier & Wood, 2005) is dus dat het data omzet naar ruimtelijke informatie (met behulp van cartografisch materiaal). Door aan de informatie geo-referentiepunten te koppelen kan van iedere informatiebehoefte de locatie worden bepaald op de kaart. De basis van een GIS bestaat uit een informatiebron: database, rssfeed, xmlfeeds. Door in de data van de bron locatiegegevens toe te voegen aan elke situatie (attribuut), kan de gebeurtenis visueel gepresenteerd worden. Deze presentatie gebeurt in de vorm van een kaartpresentatie. Door de presentatie op te splitsen in presentatielagen (bij meerdere attributen), kunnen er verschillende soorten informatie worden gepresenteerd aan de gebruiker. Bijvoorbeeld: havens, scheepsroutes en grootte van scheepsladingen.
3.3.1 GIS ingrediënten in het kort Een GIS bestaat uit een aantal componenten:
GIS model;
Plaatsbepaling;
Data;
Presentatie en visualisatie (kaart).
GIS datamodel Dit is het stramien (Bernhardsen, 2002) voor de informatiebehoefte. Hierin is een driedeling te maken, namelijk: kaartgegevens, attribuutgegevens en de afbeeldingen van kaarten:
In
de
kaartgegevens
zijn
data
opgeslagen
met
betrekking
tot
plaatsbepaling
en
presentatiegegevens (lijnen, polygonen, shapes);
De attributen; de eigenlijke informatie op zich, waarin data zijn opgeslagen met betrekking tot de GIS visualisatie. Voor de paalgelden database betekent het onder andere dat de scheepsnamen, belastingen en kapiteinsnamen hierin worden beschreven;
De afbeeldingen van kaarten: de kaarten in een grafisch formaat die fysiek zijn opgeslagen.
Verder wordt in het datamodel beschreven of er sprake is van raster- of vectordata. Vectordata wordt onder andere gebruikt voor het scheiden van landsgrenzen terwijl rasterdata geschikter is voor het invullen van vectordata zoals bijvoorbeeld aantallen en hoeveelheden van een bepaalde eenheid, of voor het onderscheiden van verschillende attributen als schepen en land. Rasterdata wordt Pagina | 10
visueel gepresenteerd in de vorm van pixeldata. Hiervoor worden meestal kaartdata gebruikt die zijn opgeslagen in een bestandsformaat als .jpg, .png en .gif. (Bernhardsen, 2002) (vector: scheepsroutes, raster: de landen). Het verschil tussen vector en raster zit vooral in het produceren van de grafische vorm. Vectorafbeeldingen worden geïnitialiseerd door middel van polygonen waarbij de curves en shapes ter plekke worden berekend op basis van coördinaten. Een haarscherpe afbeelding is hierbij zeer goed mogelijk. Rasterweergave is pixel voor pixel opgeslagen vanuit een vaste bron.
Figuur 1: Vector vs rasterafbeelding
Georeferentie Voor het bepalen van posities is het nodig om aan elk object een geo-referentie te koppelen. Georeferentie wordt meestal gebruikt in de vorm van een coördinaatsysteem. Er bestaan verschillende soorten systemen, zoals:
Datumsystemen; hierbij wordt de aarde als model gebruikt waarbij een datum refereert aan een bepaald punt;
Kaartprojectie; waarbij volgens een kaart (bv. een cilindrische projectie van de aarde) een locatie kan worden bepaald door zelf gedefinieerde coördinaten;
Coördinaatsystemen; waarbij de locatie wordt bepaald met behulp van de Greenwich-lijn en het midden van de aarde.
Data Het gaat hier om data in fysieke vorm die nodig zijn voor het invullen bovenstaande punten. Hierbij moet gedacht worden aan: kaartmateriaal (raster -en vectordata), coördinaten, feiten en gebeurtenissen. In principe hetgeen waar men onderzoek in wil doen. In dit geval gaat het dus om de paalgelden database. Pagina | 11
Presentatie / visualisatie Bij het presenteren van de gegevens gaat het er nu om hoe de gegevens gepresenteerd moeten worden aan de gebruiker. Wat is de efficiëntste manier? Bij een GIS is het ‘t belangrijkste om de verschillende attributen in lagen weer te geven. Die lagen mogen elkaar niet in de weg zitten bij de presentatie, daarom is het belangrijk dat een legenda de attributen identificeert. Ook is het noodzaak de verschillende informatie-lagen consistent op te bouwen door middel van verschillende kleuren en/of vormen.
Pagina | 12
4
Methodologie - De Paalgelden West-Indië
4.1 Inleiding De data voor dit onderzoek zijn opgeslagen in de Paalgelden-database die is opgezet voor het vak CapitaSelecta; Elektronische Media. Deze database bevat data van Lastgeld, Paalgelden West-Indië en de Sontol registers. Voor dit onderzoek is ervoor gekozen om alleen met West-Indië te werken, vanwege de enorme hoeveelheid data (ongeveer 138.000 records). Verder zal het onderzoek van Jelle Wouda “Ontwikkeling van een methodologie voor gebruik van
Geografische Informatie Systemen bij historisch onderzoek” als leidraad worden gebruikt. (Wouda, 2008)
4.2 De ingrediënten voor een historisch GIS toepassing Jelle Wouda vermeldt in hoofdstuk 1.3 een aantal items die samen een GIS vormen. Dit onderzoek gaat hier minder diep op in, omdat het immers erom gaat of het überhaupt lukt de paalgelden database te ontsluiten en te visualiseren. Enkele kernpunten die wel van toepassing zijn:
GIS datamodel;
Coördinaatsysteem;
Verzamelen van gegevens;
Representatie van gegevens;
Geo-referentie.
4.2.1 GIS datamodel In het kader van dit onderzoek moet er een GIS model worden gedefinieerd. Dit model houdt in dat er een locatie vastgesteld moet worden en dat er attributen en gegevens moeten worden getoond. In dit geval is de locatie het voormalige West-Indië, de attributen zijn de landen/plaatsnamen in West-Indië, en de gegevens, oftewel de informatie, de scheepsbewegingen / belastingen.
4.2.2 Coördinaatsystemen Er bestaan verschillende soorten coördinaatsystemen (Bernhardsen, 2002) waarbij het mogelijk is om elke plaats te bepalen op aarde. Al deze systemen zijn op basis van een getallencombinaties die refereren naar een locatie op aarde.
Latitude / longitude Bij dit systeem worden twee lijnen gebruikt (lengte –en breedtelijnen resp. latitude en longitude). De lengtelijnen lopen van de Noord-
naar de Zuidpool waarbij de evenaar als nulpunt fungeert. De
breedtelijnen lopen van het oosten naar het westen waarbij de Greenwichlijn als nulpunt fungeert. Pagina | 13
Een locatie wordt als volgt bepaald:
Longitude breedtegraad: positie op ooster -of westerlengte;
Latitude lengtegraad: vanuit het middelpunt van de aarde wordt de hoek bepaald waarbij de positie in noorder -of zuiderbreedte wordt bepaald.
Figuur 2: Lat/long coördinaatstelsel
UTM Grid Het Universal Transverse Mercator Grid (UTM Grid) is een coördinaatsysteem waarbij de hele oppervlakte van de aarde wordt overspannen. Hierbij wordt de aarde in 60 zones opgedeeld met een tussenruimte van 6 graden. (Ieder wordt aangegeven met getal 1 t/m 60). Elk vlak is een verticale baan, die baan wordt weer opgedeeld door middel van 20 horizontale assen (Wordt aangegeven met letters C t/m X, zonder de “O”) die van oost naar west lopen evenwijdig aan de evenaar met 8 graden tussenruimte; het grid is ontstaan en door het combineren van de horizontale -en verticale banen kunnen er locaties worden bepaald.
Pagina | 14
Figuur 3: UTM Grid
Als coördinaatsysteem voor de applicatie is gekozen voor het lat/long principe omdat Google Maps hier standaard mee werkt. Hiermee worden de plaatsen bepaald en het is daarmee het hart van de mapping interface.
4.2.3 Verzamelen van gegevens Tabulaire data De gegevens zijn opgeslagen in een historische relationele database. Dat betekent dat de data zijn opgeslagen in aparte tabellen, geordend in rijen. Elke rij word een record genoemd. Een record bevat kolommen waarin de data zijn opgeslagen. Verder bevat elk record een uniek identificatienummer (id) die bij elkaar horende records uit verschillende tabellen met elkaar verbindt; de relationele structuur. De data die benodigd zijn:
Plaatsnamen;
Scheepsnamen;
Belastingen;
Coördinaten.
Deze data - afgezien van de coördinaten - bevinden zich in de database.
Cartografisch materiaal: Als kaartmateriaal zal allereerst de standaardkaart van Google worden gebruikt. Het is in Google Maps wel mogelijk om een historische kaart te ‘layeren’, hetzij door een scan of anderzijds is de kaart reeds digitaal beschikbaar. Maar omdat de kaart zelf een lagere prioriteit heeft dan het GIS zelf, is er besloten de layering nog niet te implementeren. De standaard kaart op zichzelf zal in principe duidelijk genoeg zijn voor het interpreteren van de informatie. Pagina | 15
4.2.4 Representatie van gegevens Het GIS verkrijgt zijn kracht door de verschillende attributen in lagen weer te geven. In dit geval zullen de bewegingen worden gepresenteerd op een map-layer. Echter betreft het hier een enkel attribuut, namelijk de scheepsbewegingen. Wanneer het om meerdere attributen zou gaan - zoals goederen en scheepsnamen - dan zouden deze elk op een aparte laag gepresenteerd worden. Een mogelijkheid voor onderzoek zal liggen in het feit dat men per jaar kan bepalen wat voor scheepsbewegingen het betreft. Op die manier worden verschuivingen zichtbaar en kan men veranderingen inzien. Als mappinginterface vormt Google Maps het hart van de applicatie.
4.2.5 Georeferentie Om de historische plaatsen op de juiste positie in de kaart te zetten, moeten de coördinaten worden vastgezet in de dataset. Een obstakel bij historische plaatsen is dat plaatsnamen in de loop der tijd veranderen van naam, of dat een plaats zich heden ten dage in een ander land bevindt, of dat de plaats zelfs niet meer bestaat. In de paalgelden database zijn de historische plaatsen gestandaardiseerd tot “moderne plaatsen”. Door moderne plaatsnamen te gebruiken als uitgangspunt voor de lat/long coördinaten kan op basis hiervan “ge-geo-refereerd” worden; zo worden de plaatsen op de juiste plek in de kaart weergegeven.
4.3 Koppeling database met het GIS De data zijn in een mySQL database opgeslagen. mySQL is een relationeel databasemanagementsysteem (RDBMS). Dit systeem maakt voor een deel gebruik van de SQL querytaal. Door middel van PHP en Javascript scriptingtechnieken kan er een koppeling worden gemaakt tussen de database en Google Maps.
4.4 Google Maps Er bestaan veel “webbased mappingtools” van onder andere Yahoo, Google, Microsoft en Amazon. In tegenstelling tot conventionele GIS pakketten, zijn de webbased producten nog niet genoeg doorontwikkeld om het te bestempelen als een GIS. Google Maps is in de praktijk dus geen GIS en het is bovendien ook niet ontwikkeld om als een GIS te dienen. De kracht achter Google Maps gaat schuil achter de API (Zie §4.4.1) die vrij te gebruiken is en het feit dat Google Maps’ interface is gebouwd op het AJAX platform. Hierdoor kan iedereen dus zelf aan de slag met Google Maps en het zover ‘customizen’ dat het kan dienen als een GIS. Een voorbeeld van een custom webbased applicatie is: een kaart waarbij men kan zien of er ergens in Nederland files zijn ontstaan - en daarnaast hoe lang die files zijn. Een stap verder is dat er alternatieve (rij)routes kunnen worden getoond via Google Maps.
Pagina | 16
4.4.1 API Een API (M Purvis, 2006) staat voor “application programming interface”. Een API kan gezien worden als een (data) abstractievorm die het mogelijk maakt dat een applicatie gemakkelijk kan communiceren met andere (applicatie)onderdelen (bibliotheken). In het geval van Google Maps –kan er doormiddel van de
API-key- tussen de webserver en de server van Google Maps worden gecommuniceerd. Nu is het mogelijk om de functies en definities gemakkelijk te implementeren in de applicatie. De implementatie van de APIkey is als volgt: <script src="http://maps.google.com/maps?file=api&v=2&sensor=false&key=ABQIAAAALTYAj 2wjsg0Or355U98FShTuw8AQH_fJGh2oeTWBeOjyu8lQpBTZspKGxzyACFvPzJgGyhd8aPQKJQ" type="text/javascript"> Door in de header van de pagina bovenstaand Javascript code te implementeren, verkrijgt men toegang tot de API van Google Maps. De API-key 1 kan gratis verkregen worden door een account aan te vragen bij Google.
4.4.2 AJAX De afkorting AJAX (M Purvis, 2006) staat voor Asynchronous Javascript and XML. AJAX staat in feite voor een aantal webscripting-technieken (o.a. Javascript en XML). Hierdoor is het mogelijk om te communiceren met de webrowser (client-side) en de webserver (server-side) zonder de webpagina te herladen. Een onderdeel van AJAX is: XMLHttpRequests wat in feite een API is; door hiervan gebruik te maken kan er in een webpagina –op elk gewenst ogenblik- nieuwe content geladen worden. Het resultaat hiervan is dat de gebruiker de indruk wordt gegeven dat het om een “desktop program” gaat, in plaats van een webapplicatie. Er is nauwelijks delay qua laadtijd, wat effectiever en efficiënter is voor het gebruik van de applicatie.
4.4.3 Google Maps Google Maps (Gibson, Erle, & Laurent, 2006) (M Purvis, 2006) is een applicatie van Google; het is een dynamische wereldkaart die tot op straatniveau geraadpleegd kan worden. De API kan zo aangepast worden dat er navigatieknoppen kunnen worden geïmplementeerd ten behoeve van het navigeren. Verder kan er gekozen worden uit een satelliet kaart of een cartografische kaart. Eveneens kan men - met behulp van de muis - door de kaart heen sliden en in- en uitzoomen.
1
http://maps.google.com/maps/api_signup?url=urlvanwebsite Pagina | 17
Figuur 4: Google Maps' interface
Google Maps is vooralsnog gratis te gebruiken en gemakkelijk te implementeren in een website. Een ideale kaart dus, als basis voor een GIS.
4.4.4 Waarom Google Maps De Google Maps (Gibson, Erle, & Laurent, 2006) API is vooralsnog vrij te gebruiken en implementeerbaar in iedere website. Verder bevat Google Maps kaartdata en controls die je helpen bij het navigeren. Google Maps biedt ook de optie voor het geo-coden van locaties, mits men beschikt over de juiste lat-/long coördinaten. Een laatste pluspunt is dat Google haar servers heeft verspreid over de hele wereld, waardoor je je geen zorgen hoeft te maken over de bereikbaarheid van de applicatie(s). Het aantal queries dat verzonden worden gaat immers via de Google site en deze neemt daarmee ook de bandbreedte (Gibson, Erle, & Laurent, 2006) (M Purvis, 2006) voor haar rekening.
4.4.5 Werking van Google Maps Voor het creëren van de applicatie zal er op z’n minst gebruik worden gemaakt van de volgende klassen en instanties:
Pagina | 18
GMap Met behulp van de GMap klasse kan een kaart worden geïnitialiseerd, ook wel een “kaart instantie” genoemd. In principe wordt er gewerkt met een enkele kaart instantie, maar theoretisch gezien zijn meerdere instanties mogelijk. De initialisatie gebeurt door middel van de volgende Javascript code: map = new GMap2(document.getElementById("map")); Een nieuwe kaart (GMap2) is geïnstantieerd en word vervolgens geladen in de HTML div klasse “map”.
Vanaf dit punt kunnen er verschillende methodes en eigenschappen worden toegevoegd aan de kaart.
Map controls Om te kunnen navigeren kan er middels de volgende methodes de map controls worden geïnstantieerd. map.addControl(new GSmallMapControl()); map.addControl(new GMapTypeControl()); Hiermee kan de gebruiker in- en uitzoomen, kiezen tussen satelliet- of cartografische view en de balans bepalen (panoramische view).
GMarker en overlay GMarker is de klasse waarmee er posities worden bepaald op de kaart. De klasse wordt als een overlayobject geïnstantieerd met behulp van de volgende methode: GMap2.addOverlay() De overlay is een overkapseling van de kaart op zich. Een marker wordt toegevoegd als een extra laag op de kaart.
GIcon GIcon is een optie van de GMarker klasse, waardoor het mogelijk is om een afbeelding te showen in plaats van de standaard marker. De eigenschappen van GIcon zijn onder andere: Image, Shadow en Iconsize.
Pagina | 19
4.5 Keuzeverantwoording De beschikbare data zijn al opgeslagen in de vorm van een relationele database. Het ligt dus voor de hand om vanuit deze dataset te werken en deze eventueel uit te breiden. De gegevens liggen namelijk vast waardoor het converteren naar een nieuwe database geen toegevoegde waarde heeft. Indien nodig, is het nog mogelijk om door middel van (my)sql database operaties uit te voeren die buiten het gebied van het GIS liggen.
Pagina | 20
5
Bouwen van de applicatie
5.1 Inleiding De basiselementen zijn nu bekend om een start te maken met het GIS:
Coördinaten; o
Data; o
Paalgelden West-Indië database;
o
Mapping interface Google Maps;
Presentatie; o
Lat/long;
Map layer met daarop de icons voor de plaatsbepaling;
Applicatie; o
GoogleGIS.
5.2 Toevoegen lat/long coördinaten Met behulp van de onderstaande sqlquery wordt er een lijst gecreëerd van alle havenplaatsen en het bijbehorende moderne land. Met behulp van een geofinder (Davis, 2007) kunnen de coördinaten worden opgevraagd. Als geofinder wordt er gebruik gemaakt van de Geonames 2 database, omdat hierin de meeste historische havenplaatsen zijn vertegenwoordigd. SELECT DISTINCT place, modern_country FROM places_standard, pg_west_indies WHERE places_standard.soundcoding = pg_west_indies.soundcode ORDER BY `pg_west_indies`.`port_of_origin` ASC Als controle is er voor gekozen om ook het “modern_country” bij de resultaten op te nemen. Dit om te verifiëren of de desbetreffende haven in het gebied ligt. Op die manier kan de integriteit van het GIS op een zo hoog mogelijk niveau gehouden worden.
2
http://www.geonames.org Pagina | 21
place
modern_country
ALEXANDRIA
United States
AMERICA
United States
AUGUSTINUS
United States
BAHIA
Brazil
BALTIMORE
United States
Figuur 5: Output places/havens
Voor de output van bijvoorbeeld Bahia-Brazilië:
Geonames heeft de locatie gevonden met de daarbij horende lat-/long coördinaten: -12.97111 / -38.51083.
Pagina | 22
Voor het invoegen van de coördinaten is een aparte tabel coordinates gedefinieerd in de paalgelden database. De reden voor een aparte tabel is om de historische gegevens intact te houden en om zodoende redundantie te voorkomen (Rolland, 1998). De structuur van de tabel is als volgt gedefinieerd: `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `port_of_origin` VARCHAR(60) NOT NULL , `lat` FLOAT( 10, 6 ) NOT NULL , `long` FLOAT( 10, 6 ) NOT NULL , id
port_of_origin
lat
long
30
ALEXANDRIA
38.804840
-77.046921
31
AMERICA
39.759998
-98.500000
-12.971110
-38.510830
39.290379
-76.612190
0 32
BAHIA BALTIMORE
Figuur 6: Output havenlijst en lat-/long coördinaten
5.3 Data Nu alle gegevens gereed zijn, is de volgende query opgesteld: SELECT DISTINCT place, modern_country, sum( tax ) , lat, coordinates.long FROM places_standard, pg_west_indies, coordinates WHERE places_standard.soundcoding = pg_west_indies.soundcode AND places_standard.place = coordinates.port_of_origin GROUP BY place, modern_country, lat, coordinates.long
Deze query geeft de totale belasting van een bepaalde havenplaats. Door een where-statement “where year = yyyy” toe te voegen, kan de hoeveelheid belasting per haven per jaar worden opgevraagd. De output is als volgt:
place
modern_country
sum( tax )
lat
long
ALEXANDRIA
United States
1400.13
38.804840
-77.046921
AMERICA
United States
7.1
39.759998
-98.500000
BAHIA
Brazil
162.5
-12.971110
-38.510830
BALTIMORE
United States
46541.72
39.290379
-76.612190 Pagina | 23
place BONTHOUSE
modern_country
sum( tax )
United States
9.1
lat 38.895111
long -77.036369
Figuur 7: Output places, modern_country, tax en coördinaten
Pagina | 24
5.4 Presentatie De benodigde data zijn nu verzameld en klaar voor gebruik. Door middel van een mySQL query -met als WHERE attribuut, $year- kunnen de gegevens worden ingeladen in Google Maps. Door in een while-loop het Javascript te echo’en, levert dit per iteratie een icon op. Dit wordt vervolgens als layer op de kaart geprojecteerd. echo "var newIcon = MapIconMaker.createFlatIcon({width: " . $row['total'] . ", height: " . $row['total'] . ", primaryColor: '#eb1822'});\n"; Het aantal scheepsbewegingen staat in relatie tot de grootte van het icon. De sql-query is zo geformuleerd, dat het per land en jaar een belasting-waarde oplevert. Die belasting-waarde wordt als variabele meegegeven (als optie) voor de icongrootte: $result = mysql_query("SELECT DISTINCT place, modern_country, (round(sqrt(sqrt(sum(tax)))*7)) AS total, lat, coordinates.long FROM coordinates, places_standard, pg_west_indies WHERE places_standard.soundcoding = pg_west_indies.soundcode AND pg_west_indies.port_of_origin = coordinates.port_of_origin AND year=’$year’ GROUP BY place, modern_country, lat, coordinates.long",$link); if (!$result) { echo "no results"; } while($row = mysql_fetch_array($result)) { echo "map.setCenter(new GLatLng(" . $row['lat'] . "," . $row['long'] . "));\n"; echo "var newIcon = MapIconMaker.createFlatIcon({width: " . $row['total'] . ", height: " . $row['total'] . ", primaryColor: '#eb1822'});\n"; echo "var marker = new GMarker(map.getCenter(), {icon: newIcon});"; echo "map.addOverlay(marker);"; } Om controle over de icongrootte te houden zorgt een wiskundige berekening ervoor dat de belastingwaarde als het ware gedownscaled wordt. (round(sqrt(sqrt(sum(tax)))*7)) AS total 2x de wortel van de belasting-waarde vermenigvuldigd met de factor 7. De totstandkoming van deze formule geschiedde door middel van de trial-and-error methode. De API accepteert slechts hele getallen; de round functie zorgt ervoor dat de uitkomst van de kwadraten netjes afgerond worden. Pagina | 25
Vervolgens worden de icons geladen in het divelement “map”; de Google Maps API is reeds ingebed waardoor het automatisch de kaart oproept en vervolgens laat zien op het scherm. var map = new GMap2(document.getElementById("map")); map.addControl(new GLargeMapControl()); map.addControl(new GMapTypeControl()); map.addControl(new GScaleControl()); map.setCenter(new GLatLng(23.131941, -82.364166), 3); De kaart ziet er dan als volgt uit:
Figuur 8: Screenshot maps met icons
5.5 Oplevering applicatie 5.5.1 Bestandsstructuur De applicatie is als volgt opgebouwd:
scriptie.php; o
index_jaren.php; o
Hierin worden de links voor de verschillende jaren geïncluded; de links per jaar hardcoded;
[jaartal].php; Pagina | 26
o
map_[jaartal].php; o
Het script dat de Javascript aanroept met daarin de query met de jaartal als where waarde; de code waar daadwerkelijk de initialisatie plaatsvindt (zie 5.4);
default.css o
de css stylesheet voor de opmaak;
header.php
footer.php o
geïnclude als template (kop en voet bestand);
index.php o
als main skelet, waar alle paginamodules uiteindelijk geïnclude worden.
5.5.2 Oplevering Alle segmenten bij elkaar hebben nu een applicatie opgeleverd waarin per jaar en per haven te zien is wat het aandeel van die haven was. Het historische overzicht is nu compleet en te bezichtigen op het volgende adres: http://siegfried.let.rug.nl/~s1809423/Eindopdracht/index.php?page=scriptie
Pagina | 27
6
Historisch experiment en resultaten
6.1 Inleiding 6.1.1 The Great Hurricane In de periode 1780 – 1784 waren het zware tijden wat scheepshandel betrof. In 1780 trok “the great hurricane” over het Caribisch gebied, ook wel “Hurricane San Calixto II” genoemd 3. Het was één van de grootste stormen toentertijd. Ongeveer 27.500 mensen werden gedood toen de storm over het gebied trok. De storm raasde over de volgende gebieden:
Barbados;
Martinique;
Sint Lucia;
Sint Eustatius;
Puerto Rico.
De storm zorgde er tevens voor dat de Britse -en Nederlandse vloten die toen midden over de Atlantische oceaan voeren het loodje legden.
6.1.2 De Vierde Engels-Nederlandse oorlog Tussen 1780 en 1784 was het toenmalige Nederland (Republiek der Zeven verenigde Nederlanden) in conflict met Groot-Brittannië. (Bruijn & J.R., 1998). Een van de oorzaken van deze oorlog was het feit dat de Republiek zich niet neutraal opstelde in het conflict tussen Groot-Brittannië en de latere Verenigde Staten. Hoewel de Republiek officieel een bondgenoot van de Engelsen was, leverde ze via Sint Eustatius wel wapens en voorraden aan de opstandelingen in Noord-Amerika. Dit was voor de Engelsen een reden de oorlog te verklaren.
6.2 Historisch experiment Om te meten of de HISGIS zich daadwerkelijk kan lenen voor historisch onderzoek, zal het scheepsverkeer van 1780 worden opgevraagd. Dit levert het volgende resultaat op:
3
http://www.aoml.noaa.gov/hrd/data_sub/perez_11_20.pdf Pagina | 28
Figuur 9: Scheepsverkeer 1780
Er is te zien dat het scheepsverkeer een flinke omvang heeft in het gebied. Een jaar later (1781) zou het scheepsverkeer verminderd moeten zijn:
Figuur 10: Scheepsverkeer 1781
Pagina | 29
Op bovenstaande afbeelding (de data uit 1781) is te zien dat het scheepsverkeer flink is afgenomen. We kunnen hierdoor concluderen dat de HISGIS zijn dienst heeft bewezen. Historisch gezien liepen de scheepsbewegingen lichtjes op tot en met 1780. In 1781 daalde het aandeel scheepsbewegingen met ongeveer 50%. De jaren erna herstelde het aantal zich tot het niveau van voor de daling. Wat Sint Eustatius betreft kan er ook geanalyseerd worden of de handel is afgenomen; allereerst de situatie in 1780:
Figuur 11: Handel Sint Eustatius 1780
Vervolgens de situatie in 1781, te zien is dat de situatie dramatisch is veranderd. Er is nauwelijks nog sprake van handel op Sint Eustatius.
Pagina | 30
Figuur 12: Handel Sint Eustatius 1781
Vervolgens de situatie in 1782, de handel is totaal gestagneerd. Tot nu toe kan er worden geconcludeerd dat de applicatie zich verleent tot historisch onderzoek.
Figuur 13: Handel Sint Eustatius 1782
Pagina | 31
7
Conclusie
7.1 Inleiding Van de problemen die eerder zijn beschreven kan er nu geconcludeerd worden of ze daadwerkelijk zijn opgelost, of dat er op termijn een andere oplossing voor gevonden moet worden. De centrale vraag was of het mogelijk cq. gelukt is om een historische database te koppelen aan een GIS met behulp van Google Maps.
7.2 Oplossing Er kan worden geconcludeerd dat het probleem in grote lijnen is opgelost. Volgens de methode van Jelle Wouda (Wouda, 2008) is het mogelijk om historische data om te zetten naar een GIS. Met de data die nu beschikbaar zijn gekomen kunnen er conclusies worden getrokken (zie volgende paragraaf) voor het gebruik van historisch onderzoek. Wat de implementatie in Google Maps betreft kan er geconcludeerd worden dat dit is gelukt. De API biedt voldoende mogelijkheden om een koppeling met een mySQL database te realiseren, waardoor uiteindelijk de historische havens kunnen worden getoond.
7.3 Nadelen De API van Google Maps is vrij uitgebreid en niet voorbereid voor het dynamiseren, waarmee wordt bedoeld: voor het scrollen door de jaren heen moet een speciale AJAX koppeling worden gerealiseerd waarbij de query kan worden aangepast zonder dat de pagina herladen hoeft te worden. Aangezien Google Maps wordt geïnitieerd door javascript (client-side) en de query door PHP wordt uitgevoerd (serverside), moet er een ingewikkelde constructie worden ontwikkeld om de dynamiek te handhaven. Vooralsnog is dit niet gelukt en is de applicatie nochtans deels hardcoded (voor elk jaar een aparte query). Bij een volgende versie van de HISGIS zal de dynamiek volledig geïmplementeerd zijn.
7.4 Betrouwbaarheid applicatie Er kan nog gediscussieerd worden over de betrouwbaarheid van de applicatie. Immers, de input van het GIS berust op historische gegevens, gegevens die gewonnen worden uit een enkele historische bron, namelijk het paalgeldregister. Er kan niet geverifieerd worden of die gegevens in het register 100% betrouwbaar en consistent zijn. We kunnen daarom in verband met de grafische weergaves nooit over 100% betrouwbaarheid spreken vanuit de applicatie. De gegevens die worden getoond geven een indicatie van de scheepsbewegingen in die tijd zodat onderzoekers vanuit dit punt conclusies kunnen trekken. Pagina | 32
7.5 Toekomst GoogleGIS De applicatie werkt voor een groot deel naar behoren, er missen alleen nog enkele features voor wat betreft een GIS. Een legenda zou dan handig zijn om de gebruikte icons te identificeren, evenals een klassensysteem om de icons in grootte op te delen naar evenredigheid van de hoeveelheid belasting. Hierdoor zal er beter onderscheid kunnen worden gemaakt tussen de verschillen in scheepsbewegingen.
Pagina | 33
8
Literatuur
Bakker, B., Hell, M., Kuijpers, E., Lesger, C., Prak, M., Spaans, J., et al. (2004). Geschiedenis van Amsterdam. Nijmegen: SUN. Bernhardsen, T. (2002). Geographic information systems: an introduction. John Wiley and Sons. Davis, S. (2007). GIS for Web developers: adding where to your web applications. Raleigh. Dykes, J., MacEachren, A. M., & Kraak, M. J. (2004). Exploring Geovisualisation. Geertman, S., Harts, J.-J., Overduin, T., & Roosjen, R. (1999). Praktijkboek gis. Utrecht: NexpRI. Gibson, R., Erle, S., & Laurent, S. S. (2006). Google maps hacks. O'Reilly. Gregory, I. N., & Ell, P. S. (2007). Historical GIS : technologies, methodologies and scholarship. Cambridge University Press. Klooster, W. (1998). Illicit Riches. Leiden: KITLV Press. Knowles, A. K. (2002). Past time, past place : GIS for history . Redlands, CA: ESRI Press. Krygier, J., & Wood, D. (2005). Making maps : a visual guide to map design for GIS . New York: The Guilford Press. M Purvis, C. T. (2006). Beginning Google Maps Applications With Php And Ajax. Apress. Parker, R. N., & Asencio, E. K. (2008). GIS and spatial analysis for the social sciences: coding, mapping, and
modeling. Routledge. Piothuc, N. (1996). The application of GIS techniques to Russian historical research: the Novorgev district used as a case study. History and computing , 1996 (8). Rolland, F. (1998). The essence of databases. Hertfordshire: Prentice Hall Europe. Schee, J. A. (2007). Gisse leerlingen: Geografische Informatie Systemen, geografisch besef en
aardrijkskundeonderwijs. Amsterdam: Onderwijscentrum VU, Vrije Universiteit Amsterdam. Schuurman, N. (2004). GIS, A short introduction. Oxford: Blackwell Publishing. Van Hartskamp, J. (sd). DE WEST-INDISCHE COMPAGNIE EN HAAR BELANGEN IN NIEUW-NEDERLAND. Opgeroepen op Mei 26, 2009, van http://stuyvesant.library.uu.nl/kaarten/wic.htm Welling, G. (2009, Maart). Capita Selecta Electronische Media - 2009. Opgeroepen op Maart 5, 2009, van http://urd.let.rug.nl/~welling/csem Welling, G. (sd). The Paalgeld Project: Methods and First Results. 1. Wouda, J. (2008). Ontwikkeling van een methodologie voor gebruik. Groningen.
Pagina | 34