O
L\ 2"
A. -s 4,3
Aanpassingen aan het dBase-bestand
Verbeteringen van het SIS
SML is, zoals de naam al zegt, een simpele taal. Dit
geldt ook voor het aantal mogelijkheden die het biedt
om structuur aan te brengen in het programmeren.
Als structuurvormend commando moet alles met
GOTO gebeuren. Ter vergelijking: in Turbo Pascal is
OVERIGE lr\
v^aa
"ia
een aantal standaard-lussen en sprongen ingebouwd,
zoals
FOR - NEXT
WHILE - DO
REPEAT - UNTIL
CASE OF
In SML moet dit allemaal worden bereikt met GOTO,
hetgeen de structuur en leesbaarheid van een pro
gramma niet ten goede komt;
slechts vijftig variabelen mogen worden gebruikt, het
geen soms nogal aan de krappe kant is;
variabelen kunnen alleen door getallen worden aan
gegeven. Hierdoor is men genoodzaakt om tijdens het
programmeren een lijst bij te houden met de beteke
nis van de variabelen. Dit zou te ondervangen zijn
door de variabelen een vrij te kiezen naam te geven;
bij het overschakelen naar een andere module van
Are/Info wordt de waarde van de variabelen niet vast
gehouden. Het is dus noodzakelijk om de waarden in
een file op te slaan en deze vervolgens weer uit te
lezen in de andere module. Deze methode draagt niet
bij tot een overzichtelijk programma en neemt meer
tijd in beslag.
Tijdens de bouw van het programma bleken er problemen
te zijn met het dBase-bestand. Deze werden veroorzaakt
door het niet consequent invoeren van de gegevens door
de administratie. Zo bestond er ALPHEN A/D RIJN,
ALPHEN AAN DE RIJN en ALPHEN AAN DEN RIJN.
Voor de computer zijn dit verschillende gemeenten, ter
wijl dezelfde wordt bedoeld. Ook een gemeentenaam als
's-HERTOGENBOSCH gaf problemen, omdat DEN
BOSCH ook voorkwam [6]. Er is toen besloten om alle
plaatsnamen te controleren aan de hand van het boekje
„Bevolking der gemeenten van Nederland op 1 januari
1989" van het CBS [1 li-
Een ander probleem is de gemeentelijke herindeling. Het
bestand met de gemeentecentroïden is gebaseerd op de
gemeentekaart van 1990. Tussen de geboorteplaats van
verschillende studenten en de nu bestaande gemeente
bestaat op sommige plaatsen verschil. Zo kan het voor
komen dat iemand is geboren in een gemeente die op dit
a 2-3
a 4-5
6-8
IS] 9-10
KI 11-12
Fig. 3. Geografische spreiding van studenten in
en buiten Nederland in een stippenkaart
1X1 >=15 weergegeven.
moment niet meer bestaat. Er is besloten om dit in het
dBase-bestand aan te passen.
Het streven om een administratief bestand te gebruiken
en dit niet aan te passen, kon hierdoor niet worden ge
handhaafd. Bij gebruik van een ander dBase-bestand
zullen de gegevens die door een foutieve spelling niet te
herkennen zijn of door de herindeling niet meer bestaan,
in een groep met overige terechtkomen.
Al snel bleek dat het opbouwen van de kartografische
afbeeldingen heel wat tijd in beslag nam. Zo duurt het
ongeveer tien minuten voordat het totaaloverzicht geheel
is opgebouwd op het scherm. Deze tijd kan worden terug
gebracht tot ongeveer vijf minuten, als wordt overgegaan
van een 386 op een 486 computer.
Op zich is die vijf minuten nog te lang, als het programma
wordt ingezet tijdens open dagen. Daarom is een spe
ciale versie van het programma gemaakt. In Arc/Info is
het mogelijk een grafische afbeelding op te slaan als
rasterbestand. Het rasterbestand is in dit geval een
sequentieel bestand met codes om de pixels van het
scherm direct aan te sturen. Als we het rasterbestand
oproepen, staat de afbeelding binnen enkele seconden
op het beeldscherm. Wel moet hierbij worden opgemerkt,
dat er niets wordt geselecteerd of berekend. De afbeel
ding staat dan los van het administratieve bestand.
Mocht er een ander administratief bestand worden ge
bruikt, dan is het rasterbeeld niet in overeenstemming
met de gegevens. Voor een demonstratie is het echter
wel praktisch, omdat niemand vijf minuten op één plaatje
gaat wachten.
Conclusies en aanbevelingen
de macrotaai SML die binnen Are/Info aanwezig is,
biedt weinig mogelijkheden om programma's goed te
structureren. Men zou de SML-taal nog kunnen uit-
DE SPREIDING VAN
ALLE STUDENTEN
NAAR GEBOORTEPLAATS
2
108
NGT GEODESIA 93 - 3