ligt en schrijft de "binnenpunten" door naar een tweede bestand, dat als invoer zal dienen voor het genera- lisatieprogramma. De teken-volgorde blljft behouden, Zodra een figuur het gebied verlaat, wordt het snij- punt met de kaartrand berekend en met de code "pen op" naar het tweede bestand geschreven. Komt een figuur het gebied binnen, geschiedt dit eveneens, maar met de code "pen neer". Afhankelijk van het aantal beschikbare uitvoerstations van de Computer kan het programma zodanig worden uitgebreid, dat met 66n doorgang meerdere kaartbladen kunnen worden uitgeselecteerd, zelfs meer kaart- bladen dan er uitvoerstations zijn: gegevens voor meerdere kaartbladen, geschreven op 66n uitvoerbestand kunnen worden gesplitst door dit bestand weer in het selectieprogramma in te voeren. Voor een ervaren systeemanalist is het ontwerpen van dit selectieprogramma een zeer eenvoudige zaak. Het generalisatieprogramma leest het door het selectieprogramma aangemaakte bestand. Als parameter wordt opgegeven de gewenste schaal van de te tekenen kaart (X) en de stapgrootte van de gebruikte plotter (Z mm). Het programma berekent hieruit de plotterstapgrootte in het terrein in meters. (S) De generalisatie bestaat hieruit, dat alvorens de lijn naar het volgende gelezen punt wordt getekend, het programma eerst berekent of de lengte van deze lijn kleiner is dan de stapgrootte. Is dit het geval, dan wordt het punt genegeerd en de procedure herhaald voor het volgende punt. Alle punten van de reeks, die liggen op een kortere afstand dan de stapgrootte van het punt waar de plotter is aangekomen, worden zo- doende overgeslagen. Of dit programma de plotter rechtstreeks bestuurt, of de plotteropdrachten schrijft naar een pons- of magneetband, die later dient voor off-line besturing van de plotter, doet voor het principe van het program ma niet ter zake, alhoewel het laatste het meest efficiSnt is. Een blokschema voor een dergelijk programma is gegeven in figuur 1 (Symbolen volgens ECMA-normen). Voor de geinteresseerde lezer zij vermeld, dat het programma gebruik maakt van een switch: een soort schakelaartje in de Computer, dat op "aan" of "uit" kan staan (ON of OFF) en door het programma zelf versteld kan worden. Voor hetzelfde doel kan ook een willekeurig te definiören geheugenpositie worden ge- bruikt, maar het uitvragen van de stand van een switch gebeurt in de Computer vele malen sneller dan het uitvragen van de inhoud van een geheugenpositie. In het onderhavige programma wordt de switch bij het laden van het programma op ON gezet, uitgevraagd in opdracht 05, versteld in de opdrachten 08 en 16 en dient in feite voor het vasthouden van het begin van iedere te tekenen figuur. Op het eerste gezicht lijkt het, alsof het beschreven generalisatieprogramma hetzelfde resultaat geeft als stellers verkregen met hun voorbeeld 7 en 8 (zwarte lijn) via mechanische generalisatie, alleen met aan- zienlijk meer moeite. De getekende kaart zal ook exact eender zijn, alleen de tekentijd is korter: iedere opdracht aan de plotter kost een zekere tijd, ook die welke geen verplaatsing van de tekenpen ten gevolge hebben. Het beschreven programma elimineert alle "loze" plotteropdrachten, zodat de tekenpen voortdu- rend in beweging is. Het tekenen van de zwarte lijnen in de figuren 7 en 8 duurde volgens stellers 78 minu- ten. Naar schatting zou dit, uitgevoerd met het beschreven programma, circa 25 minuten geduurd hebben. Het beschreven programma geeft (afhankelijk van de kwaliteit der basisgegevens) de meest nauwkeurige weergave van de kaart op verkleinde schaal, is echter ook de langzaamste methode. Opvoering van de tekensnelheid kan op meerdere manieren, die alle neerkomen op vermindering van het aantal afzonderlijke plotteropdrachten. Men kan concessies doen aan de nauwkeurigheid door als parameter op te geven een waarde voor Z van 1, 5 of 2 x de stapgrootte van de plotter. Een betere methode is het vervangen van opdracht 09 uit het besproken programma door de volgende werk- wijze. In het geheugen reserveert men een tweedimensionale tabel, zoals voorgesteld in figuur 2. De waarden d stellen voor iedere rij voor de lengte der loodlijnen, neergelaten uit het punt van deze rij, op de 20 KB 28

Digitale Tijdschriftenarchief Stichting De Hollandse Cirkel en Geo Informatie Nederland

Kaartbulletin | 1972 | | pagina 22