Avia-GIS B.V.B.A.
HANDLEIDING BIJ HET GEBRUIK VAN HET DAP-PC9500 BOSINVENTARISATIEPROGRAMMA EN DE ACCESS-VBA-IMPORTEERMODULE
September-November 2001
INHOUD 1
Disclaimer ............................................................................................................................... 2
2
Inhoud van de CD-ROM ........................................................................................................ 3
3
Broncode inventarisatieprogramma BOSINPUT.EXE ........................................................ 4
4
Installatie van het inventarisatieprogramma op de PC9500 ................................................ 5
5
4.1
Formaat van de string files .......................................................................................... 5
4.2
Transfer van de inventarisatieprogramma naar de PC9500.................................... 7
4.3
Setup van de PC9500 .................................................................................................... 7
4.4
Formaat van de output files aangemaakt met BOSINPUT.EXE.............................. 8
Gebruik van het BOSINPUT.EXE inventarisatieprogramma............................................ 10 5.1
Algemene opbouw van de input schermen ............................................................... 12
5.2 Types editeervelden .................................................................................................... 12 5.2.1 Karakter editeervelden.............................................................................................. 13 5.2.2 Keuze editeervelden ................................................................................................. 13 5.2.3 Integer editeervelden ................................................................................................ 13 5.2.4 Floating point editeervelden ..................................................................................... 13 5.2.5 Karakter editeerveld met lijst functionaliteit............................................................ 13 5.2.6 Editeerveldgroep....................................................................................................... 13 5.3
Functietoetsen.............................................................................................................. 14
5.4............................................................................................................................................... 15 6
7
Importeermodule – “AviaGISImportRawDataModule.bas” .............................................. 16 6.1
Belangrijke opmerkingen........................................................................................... 16
6.2
Hoe de module te gebruiken ...................................................................................... 16
6.3
Het genereren van nieuwe unieke ID’s ..................................................................... 25
Belangrijk te onthouden....................................................................................................... 27
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 1 -
1
Disclaimer
Het inventarisatieprogramma BOSINPUT.EXE en de broncode van dit programma samen met de importeermodule AVIAGISIMPORTRAWDATAMODULE.BAS werden ontwikkeld door Avia-GIS BVBA voor AMINAL dienst Bos&Groen. Vanaf 1 december 2001 wordt deze software en broncode eigendom van Bos&Groen. Vanaf dat moment kan Avia-GIS BVBA niet meer verantwoordelijk gesteld worden voor de goede werking van de software, in het bijzonder indien wijzigingen in de broncode en/of wijzigingen in de tabeldesign van de Bos&Groen Access databank aangebracht worden. Het programma BOSINPUT.EXE en de AviaGISImportRawDataModule.bas importeermodule zijn zodanig opgebouwd dat er in geen enkel geval reeds ingegeven waarnemingen kunnen verloren gaan tijdens het gebruik van deze programma’s. Avia-GIS BVBA. kan om die reden nooit verantwoordelijk gesteld worden voor het “verlies” van gegevens. De strings in de software die verwijzen naar de ontwerper van de software – Avia-GIS BVBA – mogen niet uit de stringlijsten verwijderd worden. Daar de Bos&Groen Access Database nog geen finaal stadium heeft bereikt, kan Avia-GIS BVBA geen afgewerkte “Release” versie bouwen van de importeermodule. De ruwe datafiles gegenereerd op de PC9500 kunnen gegevens bevatten waarvoor in de huidige Bos&Groen Access DataBase geen ID noch Tabel is voorzien om deze data te stockeren. Avia-GIS BVBA kan niet verplicht worden onder deze samenwerkingsovereenkomst de software up-to-date te brengen indien Bos&Groen na 1 december 2001 wijzigingen aanbrengt in de structuur van de Access databank.
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 2 -
2
Inhoud van de CD-ROM
De CD-ROM bevat een directory structuur zoals weergegeven in Tabel 1.
Tabel 1: Inhoud van de CD-ROM \BC31
C++ broncode (bevat de Borland C++ 3.1 projecten). BOSINPUT.PRJ is de Borland C++ project-file.
\BOSINPUT
Bevat het inventarisatieprogramma BOSINPUT.EXE. Alle files (behalve COM.EXE en PKZIP.EXE) in deze directory zijn noodzakelijk om het programma op te starten. Met het programma COM.EXE kunt u de files naar uw PC9500 overzetten. Er kan verwezen worden naar de DAP-PC9500 handleiding voor het gebruik van het COM.EXE programma.
\CONVERT
Broncode conversie programma DATA2CSV.EXE. Dit programma converteert de ruwe datafile gegenereerd op de PC9500 naar een “comma delimited” file die rechtstreeks importeerbaar is in Excell.
\MERGE
Broncode van het programma DATMERGE.EXE. Dit programma kleeft 2 ruwe opnamefiles aan elkaar.
\STRINGS
Bevat alle soortlijsten (.txt files) en de ANSI-C conversie programma’s om deze textfiles om te zetten in een binair formaat met vaste recordlengte. Dit laatste is nodig om de soortfiles om te zetten naar een formaat bruikbaar voor het BOSINPUT.EXE programma.
\PC9500
Bevat de DAP-PC9500 MS-DOS en communicatiesoftware. De inhoud van deze directory is identiek aan de inhoud van de PC9500 "Companion Disk "
\HANDLEIDING
Bevat een Adobe-PDF file en een MS-Word file van deze handleiding.
\IMPORTMODULE
Bevat de VBA (Visual Basic for Applications) importmodule.
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 3 -
3
Broncode inventarisatieprogramma BOSINPUT.EXE
Het inventarisatieprogramma is geschreven in standaard C++. Dit betekent dat u het inventarisatieprogramma kan compileren met om het even welke moderne C++ compiler. Let wel: als het inventarisatieprogramma voor de PC9500 gecompileerd wordt dient u een compiler te gebruiken die 16bit object code kan genereren. De compiler mag ook enkel gebruik maken van processor registers die gekend zijn door een 80286 Intel processor. Indien de objectcode 80386 instructies bevat zal het inventarisatieprogramma niet werken op de PC9500. Indien u beschikt over BORLAND C++ (versie 3.1 of hoger) dan kan u de BOSINPUT.PRJ file gebruiken om de source code te compileren. Daar het besturingssysteem van de PC9500 handcomputers MSDOS 5.0 is, was het noodzakelijk een aantal functies te implementeren specifiek voor dit besturingssysteem. Deze platform-afhankelijke code is echter gegroepeerd in één statische klasse (techfunc.h, techfunc.cpp), zodat het enkel noodzakelijk is om deze klasse aan te passen wil men de broncode compileren voor Win32, Linux/Unix of Macintosh systemen. Verdere details betreffende de broncode worden in deze tekst niet behandeld. De broncode en de file-structuur van het inventarisatieprogramma is logisch opgedeeld volgens de beschikbare inputschermen en ‘user-interface’ objecten. Iedere file is voldoende van commentaar voorzien om de werking en het gebruik te verduidelijken. Het inventarisatieprogramma is degelijk ‘gepurified’ (100% vrij van mogelijke geheugenfouten). Tijdens de testcyclus van de software kwamen geen abnormale programmabeëindigingen voor. Indien het inventarisatieprogramma toch ergens mocht falen, noteer dan in welk scherm dit voorkomt en stuur dit samen met de datafile waarin u aan het werken was naar:
[email protected] Er zal dan zo spoedig mogelijk een analyse van het probleem uitgevoerd worden. De mogelijkheid dat inventarisatiegegevens verloren kunnen gaan bij falen van het inventarisatieprogramma of het falen van het MSDOS besturingssysteem is totaal uitgesloten. De mogelijkheid dat de datafile corrupt wordt bij falen van het inventarisatieprogramma is eveneens totaal uitgesloten. Het is aan te raden om alvorens men het veldwerk start, de eindgebruikers een aantal uren met het inventarisatieprogramma en de PC9500 te laten experimenteren. In het huidige tijdperk van ‘pointing devices’ en grafische ‘user interfaces’, vergt het MSDOS besturingssysteem een zekere gewenningsperiode.
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 4 -
4
Installatie van het inventarisatieprogramma op de PC9500
Het inventarisatieprogramma bestaat uit 5 files: - BOSINPUT.EXE het eigenlijke inventarisatieprogramma - UIBDUTCH.BIN de nederlandstalige user-interface (UI) strings - SPBDUTCH.BIN de nederlandstalige vegetatiesoortenlijst (2561 soorten) - BMSDUTCH.BIN de nederlandstalige boomsoortenlijst (168 soorten) - LISTS.TXT de keuzelijsten van bepaalde programma-inputvelden Er wordt één hulpmodule bijgeleverd, namelijk : - PKZIP.EXE een gekend oud (1988) shareware programma voor MSDOS ter compressie van files (standaard ZIP compressie)
4.1
Formaat van de string files
De file LISTS.TXT is een ASCII-tekst file. Deze file kan rechtstreeks in een text editor bewerkt worden en hoeft niet omgezet te worden naar een binair formaat om te gebruiken in het BOSINPUT.EXE inventarisatieprogramma. De layout van deze file is strikt vastgelegd. Tabel 2 toont hoe de file LISTS.TXT zou moeten opgebouwd worden indien er 2 keuzelijsten zouden zijn. Hoewel u deze file vrij mag editeren, mogen geen wijzigingen worden aangebracht in de lijst IDs. Het aantal items binnen een lijst mag naar believen uitgebreid of verkleind worden. Vergeet het getal dat het aantal items in een bepaalde lijst bijhoudt dan niet aan te passen.
Tabel 2: Formaat van de file LISTS.TXT Beschrijving Commentaar regel LijstID en aantal items in deze lijst Commentaar regel Item 1 tussen aanhalingstekens Item 2 tussen aanhalingstekens Item 3 tussen aanhalingstekens Commentaar regel LijstID en aantal items in deze lijst Commentaar regel Item 1 tussen aanhalingstekens Item 2 tussen aanhalingstekens
Voorbeeld ---------- Keuzelijst 0 ------------0 3 ------------------------------------“geen” “weinig” “veel” ---------- Keuzelijst 1 ------------1 2 ------------------------------------“Ja” “Nee”
De binaire files UIBDUTCH.BIN, SPBDUTCH.BIN en BMSDUTCH.BIN hebben een vaste recordlengte van respectievelijk 40, 44 en 44 bytes. Er is voor dit formaat gekozen daar de informatie in deze files niet in geheugen wordt geladen. Een vaste recordlengte is dus noodzakelijk om de zoektijd naar de juiste informatie in deze files te minimaliseren. De ASCII-tekst Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 5 -
equivalenten van deze binaire files zijn respectievelijk te vinden in de files UI_DUTCH.TXT, SP_DUTCH.TXT en BMS_DUTCH.TXT (in de \STRINGS directory op de CDROM). De file UI_DUTCH.TXT bevat de ‘user-interface’ strings en mag vrij bewerkt worden. Let wel : de verwijzingen naar de ontwerper van de software – Avia-GIS bvba – mogen echter niet verwijderd worden. De strings mogen niet langer zijn dan 40 tekens gezien de recordlengte van 40 bytes. Deze file kan geconverteerd worden naar zijn binaire equivalent UIBDUTCH.BIN via het programma UISTRING.EXE (in de \STRINGS directory op de CDROM). Tabel 3 geeft een overzicht hoe de file UI_DUTCH.TXT zou moeten opgebouwd worden indien er 4 ‘user-interface’ strings zouden zijn.
Tabel 3: Formaat van de file UI_DUTCH.TXT (maximum aantal tekens per string = 40) Beschrijving String teller String 1 en een komma als delimiter String 2 en een komma als delimiter String 3 en een komma als delimiter String 4 en een komma als delimiter
Voorbeeld 4 Proefcirkel A1, Proefvlakopname Hooghout, http://www.avia-gis.com/, Omtrek,
De file BMSDUTCH.BIN bevat de boom en struiksoorten die vermeld staan in de tabel ‘BOS_BMS’ van de Bos&Groen Microsoft-Access databank. Het is zeer belangrijk dat de soortstrings in deze tabel en in de BMSDUTCH.BIN file synchroon gehouden worden. Het formaat van de ASCII-equivalent (BMS_DUTCH.TXT) is identiek aan het formaat beschreven in Tabel 3. Een extra vereiste is wel dat de soortstrings alfabetisch moeten gerangschikt worden. Een soortstring mag maximaal 44 karakters lang zijn. Deze file kan geconverteerd worden naar zijn binaire equivalent BMSDUTCH.BIN via het programma SPSTRING.EXE (in de \STRINGS directory op de CDROM). De file SPBDUTCH.BIN bevat alle boom, struik, kruidspecies. Let wel: dit is een voorlopige file. Er is nog geen tabel in de Bos&Groen Microsoft-Access databank welke de unieke IDs bevat voor deze vegetatiesoorten. Het formaat van de ASCII-equivalent (SP_DUTCH.TXT) is identiek aan het formaat beschreven voor BMS_DUTCH.TXT. De file SP_DUTCH.TXT kan geconverteerd worden naar zijn binaire equivalent SPBDUTCH.BIN via het programma SPSTRING.EXE (in de \STRINGS directory op de CDROM). Indien u van plan bent om met Latijnse soortnamen te werken, dient u zelf de files SPBLATIN.BIN en BMSLATIN.BIN aan te maken. Dit is echter niet aan te raden omdat de huidige versie van de Bos&Groen Access Databank nog niet voorzien is op het behandelen en verwerken van de Latijnse soortnamen.
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 6 -
4.2
Transfer van de inventarisatieprogramma naar de PC9500
Door de 5 files (BOSINPUT.EXE, LISTS.TXT, UIBDUTCH.BIN, SPBDUTCH.BIN en BMSDUTCH.BIN) met het programma COM.EXE (dit programma is terug te vinden op de PC9500 Companion Disk en op de CDROM onder de directory \PC9500) op de A:\ schijf van de PC9500 te kopieren, is het inventarisatieprogramma geïnstalleerd en operationeel. Zorg ervoor dat alvorens u deze files op de A:\ schijf van uw PC9500 copieert, deze schijf leeg is (zie sectie 4.3). Het is aan de gebruiker van de PC9500 om te beslissen of deze 5 files onder de root-directory of in een aparte directory worden ondergebracht. Men is volledig vrij in het aanmaken van een directorystructuur op de A:\ schijf. De enige vereiste is dat deze 5 files in 1 en dezelfde directory ondergebracht worden. Indien u de vrije ruimte op uw PC9500 optimaal wil beheren kan u ook het programma PKZIP.EXE copieren naar uw A:\ dataschijf. Via dit programma kan u uw aangemaakte datafiles comprimeren. Stel dat u een datafile ZONIEN01.DAT hebt aangemaakt en u wenst deze te comprimeren zodat meer ruimte vrij kan komen op uw dataschijf. Via het commando A:\PKZIP –ex RAWDATA.ZIP ZONIEN01.DAT maakt u een nieuwe gecomprimeerde archief file RAWDATA.ZIP waarin de datafile ZONIEN01.DAT gecomprimeerd bewaard wordt. Daarna kan u de file ZONIEN01.DAT zonder probleem verwijderen. Indien u een andere datafile (stel ZONIEN02.DAT) wil bijvoegen bij de archief file RAWDATA.ZIP, dan kan u het volgende commando gebruiken: A:\PKZIP –ex –a RAWDATA.ZIP ZONIEN02.DAT Indien u PKZIP runt zonder commando parameters krijgt u een overzicht van alle opties. Experimenteer alvorens het veldwerk aanvangt, op uw desktop PC, hoe u dit programma moet gebruiken.
4.3
Setup van de PC9500
De PC9500 handcomputer beschikt in totaal over 1984KB werkruimte die moet verdeeld worden over het MS-DOS RAM-Geheugen en over een virtuele data-schijf welke dienst doet als data en programma opslagruimte. Een minimum van 448KB werkgeheugen is vereist voor het uitvoeren van het bosinventarisatieprogramma (BOSINPUT.EXE). Dit betekent dat er maximaal 1984 - 448 = 1536KB ruimte is voor dataopslag. De standaard instelling van uw PC9500 is: 640KB-RAM, 1344 KB-Dataschijf (A:\). Deze standaardinstellingen kunnen dus behouden blijven. Andere mogelijke instellingen zijn (b) 576KB-RAM, 1408KB-Dataschijf, (c) 512KB-RAM, 1472KB-Dataschijf en Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 7 -
(d) 448KB-RAM, 1536KB-Dataschijf. Elke andere configuratie is niet aan te raden. Indien deze instellingen van uw PC9500 voor eventuele andere toepassingen gewijzigd zouden zijn, raadpleeg dan de PC9500 handleiding voor het herstellen van deze standaard instellingen. Indien het werkgeheugen (RAM) kleiner is dan 448KB zal het inventarisatieprogramma (BOSINPUT.EXE) falen bij het opstarten. Daar de opslagruimte voor data maximaal slechts 1536KB bedraagt (= iets groter dan de capaciteit van een 1.44MB floppy disk), dienen alle andere files en/of directories niet behorend tot het bosinventarisatieprogramma van de dataschijf (A:\) verwijderd te worden. Maak een backup indien u niet zeker bent of de gegevens op deze schijf mogen verwijderd worden, alvorens de files effectief van de dataschijf te verwijderen. Daar het bosinventarisatieprogramma (5 files) ongeveer 411KB omvat, blijft er ongeveer een 1125KB over om inventarisatiegegevens op te slaan. Gegeven de opbouw van de inventarisatie data-file (die bestaat uit 84 byte records), levert dit de mogelijkheid een 13700 gegevens op schijf te bewaren. Dit laat dus toe om een beperkt aantal proefvlak- of volopnames te verrichten. Het inventarisatieprogramma informeert de gebruiker constant van de nog vrije ruimte. Het is aan de gebruiker om de inventarisatie datafiles tijdig naar zijn/haar desktop-PC te kopiëren (via het COM.EXE programma). Om extra ruimte vrij te maken op uw dataschijf kan u ook van het programma PKZIP.EXE gebruik maken. Indien voor een bepaalde opname meer records nodig zijn dan op de dataschijf weggeschreven kunnen worden kan de volgende procedure gevolgd worden. Stel u bent een volopname bezig in de file ‘ZONIEN01.DAT’. U hebt echter meer schijfruimte nodig dan de PC9500 u kan bieden. Indien de file ‘ZONIEN01.DAT’ geïdentificeerd is (dwz : u hebt het bosdomein, opnamedatum, bosplaats, bosperceel, bosbestand en proefcirkel/volopname-ID ingegeven), verlaat dan het inventarisatieprogramma en copieer deze file naar uw desktop PC. Verwijder deze file dan van de PC9500 dataschijf. Start het BOSINPUT.EXE inventarisatieprogramma met een andere opname file, bv: ‘ZONIEN01.002’ en vervolg uw opmetingen. Met het programma DATMERGE.EXE (te vinden in de directory \MERGE) kan u de twee files ZONIEN01.DAT’ en ‘ZONIEN01.002’ aan elkaar kleven tot één nieuwe file. Hierbij worden de identificatiegegevens van de eerste file als referentie genomen.
4.4 Formaat van de output files aangemaakt met BOSINPUT.EXE Daar de processor van uw PC9500 slechts een 2.700 floating point bewerkingen per seconde aankan (ter vergelijking: een reeds verouderde Pentium I 133MHz, heeft een limiet van 4.000.000 floating point bewerkingen per seconde), was het nodig het inventarisatieprogramma sterk te optimaliseren naar snelheid. Om de zoekprocedures op een aanvaardbare snelheid te laten verlopen moeten lijsten van de reeds gemeten record-IDs in het geheugen gehouden worden en moet gewerkt worden met een vaste recordlengte per gegeven. Alhoewel sequentiële filetoegang (met variabele recordlengtes) minder
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 8 -
plaats inneemt op een dataschijf, zijn heel wat extra leesprocedures nodig om de juiste positie van een record in de file te bepalen, of is er te veel RAM geheugen nodig om de fileposities te cachen. De snelheid van de PC9500 CPU en de beperkte geheugenadressering van het MSDOS besturingssysteem sluiten daarom sequentiele file toegang uit (het kan de gebruiker immers danig op de zenuwen werken als hij reeds ingegeven waarnemingen wil opzoeken en daarvoor telkens seconden moet wachten alvorens de resultaten getoond worden). Deze vaste recordlengte is in totaal 84bytes. Elk record bestaat uit de volgende sequentie van gegevens: - 2 byte integer: - 2 byte integer: - 80 byte string:
Uniek ID van het gegeven (zie datatype.h in de programma broncode) Volgnummer in een lijst van opgemeten bomen Elk gegeven wordt als string bewaard. De maximale stringlengte is 80 karakters.
Het maximaal aantal records dat het inventarisatieprogramma kan adresseren en dat aldus één datafile kan bevatten is 65535. De gebruiker wordt constant op de hoogte gehouden van het aantal vrije records (zie figuur 3, onderste regel). Dit aantal zal toereikend zijn voor alle proefvlak- en volopnames. 65535 keer 84 bytes is trouwens 5375KB, met andere woorden, de totale adresseerbare ruimte van het inventarisatieprogramma is groter dan de totale geheugencapaciteit van de PC9500 (1984KB).
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 9 -
5
Gebruik van het BOSINPUT.EXE inventarisatieprogramma
Om het inventarisatieprogramma te starten kan het volgende voorbeeld als leidraad genomen worden. Stel, u hebt de software geïnstalleerd onder de hoofddirectory van de A:\ dataschijf. U kan het inventarisatieprogramma dan starten met het commando: A:\BOSINPUT
zonien01.001
0
U merkt dus dat het inventarisatieprogramma moet gestart worden met 2 argumenten: (1) Het eerste argument – zonien01.001 – is de naam van de datafile waar de gegevens in zullen gestockeerd worden. U bent volkomen vrij in het kiezen van een filenaam, zorg er echter voor dat u een systeem volgt bij het kiezen van een filenaam. Deze datafile is bijzonder belangrijk en mag in geen geval verloren gaan. Deze file zal alle door u ingegeven ruwe data bevatten. Bewaar deze datafiles dan ook zorgvuldig op uw desktop PC (en maak backups). (2) Het tweede argument duidt de taal aan waarin u de plantensoorten wil laten verschijnen. Voor de Nederlandstalige benamingen geeft u 0, indien u de Latijnse benaming verkiest druk dan 1. Indien u geen cijfer intikt, zal het inventarisatieprogramma automatisch de Nederlandstalige soortnamen gebruiken. Indien u het inventarisatieprogramma op een geldige wijze hebt opgestart dan zal u een scherm te zien krijgen zoals in figuur 1.
Fig. 1: Opstartscherm van het inventarisatieprogramma BOSINPUT.EXE
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 10 -
Druk nu op eender welke toets om de inventarisatie te starten. Het inventarisatieprogramma opent altijd eerst het identiteitsvenster (Figuur 2a). Wanneer de identiteit van de opnamefile is vastgelegd dan kan de gebruiker het formulierenoverzicht (Figuur 2b) opvragen. [a]
[b]
Fig. 2: Het identiteitsscherm (a) wordt opgebracht wanneer de gebruiker het inventarisatieprogramma start met een nieuwe of reeds bestaande gegevensfile. Wanneer het een nieuwe gegevensfile betreft, wordt de datum aan het systeem gevraagd, maar er worden 3 vraagtekens voor geplaatst om de gebruiker te verplichten dit veld te editeren. Daarna kan de gebruiker het formulierenoverzicht (b) opvragen. Formulieren waarvan gegevens in de datafile zijn ingegeven worden gemarkeerd met XX. Daar de kleinste eenheid een proefvlakopname of volopname is mag het symbool XX voor elke gegevensfile maximaal slechts 2 keer voorkomen: de “IDENTITEIT OPNAME” en één formulier naar keuze.
Zoals in figuur 1 aangegeven, is de kleinste entiteit een proefvlak (of een volledig bestand bij een volopname). Een datafile bevat de gegevens van dergelijke kleinste entiteit. Dit betekent dat indien men 2 proefvlakken middelhout wil opmeten binnen hetzelde bestand, men twee aparte datafiles moet aanmaken. Beide files moeten de identiteit van het bestand specifieren. Dit betekent dat beide files op zijn minst de gegevens moeten bevatten van het identiteitsscherm. Hierdoor zal “IDENTITEIT OPNAME” in het formulierenoverzicht (figuur 2b) gemarkeerd worden met XX. In beide files mag het symbool XX in het formulierenoverzichtscherm maar voorkomen naast Formulier 07 “Proefvl Middelhout”.
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 11 -
5.1
Algemene opbouw van de input schermen
Het inventarisatieprogramma bevat alle formulieren die tot op heden gebruikt werden tijdens een bosinventarisatie. De opbouw van de schermen is conform deze vertrouwde papieren documenten. Figuur 3 geeft een overzicht van de algemene vormgeving van een inputscherm. De drie bovenste regels geven de gebruiker info over het formulier dat geëditeerd wordt. Daarna volgt een groot blok welke de editeervelden bevat. Vervolgens volgen terug 4 regels info, welke de toetsencombinaties beschrijven om door de formulieren te navigeren. Er wordt ook informatie gegeven omtrent het vrij RAM geheugen en de vrije schijfruimte. De onderste regel wordt gebruikt om de gebruiker in te lichten over het aantal vrije records. Eventuele foutboodschappen worden ook op deze regel getoond.
Header
editeervelden
Footer Info en foutboodschappen
Fig. 3: Algemene layout van een input scherm
5.2
Types editeervelden
Alle editeervelden hebben met elkaar gemeen dat slechts data weggeschreven wordt naar de gegevensfile indien een bepaald gegevensveld daadwerkelijk bezocht is, en de inhoud van het gegevensveld wordt bevestigd door op ENTER te drukken. Het symbool
Φ
vlak voor een
editeerveld duidt aan dat dit editeerveld in editeermode is. Het symbool * vlak voor een editeerveld duidt aan dat een dergelijk editeerveld verplicht is. Softwarematig wordt de gebruiker niet verplicht om een dergelijk editeerveld in te vullen (kan immers danig op de zenuwen werken als men bijvoorbeeld juist iets anders eerst wil meten). Het is aan de gebruiker om voor
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 12 -
volledigheid te zorgen. Het inventarisatieprogramma is derwijze opgebouwd dat zeer eenvoudig de reeds ingegeven data kan bevraagd worden. Er volgt nu een overzicht van de verschillende types editeervelden. 5.2.1 Karakter editeervelden Alle karakters zijn toegelaten en de strings kunnen maximaal 80 karakters bevatten. Een volledig leeg editeerveld verwijdert de string uit de datafile.
5.2.2 Keuze editeervelden Wanneer een toets ingedrukt wordt, wordt een lijst van keuzemogelijkheden doorlopen. De keuzemogelijkheden zijn niet rechtstreeks editeerbaar. De file LISTS.TXT bevat alle keuzelijsten. U kan dus met een standaard ASCII editor het aantal items van een keuzelijst veranderen, of strings hernoemen. Let erop dat de integriteit van de file behouden blijft. Binnenin een keuze-editeerveld heeft de toets “-“ een speciale functie: het verwijdert de string uit de datafile.
5.2.3 Integer editeervelden Enkel gehele getallen worden toegelaten. Een volledig leeg editeerveld verwijdert de string uit de datafile.
5.2.4 Floating point editeervelden Enkel kommagetallen worden toegelaten. Een volledig leeg editeerveld verwijdert de string uit de datafile.
5.2.5 Karakter editeerveld met lijst functionaliteit Deze inputvelden zijn te herkennen aan de (+/-) karakters die net voor of na het inputveld voorkomen. Boven (daarom niet altijd direct boven) het editeerveld wordt aangeduid hoeveel elementen de lijst bevat. Met de toetsen + en – kan u respectievelijk elementen toevoegen en verwijderen. Met PgUP en PgDown kan u door de lijst scrollen. Wanneer een dergelijk editeerveld in editeermode is, staat een pijltje voor de teller. Dit is een extra hulpmiddel om uit te maken of het editeerveld in editeermode is.
5.2.6 Editeerveldgroep Een editeerveldgroep is samengesteld uit meerdere editeervelden. Hierbij zijn alle editeervelden die behoren tot de groep, attributen van het bovenste editeerveld. De editeervelden onder dit bovenste editeerveld zijn niet rechtstreeks met de pijltjestoetsen te bereiken. Ze kunnen slechts ingevuld worden als het bovenste is ingevuld. Een editeerveldgroep is in editeermode zolang er een pijltje voor de teller staat.
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 13 -
5.3
Functietoetsen
Het aantal functietoetsen is zeer beperkt en uniform gehouden. Op het scherm is er telkens een aanduiding welke numerieke toets (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) moet gebruikt worden om van het ene scherm naar een ander scherm over te gaan. Naast deze numerieke functietoetsen volgt hieronder een lijst van andere functietoetsen:
Binnenin een Scherm : Numerieke toetsen Pijltjestoets Ð Pijltjestoets Ï
selecteer een ander inputscherm of formulier selecteer een editeerveld selecteer een editeerveld. Van zodra de cursor binnenin een editeerveld staat kan begonnen worden met editeren.
Foutmelding (computer geeft geluidsignaal en op de onderste regel verschijnt een boodschap die aan en uit knippert) : ENTER er moet verplicht op enter gedrukt worden alvorens kan verder gegaan worden (dit om de gebruiker te verplichten de foutboodschap te lezen). Binnenin een editeerveld : Pijltjestoets Î Pijltjestoets Í Pijltjestoets Ð Pijltjestoets Ï DEL BACKSPACE HOME END ESC ENTER -
verplaats cursor 1 positie naar rechts verplaats cursor 1 positie naar links enkel bij vegetatie-editeervelden: toon de vorige soort in de lijst enkel bij vegetatie-editeervelden: toon de volgende soort in de lijst verwijder karakter rechts van de cursor verwijder karakter links van de cursor zet cursor aan het begin van de string zet cursor aan het einde van de string veranderingen ongedaan maken: zet de vorige string terug en schrijf deze weg naar de datafile aanvaard de string en schrijf deze weg naar de datafile verwijder de string uit de datafile (enkel bij een keuzelijst)
Binnenin 1 editeerveld dat gebruikt wordt om lijsten op te bouwen. Dergelijk editeerveld is te herkennen aan de karakters (+/-) net voor of na het eigenlijke editeerveld : + voeg een nieuwe soort toe aan de lijst verwijder deze soort uit de lijst PgUP Scroll door de lijst (van achter naar voor) PgDown Scroll door de lijst (van voor naar achter) ESC Verlaat het editeerveld. (Zolang de karakters ‘->’ voor de teller staan is men nog in editeermode)
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 14 -
Binnenin een editeerlijst (meerdere editeervelden die softwarematig aan elkaar verbonden zijn) : + voeg een nieuwe soort toe aan de lijst verwijder deze soort uit de lijst PgUP Scroll door de editeerlijst (van achter naar voor) PgDown Scroll door de editeerlijst (van voor naar achter) ESC Verlaat de editeerlijst (Zolang de karakters -> voor de teller (bv: ->#3/8) staan, is men nog in editeermode) Opmerking: Een editeerlijst kan maar verlaten worden met ESC als de cursor terug op het eerste editveld komt te staan. Zodoende wordt de gebruiker verplicht om alle attributen te overlopen die horen bij het eerste editeerveld. 5.4
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 15 -
6
Importeermodule – “AviaGISImportRawDataModule.bas”
De importmodule bestaat uit 1 file, namelijk “AviaGISImportRawDataModule.bas”. Deze file bevat de broncode van de importeermodule. Deze broncode is geschreven in de ‘Visual Basic for Application’ (VBA) taal. Omdat de broncode in deze file voldoende van commentaar is voorzien wordt in deze handleiding geen uitleg gegeven betreffende de broncode. De importeermodule is getest voor de huidige courante versies Microsoft Access 97 en Microsoft Access 2000.
6.1
Belangrijke opmerkingen
In tegenstelling tot de inventarisatiesoftware (BOSINPUT.EXE), welke een volwaardige “Release” versie is, is deze importeermodule een eerste Beta-versie. Daar de Bos&Groen Access Database nog geen finaal stadium heeft bereikt, kan Avia-GIS BVBA geen afgewerkte “Release” versie bouwen van de importeermodule: de ruwe datafiles gegenereerd op de PC9500 kunnen gegevens bevatten waarvoor in de huidige Bos&Groen Access Database geen ID noch Tabel is voorzien om deze data te stockeren. Bewaar daarom altijd de originele ruwe datafiles. Indien Bos&Groen wijzigingen aanbrengt in de Access databank, dienen deze wijzigingen ook te worden doorgevoerd in de importeermodule.
6.2
Hoe de module te gebruiken
Indien uw ruwe datafile niet correct is of er zijn wijzigingen in de databank aangebracht die niet zijn doorgepropageerd in deze VBA module of er treedt een andere fout op tijdens het importeren, dan zal geen enkel gegeven aan de Access databank toegevoegd worden. Dit is zo verkozen om de bestaande databank te vrijwaren van mogelijke fouten. Figuur 4 geeft aan de hand van 15 Microsoft Access 2000 schermafdrukken een overzicht van de verschillende stappen die moeten ondernomen worden om de importeermodule te activeren en uit te voeren. Deze stappen worden hieronder stap voor stap beschreven (Microsoft Access 97 volgt een analoog schema).
Stap [A]: Open de Access databank en activeer in het ‘Objects’ venster het object ‘Modules’. Er zijn nog geen modules aanwezig, waardoor het overzichtvenster leeg is. In dit overzichtvenster genereert een klik op de rechter muisknop een ‘popup’ menu. Selecteer de optie ‘Visual Basic Editor’. Stap [B]: De Visual Basic Editor opent zich. Selecteer in het ‘View’ menu de optie ‘Project Explorer’. Binnenin dit ‘Project Explorer’ venster genereert een klik met de rechter muisknop een popup menu. Selecteer de optie ‘Import File’. Stap [C]: Selecteer nu de file AviaGISImportRawDataModule.bas. Hierdoor wordt de importeermodule binnen het database project geimporteerd. Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 16 -
Stap [D/E]: ‘Save’ nu uw database en verlaat de ‘Visual Basic Editor’. In het moduleoverzichtvenster is nu de importeermodule zichtbaar. Stap [F]: Activeer nu in het ‘Objects’ venster het object ‘Macros’ en klik vervolgens op ‘new’. Het macro overzichtvenster is voorlopig nog leeg. Stap [G]: Het macro-editeervenster opent zich. Selecteer in de eerste rij in de ‘Action’ kolom de macro ‘RunCode’. Klik vervolgens op de knop naast het ‘Function Name’ editeerveld. Stap [H/I]: De ‘Expression Builder’ opent zich. Selecteer nu door dubbelklikken de functie AviaGIS_ImportRawDataModule() en klik daarna op OK. Het ‘Expression Builder’ venster sluit zich. Sluit vervolgens het macro-editeervenster en Access zal u nu een naam vragen voor deze nieuwe macro. In dit voorbeeld is deze macro ‘Import_PC9500_DataFiles’ genoemd. Het macro overzichtvenster bevat nu uw nieuwe macro. ‘Save’ daarna terug uw database. U beschikt nu over een macro in uw database die kan gebruikt worden om uw ruwe inventarisatiedata te importeren. Stap[J/K] : Selecteer nu deze nieuwe macro (één keer klikken) en klik op ‘Run’. Er verschijnt een venster waar u het volledige pad en naam van de ruwe datafile moet ingeven. Klik daarna op OK. Indien alles goed verloopt, verschijnt een venster met de mededeling dat uw datafile is opgenomen binnen de Access databank. Stap [L/M] : Indien ergens een fout binnen de VBA module optreedt verschijnt een ‘debug’ venster. Door op de ‘Debug’ knop te klikken springt Access naar de programmaregel waar de fout optreedt. Deze mogelijkheid is echter voorbehouden voor diegenen die met VBA kunnen werken. Indien dergelijk ‘debug’ venster verschijnt is het aan te raden op ‘End’ te klikken. Dit beëindigt de VBA importeermodule. Er zullen geen gegevens in de databank weggeschreven zijn. Stap [N/O] : Indien de VBA importeermodule ongekende gegevens detecteert, zullen er gepaste foutboodschappen op het scherm komen. Contacteer in dergelijk geval de Bos&Groen verantwoordelijke.
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 17 -
[A]
[B]
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 18 -
[C]
[D]
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 19 -
[E]
[F]
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 20 -
[G]
[H]
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 21 -
[I]
[J]
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 22 -
[K]
[L]
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 23 -
[M]
[N]
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 24 -
[O]
Fig. 4: Overzicht van de stappen die moeten ondernomen worden om de importeermodule te activeren en uit te voeren.
6.3
Het genereren van nieuwe unieke ID’s
Zoals eerder beschreven is een volopname/proefvlakopname (hierna opname genoemd) de kleinste entiteit. De volledige sequentie unieke ID’s om een opname te kunnen identificieren is: BosDomein, BosPlaats, BosPerceel, BosBestand, BosProefvlakopname-ID. Daar de reeds aanwezige methode in de Bos&Groen Access databank voor het genereren van unieke ID’s gebaseerd is op “timestamps” worden voor hetzelde inputgegeven verschillende ID’s gegenereerd op verschillende desktops. Bijvoorbeeld: Het bosdomein “Zonien” moet in alle kopiën van de Access-databank die in de houtvesterijen zullen gebruikt worden hetzelfde unieke ID krijgen; Met de huidige methode zal op iedere desktop een ander ID gegenereerd worden, gebaseerd op het tijdstip wanneer “Zonien” voor de eerste keer in de databank opgenomen wordt. Bijgevolg zou niet kunnen getectecteerd worden of een bepaalde ruwe datafile reeds geïmporteerd is of niet. Dit is niet wenselijk. Daarom werkte Avia-GIS de volgende procedure uit voor het genereren van uniforme en unieke ID’s. Uniform, daar dezelfde ID’s moeten gegenereerd worden voor dezelfde inputgegevens (de unieke ID’s die mogelijks moeten aangemaakt worden, dienen voor een bepaalde ruwe datafile dezelfde te zijn ongeacht tijdstip en plaats van de importeeraktie).
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 25 -
Eerst en vooral wordt gewerkt met een prefix, zodat duidelijk zichtbaar is dat een bepaald uniek ID een bosdomein, bosplaats of nog iets anders aanduid. Een overzicht van de opbouw van een uniek ID, zoals de Avia-GIS importmodule ze zal genereren is te vinden in de broncode van de importeermodule. De methode maakt gebruik van twee ‘assymetrische’ bewerkingen op een ASCII karakter string. Zodoende kan voor iedere ASCII string een uniek en uniform ID gegenereerd worden. Tabel 4 geeft een rekenvoorbeeld veronderstellende dat “Zonien” het bosdomein is.
Tabel 4: Berekening van het uniforme unieke ID voor het bosdomein “Zonien” BosDomein = “Zonien” Beginwaarde = 0 Beginwaarde = 0 ASCII-code “z” = 122 +(122 * 1) = 122 +(122 * 6) = 732 ASCII-code “o” = 111 +(111 * 2) = 222 +(111 * 5) = 555 ASCII-code “n” = 110 +(110 * 3) = 330 +(110 * 4) = 440 ASCII-code “i” = 105 +(105 * 4) = 420 +(105 * 3) = 315 ASCII-code “e” = 101 +(101 * 5) = 505 +(101 * 2) = 202 ASCII-code “n” = 110 +(110 * 6) = 660 +(110 * 1) = 110 2259 2354 BosDomein uniek ID 100-2259-2354
Stel dat het bosdomein “Zonien” is en de bosplaats “Ukkel”, dan wordt de te coderen string die het unieke ID zal leveren voor deze bosplaats: “Zonien&Ukkel” (het “&” teken is als willekeuring bindteken gekozen). Is er binnen deze bosplaats een perceel “UkkelP7”, dan wordt de string die het unieke ID voor dit perceel zal leveren: “Zonien&Ukkel&UkkelP7” (dit unieke ID zal als prefix “300-” hebben, zie VBA-broncode). Is er binnen dit perceel een bestand “4” genaamd, dan wordt de string die de unieke ID voor dit bestand zal leveren: “Zonien&Ukkel&UkkelP7&4” (dit unieke ID zal als prefix “400-” hebben, zie VBA-broncode).
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 26 -
7
Belangrijk te onthouden
Hier volgen een aantal belangrijke opmerkingen die in acht dienen genomen te worden bij het gebruik van de software.
•
Daar de kleinste eenheid een proefvlakopname of volopname is mag er voor elke gegevensfile maximaal slechts 1 formulier gekend zijn. Bij elke proefvlak- of volopname moet een nieuwe file geopend worden.
•
De binaire datafiles die aangemaakt worden op de PC9500 zijn uw primaire bron van informatie. Wis ze daarom niet, ook niet indien de gegevens reeds opgenomen zijn in een grotere overkoepelende databank. NEEM BACKUPS en zorg voor een éénduidig archiveringssysteem. Dit betekent: gebruik dus geen bestandsnaam, zoals “input037.dat”, voor een volopname in een bestand van het Zonienwoud. Op een Windows-systeem kan u ook de ruwe datafiles hernoemen, u bent dan niet gebonden aan een filelengte van 8 karakters.
•
Het inventarisatieprogramma BOSINPUT.EXE is zodanig opgebouwd dat er in geen enkel geval reeds ingegeven waarnemingen kunnen verloren gaan tijdens een goed gebruik van het inventarisatieprogramma (elk ingetoetst gegeven wordt onmiddellijk naar de datafile weggeschreven), of door falen van het inventarisatieprogramma, of door falen van het MS-DOS besturingssysteem. Avia-GIS b.v.b.a. kan om die reden nooit verantwoordelijk gesteld worden voor het “verlies” van gegevens.
•
Het symbool * net vóór een editeerveld duidt aan dat een dergelijk editeerveld verplicht is. Softwarematig wordt de gebruiker niet verplicht om een dergelijk editeerveld in te vullen (kan immers danig op de zenuwen werken als men bijvoorbeeld juist iets anders eerst wil meten en men dus eerst een ander editeerveld wil invullen). Het is aan de gebruiker om voor volledigheid te zorgen (indien een dergelijk verplicht veld niet ingevuld is zal de importeermodule een foutmelding geven). Het inventarisatieprogramma is derwijze opgebouwd dat zeer eenvoudig de reeds ingegeven waarnemingen kunnen bevraagd worden. Avia-GIS b.v.b.a. kan om die reden nooit verantwoordelijk gesteld worden voor het “onvolledig zijn” van de datafile.
•
Eventuele vragen of onduidelijkheden kunnen altijd gemeld worden op volgend E-mail adres, u zal zo spoedig mogelijk geholpen worden:
[email protected]
Handleiding PC9500 Bosinventarisatieprogramma en Access Importeermodule - 27 -