3.1. Algemeen ............................................................................................................ 3.2. Oracle databank .................................................................................................... 7. Configuratie van een nieuwe applicatie ........................................................................................ 1. Data aanwezig ................................................................................................................ 2. Datasores ....................................................................................................................... 3. Featuretypes ................................................................................................................... 4. Definitie van de applicatie ................................................................................................. 4.1. Attributen ............................................................................................................ 5. Koppeling ...................................................................................................................... 6. Gebruikers ......................................................................................................................
v
21 21 22 22 22 22 23 23 23 23
Hoofdstuk 1. Installatie 1. Omgeving geGIS is een dynamische webtoepassing. Om deze te laten draaien gebruikt u best Apache Tomcat 5.5. Dit kan lokaal gebeuren, maar ook op een webserver. Om een lokale versie van geGIS te draaien voorzien wij een bebundeld pakket met daarin Apache Tomcat 5.5 en een Java Runtime Environment. Indien gewest kan u deze natuurlijk ook zelf installeren.
1.1. Apache Tomcat Voor de installatie van Apache Tomcat verwijzen wij u door naar volgende website : http://tomcat.apache.org Starten van het systeem: .\apache-tomcat-5.5.17\bin\startup.bat Stoppen van het systeem .\apache-tomcat5.5.17\bin\shutdown.bat
1.2. Java Runtime Environment Voor de installatie van Java Runtime Environment verwijzen wij u door naar volgende website : http:// java.sun.com/javase/index.jsp
2. Deployment geGIS wordt onder de vorm van een ZIP bestand aangeleverd. Het dient vervolgens enkel uitgepakt te worden in een directory naar keuze.
2.1. Windows Men kan gebruik maken van een tool om het bestand uit te pakken. Veel gebruikte tools hiervoor zijn Winzip en Winrar. Men kan hiermee de inhoud van de zip in b.v. de map C:\Program Files\geGIS-workshop plaatsen.
2.2. Linux / Unix Men kan via het commando unzip de zip file uitpakken naar een directory naar keuze, b.v. /usr/home/geGIS-workshop
3. Data geGIS kan overweg met verschillende soorten data. In de lokale versie worden standaard enkel een aantal shapes files meegegeven om de applicatie te testen. Het is echter helemaal niet moeilijk om ervoor te zorgen dat geGIS overweg kan met databanken zoals b.v. Oracle en PostgreSQL. Er kan gebruik gemaakt worden van bestaande scripts en batchfiles die meegeleverd worden of men kan ervoor kiezen dit manueel te doen. We geven eerst een overzicht van de manier van werken met scripts en daarna bespreken we wat er moet gedaan worden om ditzelfde resultaat manueel te bekomen. In de map WebContent\tools staan een aantal een aantal scripts en propertiesfiles. Voor windows dient men de .bat files te gebruiken en voor linux/unix de .sh files. Verder zijn er de .properties files die voor de betreffende database dienen ingevuld te worden. Wenst men dus tabellen te creëren voor een Oracle databank gebruikt men het bestand oracle_dbase_tables.properties en voor de postgres databank postgres_dbase_tables.properties. Waarna men dan respectievelijk het script Create_Oracle_tables.bat of Create_Postgres_tables.bat laat runnen. De properties files zijn als volgt opgebouwd :
1
Installatie
Eerst worden een aantal algemene eigenschappen van de databank beschreven zoals de naam en gebruikersid en paswoord voor de databank, daarna volgt een opsomming van de tabellen die men wenst te maken. Men vermeldt hierbij volgende zaken : (voorbeeld) dir3=/export/home/dfc/V11/data/wevelgem/ shape3=deelgemeenten table3=wev_deelgemeenten edit3=false • dir = plaats waar de bronbestanden staan • shape=naam van het bronbestan • table=naam van de tabel in de databank • edit = true of false. Bij false worden er geen edit-tabellen aangemaakt, bij true wel Manueel gebeurt dit als volgt : Als voorbeeld is er telkens gewerkt met een laag "provincies".
3.2. Oracle Spatial Gebruik versie 10.2.0 ! 1. HTTP port veranderen De HTTP server draait default op poort 8080, om dit te veranderen: C:\WINDOWS\system32>sqlplus system@xe SQL*Plus: Release 10.1.0.2.0 - Production on Mi Jan 25 11:44:33 2006 Copyright (c) 1982, 2004, Oracle. All rights reserved. Enter password: Connected to: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Beta SQL> -- get current status SQL> select dbms_xdb.gethttpport as "HTTP-Port"
2
Installatie
, dbms_xdb.getftpport as "FTP-Port" from dual; HTTP-Port FTP-Port SQL> -- set http port and ftp port SQL> begin 2 dbms_xdb.sethttpport('80'); 3 dbms_xdb.setftpport('2100'); 4 end; 5 / PL/SQL procedure successfully completed. SQL> select dbms_xdb.gethttpport as "HTTP-Port" , dbms_xdb.getftpport as "FTP-Port" from dual; HTTP-Port FTP-Port ---------- ---------80 2100 2. Opladen shapefiles • Voor uit in de prompt : shp2sdo provincies provincies –s 31300 –i fid • Start sqlplus en voer het script uit : @provincies.sql
• Kontroleer of de waarde van NLS_NUMERIC_CHARACTERS correct is. Hiervoor kan je in sqlplus het volgende command select * from v$nls_parameters;
De waarde van NLS_NUMERIC_CHARACTERS moet gelijk zijn aan “.,”. Als dit niet het geval is, definiëer dan de volgend Set NLS_NUMERIC_CHARACTERS=., Dit kan in een DOS prompt gebeuren. • Gebruik sqlldr om de shapefile op te laden : sqlldr user/password provincies • Start sqlplus en voor volgende acties uit : • EXECUTE SDO_MIGRATE.TO_CURRENT('provincies','geom'); • CREATE INDEX provincies_idx ON provincies(geom) INDEXTYPE IS MDSYS.SPATIAL_INDEX; • SELECT SDO_TUNE.EXTENT_OF('provincies','geom') FROM DUAL;
3.3. Deegree 1. Unzip deegree2.war naar een aparte map (vanaf nu verwezen als : $DEEGREE_ROOT ) 2. Voor elke WMS-laag : • Maak in $DEEGREE_ROOT\WEB-INF\data een map aan met de naam van de WMS-laag (vanaf nu verwezen als : $WMS_LAAG) • Maak binnen deze map een nieuwe map en noem deze orig • Kopieer de TIF en TFW bestanden naar $DEEGREE_ROOT\WEB-INF\data\$WMS_LAAG\orig • Kopieer het bestand $DEEGREE_ROOT\WEB-INF\tools\rtb-saltlake.bat naar $DEEGREE_ROOT\WEBINF\tools\$WMS_LAAG.bat • Verander in dit nieuwe bestand de volgde parameters :
3
Installatie
Tabel 1.1. Parameters Deegree Naam
Waarde
Omschrijving
outDir
..\data\$WMS_LAAG\out
De output map voor de pyramidestructuur
baseName
$WMS_LAAG
De basisnaam van de pyramidestructuur
noOfLevel
3
Het aantal niveaus in de pyramide
srs
EPSG:31300
Het geografisch referentiesysteem (Lambert 72)
rootDir
..\data\$WMS_LAAG\orig
De map met de TIF & TFW bestanden
• Voer het batch bestand uit • Open het bestand $DEEGREE_ROOT\WEB-INF\conf\wms\LOCALWCS_capabilities.xml • Maak binnen : <wcs:ContentMetadata xmlns:wcs="http://www.opengis.net/wcs"> een extra node aan : <description> $WMS_LAAG
<Title>Utah • Voeg in datzelfde bestand een nieuwe node toe : $WMS_LAAG <Title>Beschrijving van $WMS_LAAG <SRS>EPSG:31300 <deegree:DataSource failOnException="0" queryable="0"> <deegree:Name>$WMS_LAAG <deegree:Type>LOCALWCS
<deegree:OWSCapabilities> <deegree:OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="LOCALWCS_c <deegree:FilterCondition> <deegree:WCSRequest> 3. Context toevoegen aan tomcat : deegree2.xml aanmaken in map %TOMCAT_HOME%/conf/Catalina/localhost met volgende inhoud :
reloadable="true"
docBase="$DEEGREE_ROOT"
4. Maak in %TOMCAT_HOME%/bin een batch bestand (setenv.bat) aan met volgende inhoud : set PATH=%PATH%;$DEEGREE_ROOT\WEB-INF\lib\proj4\win32 set PROJ_LIB=$DEEGREE_ROOT\WEB-INF\lib\proj4 5. Indien de WMS service op dezelfde machine als de geGIS service draait, moet men ervoor opletten dat beide instanties van Tomcat niet op dezelfde poort draaien. Om Tomcat op een andere poort te draaien zie : http://tomcat.apache.org/ Zorg ervoor dat elke referentie naar poort 8080 in de hierboven beschreven bestanden ook aangepast wordt.
5
Hoofdstuk 2. Configuratie Nu geGIS is uitgepakt staan er typisch 3 mappen klaar voor gebruik : een tomcat map, een JRE map en een geGIS map. Deze laatste bevat alle bestanden van het geGIS project, inclusief de configuratiebestanden.
conf : configuratiefiles voor elke applicatie, bevat ook informatie over plugins data : data voor elke applicatie data/ggis/applications : configuratie file global.xml data/ggis/applications/... : configuratie file application.xml voor elke applicatie data/featureTypes : verzameling van alle featureTypes WEB-INF : configuratie file catalog.xml : configuratie datastores
2. Applicaties Worden gedefinieerd in hun eigen map in data/ggis/application/%applicatienaam%/application.xml
2.1. Global.xml In de map data/ggis/application/ worden in het bestand global.xml een aantal gemeenschappelijk kenmerken van alle applicaties gedefinieerd. Operators : een lijst met de definieties van de beschikbare operators over de applicaties heen.
2.2. Algemeen Application
naam : de naam van de applicatie gridconfig
rasterZoomlevels : de mannier waarop in en uitgezoomd kan worden : transformationfunction : de functie die gebruikt wordt om de coördinaten van de databank om te zetten naar de schermcoördinaten fullMapExtend : het maximumkaartbereik
users : lijst van gebruikers Applicatie-URL's : verwijzingen per applicatie naar de URL die door de server gebruikt zal worden
2.3. Lagen De belangrijkste attributen voor een applicatie zijn : Layer
Layername : de naam van de layer
6
Configuratie
Layertype : het type layer b.v. vectorlaag, WMS, ... Featuretype : welk soort features deze laag bevat. Zie ook : Paragraaf 4, “FeatureTypes” viewscale : vanaf welk niveau de laag zichtbaar wordt / zich verbergt identifyingAttributes : de attributen uit de databank die men standaard in het infovenster ziet (databankattribuut gekoppeld aan naam) viewableAttributes : de attributen die men kan zien en kan zoeken (databankattribuut gekoppeld aan naam) style : hoe de laag moet worden weergegeven op de map orderOnMap : de volgorde van de laag op de map. 1 = bovenaan orderOnTOC : de volgorde van de laag in de inhoudstabel. 1 = bovenaan activateAble : of men de laag al dan niet actief kan zetten. defaultVisible : of de laag bij het opstarten zichtbaar is. showLabels : of bij het opstarten de labels zichtbaar zijn.
3. Datastores : catalog.xml De datastores verbinden, in samenwerking met het bijbehorende featureType, een laag in de applicatie met een bron van data (b.v. een databank, een WMS-server,...) Belangrijke zaken hier zijn: namespace : hoe men naar de datastore gaat verwijzen in ggis-catalog.xml (typisch vb : namespace:featureType => oracle:multinet) id : specifiek id voor deze datastore connectionparameters : hangt af van type featuretype, b.v. voor een oracle databank zijn dit o.a. naam, paswoord, poort,.. Voorbeeld shape datastore: Toevoegen van een datastore voor provincies: <parameter value = "shape" name = "namespace" /> <parameter value = "file:data/featureTypes/shp_provincies/provincies.shp" name = "url" /> Voorbeeld van een ORACLE databank datastore:
7
Configuratie
<parameter value = "oracle" name = "namespace" /> <parameter value = "ggis" name = "user" /> <parameter value = "XE" name = "instance" /> <parameter value = "ggis" name = "passwd" /> <parameter value = "127.0.0.1" name = "host" /> <parameter value = "" name = "schema" /> <parameter value = "1521" name = "port" /> <parameter value = "oracle" name = "dbtype" />
4. FeatureTypes Bepalen van het uitzicht van elementen van een datastore. Omschrijving van de data (wat zijn de attributen, referentiesysteem Stap 1: creeren van een directory onder .\data\featureTypes\provincies Wij gebruiken voor het gemak dezelfde naam als de naam van het shapebestand, voorafgegaan door shp_ vn: Shp_provincies Stap2: aanmaken van een “info.xml” bestand dat de feature beschrijft: Dit bestand bepaald of iets als een feature herkent wordt of niet: Je kan featuretypes aan en af zetten door het “info.xml” bestand te renamen naar “info.xm” provincies <SRS>31300 Test lineTest voor lijnlaagprovincies vlaanderen <styles default = "poly_green" /> Belangrijke kenmerken zijn hier : datastore : de naam van de datastore die de featuretype gebruikt name : de naam van de featuretype SRS : Spatial Reference System : het coördinatensysteem gebruikt door dit featuretype
5. Uitgebreide voorbeelden In de bovenvermelde bestanden zullen voorbeelden staan in commentaar. Deze kunnen gecopieerd worden en gebruikt waar nodig.
6. Aanpassen userinterface Het aanpassen van de userinterface, b.v. het toevoegen/verwijderen van knoppen of het groter/kleiner maken van bepaalde vensters kan gedaan worden in het bestand userinterface.jsp.
8
Configuratie
WAARSCHUWING : hier is kennis van Java & Javascript voor nodig en wordt dus best overgelaten aan specialisten.
Zoom uit naar maximum bereik Functionaliteit Zoom in
Tabel 3.1. Toolbar buttons
Zoom uit Zoom naar selectie Zoom naar rechthoek Pannen activeren Selecteer feature Vorig kaartbereik Volgend kaarbereik Ga naar bookmarks Nieuwe bookmark Exporteer de actieve laag Exporteer de geselecteerde documenten naar CVS Exporteer het huidige beeld naar een afbeelding Maak een print-voorbeeld in PDF formaat Maak een rapport van de geselecteerde objecten van 1 laag Wijzig attributen Maak kopie Wijzig geometrie Verwijder object Alle wijzigingen aan een object annuleren Een object goedkeuren Een object aanvaarden Een object afkeuren Een object verwerpen Nieuw object intekenen Bewaar een gewijzigd object
11
Functionaliteit
2. Zijpaneel 2.1. Overzicht
2.2. Specifieke functies Bovenaan het zijpaneel bevindt zich de overzichtskaart, die ten alle tijde weergeeft waarom men zich kan situeren ten opzichte van de gehele kaart. Het is mogelijk het venster te slepen naar een ander deel van de kaart om zo het hoofdvenster van inhoud te doen veranderen. Onder de overzichtskaart worden de lagen en hun eigenschappen weergegeven. Men kan elk van deze lagen zichtbaar of onzichtbaar maken, actief of niet actief zetten en ook al dan niet de labels en/of de geëditeerde objecten tonen. Let op : er kan op elk moment maar één laag tegelijkertijd actief zijn. Op deze laag kan men dan bewerkingen uitvoeren zoals b.v. features selecteren, aanpassen of verwijderen. De lagen worden in dit zijpaneel weergegeven onder de vorm van een boomstructuur. U kan deze naar wens open en dichtklappen, om ervoor te zorgen dat u steeds de informatie kan bekijken omtrent de geweste lagen. Sommige lagen zijn gegroepeerd onder een categorie, zoals in het voorbeeld hierboven de lagen 'Hoofdstraten' en 'Autosnelweg' onder de categorie 'Transport' terug te vinden zijn. Het is mogelijk alle lagen tegelijkertijd af te zetten door bij de categorie de checkbox Zichtbaar te deselecteren. Wanneer we deze daarna terug aanzetten zullen alle lagen die daarvoor op zichtbaar stonden terug op zichtbaar worden gezet.
Als laatste bevindt er zich op dit zijpaneel ook een tabblad "Legende". Door hierop te klikken wordt aan de hand van de getoonde lagen de legende gegenereerd.
3. Detailpaneel 3.1. Overzicht Dit paneel, dat onderaan het scherm staat, bevat de nodige details over wat er zich in het hoofdscherm afspeelt.
12
Functionaliteit
3.2. Navigatie Dit tabblad laat toe snel te kunnen zoeken naar een bepaalde gemeente of een straat binnen een gemeente. Dit gaat als volgt te werk : Selecteer een gemeente uit de eerste keuzelijst (eventueel met hulp van filtering) Selecteer daarna een straat uit de tweede keuzelijst (eventueel met hulp van filtering) De hoofdkaart zal automatisch inzoomen naar de gekozen gemeente en/of straat.
3.3. Zoek Het tabblad "Zoek" bevat een veel uitgebreidere functionaliteit dan het tabblad "Navigatie". Het is namelijk mogelijk te zoek op alle eigenschappen van de lagen die men tijdens de configuratie als "zichtbaar" heeft aangeduidt. Om van start te gaan met zoeken selecteert men eerst een laag (in dit vb : point) Daarna kan men zoek criteria toevoegen aan de zoekfilter. Men doet dit door eerst te definiêren op welk attribuut men wilt zoeken, de gepaste operator te kiezen en een waarde in te vullen. Daarna kan men door op "Voeg criterium toe" te drukken dit criterium toevoegen aan de filter. Men kan dit herhalen tot men de gewenste zoekfilter geformuleerd heeft. Door op "Zoek!" te drukken wordt deze uitgevoerd.
Bovenstaande zoekopdracht heeft als resultaat :
13
Functionaliteit
3.4. Bookmarks Bookmarks, of bladwijzers, houden verschillende kaartbereiken bij. Het is dus mogelijk om naar de veel bezochte plaasten op de kaart door te navigeren.
We overlopen de functionaliteit van dit tabblad. Om een nieuwe bookmark aan te maken, klikt men op de knop "Nieuw" aan de rechterzijde van het tabblad "Bookmarks" of de knop in de toolbar helemaal bovenaan. Er zal gevraagd worden om deze bookmark een naam te geven. Nadat u dit hebt ingevuld zal de bookmark toegevoegd worden aan het einde van de lijst van bookmarks. Het navigeren naar een opgeslagen bookmark kan op 2 manieren gebeuren : 1. Dubbelklik op de gewenste bookmark 2. Klik éénmaal de op de gewenste bookmark en klik daarna op "Zoom naar selectie" Om een opgeslagen bookmark een andere naam te geven selecteerd men eerst een bookmark en drukt men daarna op de knop "Hernoem" Bookmarks kunnen ook onderling van positie veranderen in de lijst. Selecteer hier voor eerst een item uit de lijst en klik naar gewenst "Naar boven" of "Naar beneden" Om een bookmark te verwijderen, kan me deze selecteren uit de lijst en daarna op "Verwijder" klikken De knop "Selecteer alles" selecteert alle bookmarls uit de lijst. De knop "Bewaar" zorgt er voor dat alle bookmarks die in de lijst staan bewaard worden voor de gebruiker, over de sessie heen. Met andere woorden, de volgende keer de gebruiker de applicatie opstart zullen de bookmarks bewaard gebleven zijn.
3.5. Lagen Men kiest de tabel waarvan men de inhoud wilt zien door de naam te selecteren via de keuzelijst. Standaard worden alle features getoond, maar indien gewenst kan men de optie "Toon enkel selectie" aanvinken waardoor enkel hetgeen momenteel geselecteerd is in de tabel zal worden getoond.
14
Functionaliteit
Door te dubbelklikken op een feature in de lijst gaan men over naar het tabblad "Details" voor die feature.
3.6. Detail
Geeft de attributen weer van een feature. Deze kunnen gewijzigd worden door op de knop "Wijzig" te klikken. Een popup zoals deze zal tevoorschijn komen :
15
Functionaliteit
Hier kunt u de waarden aanpassen en deze daarna opslaan door op de knop "Opslaan" te klikken.
4. Editeren 4.1. Nieuw object intekenen Om een nieuw object in te tekenen selecteert men een laag en zet deze op actief. Vervolgens kiest men het icoon met het potlood uit de werkbalk bovenaan. Naar gelang de laag kan men dan een punt, een lijn of een polygoon beginnen tekenen. Voor een polygoon ziet dit er dan als volgt uit :
16
Functionaliteit
Om de vorm van dit nieuwe object op te slaan sluit men af met het diskettesymbool in de polygon zelf. Er zal een pop up verschijnen waarin de attributen van de nieuwe feature moeten ingevuld worden. Men kiest dan voor opslaan. Er wordt bij het aanmaken van een nieuw object gebruik gemaakt van een techniek die men "snapping" heet, dit wil zeggen dat de geometrische figuren die u tekent geneigd zullen zijn aan te sluiten bij de bestaande, hetgeen het makkelijker maakt figuren te tekenen.
4.2. Een bestaan object editeren Men kan van een bestaande featuren zowel de geometrie als de eigenschappen van de attributen aanpassen. Men dien hiervoor de bijbehorende knop uit de menubalk te selecteren en daarna het object aanduiden. Voor het wijzigen van de eigenschappen van de attributen zal een popup verschijnen, waarin men de waarden kan aanpassen en daarna kan opslaan. Voor de geometrische vorm vorm aan te passen kiest men voor het bijbehorende icoon in de menubalk en selecteert men daarna het object. Net als bij het intekenen kan men nu de figuur aanpassen. Men kan punten bijmaken door op het laatst aangemaakte punt van de figuur te klikken en deze verder uit te breiden. Verden kan men alle punten van plaats veranderen. Opslaan gebeurt opnieuw door op de disketten in de polygon zelf te klikken
4.3. Een object copiëren Men kan ee object copiëren door eerst bijhorden knop te klikken en daarna het object te selecteren. Er zal dan gevraagd worden de waarden van de attributen van dit nieuwe object in te vullen, waarna het opgeslagen wordt.
4.4. Goedkeuren, aanvaarden, afkeuren & verwerpen Bij wijze van controle is het mogelijk nieuwe ingetekende objecten goed te keuren, te aanvaarden, af te keuren of te verwerken. Dit gebeurt steeds met 1 stap tegelijk, maw een object moet steeds eerst goedgekeurd worden voor men het kan aanvaarden. Elk van deze acties kan men starten door uit het menu de corresponderen actie te selecteren en daarna het object aan te klikken.
17
Hoofdstuk 4. Troubleshooting 1. Configuratie problemen 2. GUI problemen Grote witte balk rond SVG : In control panel->display->settings->advanced->DPI setting->Normal size kiezen ipv Large size
2.1.
18
Hoofdstuk 5. Bijlagen 1. Technische documentatie 1.1. Programmastructuur 1.1.1. Server-side Web.xml : basis van algemene webapplicatie, verwijst door naar : Struts-ggis-config.xml : bevat de pageforwards, gebruikt struts (actionforward) Start een actie (van het type be.ggis.action.GGISAction) application.do : start de applicatie die als parameter meegegeven wordt b.v. : application.do?demo start de demo applicatie application is een instantie van de klasse Application, wordt aangemaakt via de application catalog Dit application objet bevat de user rechten en naar gelang van de rechten nog extra informatie. Het application object wordt daarna opgeslagen in de ApplicationController. Opzetten van RMPC Bridge via JSON : be.ggis.command.ApplicationController Deze klasse zorgt ervoor dat de commands die via de client binnenkomen naar de server worden doorgegeven. mapping.forward (APPLICATION_PAGE) via de actie wordt de controle van de pagina overgeheveld naar de frontend.
1.1.2. Client-side WebContent/js Vermits de pagina niet kan/mag refreshen, is de besturing van de (thin) client in javascript opgebouwd. Er is gebruik gemaakt van het dojo framework ( http://dojotoolkit.org ) een javascript toolkit. De client zal via de js klasse GetConfigurationCommand een applicatie object aanvragen aan de server. Hiermee zullen dan aan de client kant ook objecten worden aangemaakt die overeenkomen met de objecten aan de server kant. Dit gebeurt eveneens met JSON : be.ggis.command.jsondata
2.
19
Hoofdstuk 6. Serverside deployment Het deployen of opzetten van de applicatie op een server is niet triviaal. Dit wordt dan ook best aan specialisten over gelaten. Hieronder komt een overzicht van de stappen die essentieëel zijn voor een goede werking van de applicatie op de server.
1. Server prerequisits Om de applicatie op de server te installeren moete deze voldoen aan een aantal voorwaarden.
1.1. Algemeen De voornaamste vereiste voor de server om de geGIS applicatie te kunnen draaien is het gebruik van Apache Tomcat. Bij de ontwikkeling en de oplevering werd er gekozen voor versie 5.5.17, maar geGIS zou ook compatibel moeten zijn met sommige vorige en volgdende versies. Het is wel mogelijk dat hiervoor dan (kleine) aanpassingen gedaan moeten worden in de code. Verder wordt er ook vanuit gegaan dat men data van en naar de server kan overbrengen via FTP.
1.2. Situatie Ahrom Sun Solaris OS 5.10 Apache tomcat 5.5.17 Proxy omwille van beveiligings redenen Oracle DB
2. Over zetten van de configuratie van de applicatie (ie aanmaken van een nieuw loket) We gaan er van uit dat er op de server een applicatie gedeployed is. We zullen gebruik maken van de datastores die voorzien zijn in de applicatie voor de bepaalde server. Deze kan men terugvinden in WEB-INF/ catalog.xml
2.1. Benodigde files Featuretypes : mappen met daarin de .xml files Pas de datastore hier aan zodat deze overeenkomt met die op de server. In dit vb : OracleDS en de naam in HOOFDLETTERS zetten Kopieer de featuretype map naar /opt/pakket/apache-tomcat5.5.17/webapps/geGIS/data/featuretypes (cp -r ... ) In /applications de svg file van de applicatie copiëren. Gebruikers voor de applicatie definieëren. In de file ggis.xml de users configureren.
2.2. Aan te passen files op de server data/geGIS/ggis-catalog.xml : toevoegen met alle lagen in
20
Serverside deployment
Onderaan : applicatie toevoegen bij appurls
3. Overzetten van de databank gegevens 3.1. Algemeen 3.2. Oracle databank Inladen shapefile : (in dit vb: oracle usernam = ggis, pwd = ggistem, laag = provincies) Unzip (eventueel) : unzip filename.zip Opmerking : files eigenaar veranderen door : " chown -R oracle * " en daarna " chmod 755 * "in de directory met shape files Gebruik de instructies zoals beschreven in : upladen shapefiles in oracle ./shp2sdo .... sqlplus ggis ggistem @provincies.sql (om sql uit te voeren) Check de NUMERIC CHARACTERS sqlldr ggis/ggistem provincies sqlplus terug uitvoeren en migratie doen & indexen creëren
21
Hoofdstuk 7. Configuratie van een nieuwe applicatie Checklist voor het succesvol opzetten van een applicatie Hoofdpunten : 1. Data aanwezig op de server (onder de vorm van een shapefile, tabel in de databank...) OF link naar externe dataserver (bvb WMS) 2. Datastore correct gedefiniëerd 3. Featuretype aanwezig 4. Definitie van de applicatie viewable & identifying attributes correct gedefiniëerd 5. Correcte koppeling tussen datastore en featuretype 6. De gebruikers
1. Data aanwezig In het geval van een Oracle databank (of soortgelijke dmv SQL toegankelijkde databank) : controleer met de tool 'sqlplus' of de data aanwezig is in de databank en deze correct is opgeladen. Voor meer informatie zie de sectie ivm het opladen van shapefiles in de databank : ... LINK TODO ... Door gebruik te maken van het commando 'desc TABLENAME' kunt u zien welke kolommen er aanwezig zijn in de tabel. Door het commando 'select (count *) from TABLENAME' kunt u zien of er ook effectief data in deze tabel zit.
2. Datasores De datastores worden hier beschreven. Belangrijk om te weten is dat voor een ORACLE databank er maar 1 datastore moet zijn, voor alle tabellen in de databank. Voor een shapefile moet er echter voor elke shapefile afzonderlijk een datastore worden aangemaakt. Het is belangrijk de namespace te onthouden van de datastore die u gaat willen gebruiken. Het is hiervan dat er in de application.xml (de definitie van de applicatie) gebruik zal gemaakt worden. Evenzeer is het belangrijk het id van de datastore te onthouden, deze gaan we gebruiken om een featuretype aan te maken.
3. Featuretypes In de map data/featureTypes bevinden zich mappen met daarin een info.xml file. Elk van deze mappen en bijbehorende xml file stelt een laag voor. De algemene beschrijving is hier terug te vinden. We herhalen wat de aandachtspunten zijn waarop gelet dient te worden. Om makkelijk te werken gebruiken we de volgende naamconventie : de naam van de map = naam van de datastore_naam van de tabel Noot : Oracle is case-sensitive (hoofdlettergevoelig : 'a' is niet gelijk aan 'A' ). Alle tabellen en attributen worden in de databank opgeslaan in hoofdletters!
22
Configuratie van een nieuwe applicatie Een voorbeeld van een featureType map is : OracleDS_PROVINCIES De inhoud van de info.xml file koppelt de tabel in de databank (van de in de info.xml vermelde datastore) aan dit featureType. In hetzelfde voorbeeld voor de provincielaag ziet dit er als volgt uit : PROVINCIES ...
4. Definitie van de applicatie Zoals hier beschreven vormt het bestand application.xml de kern van de beschrijving van de applicatie. Zoals daar beschreven moeten een aantal basiskenmerken van de applicatie worden beschreven als ook de definitie van de lagen. De belangrijkste parameter daar is : . => namespace:TABLENAME
4.1. Attributen Bij het oplijsten van de identifyingAttributes en de viewableAttributes is het belangrijk dat de exacte naam van de tabel vermeld wordt. Let dus bij Oracle op voor hoofdletters! attributeLabel is hoe het attribuut in de applicatie zal heten. attributeName is hoe het attribuut in de databank heet.
5. Koppeling Bij wijze van samenvatting herhalen we hier nog even waar op gelet moet worden om een laag aan de praat te krijgen : • Datastore : Definiëer de namespace en het id van de datastore. • FeatureType : datastore = "id van de datastore" name = NAAM van de tabel (Oracle = HOOFDLETTERS) • Application.xml : Voor elke laag => featureType = naam van de namespace (zoals gedefiniëerd in de datastore), gevolgd door een ' : ' en dan de naam van de tabel (in HOOFDLETTERS voor Oracle) Attributen : namen tabellen in HOOFDLETTERS (voor Orcale)
6. Gebruikers Een enkele xml file voor elke gebruiker. In de application.xml wordt hiernaar verwezen. Vb : in de file ggis.xml wordt voor de gebruiker ggis beschreven tot welke applicaties hij toegang heeft en welke bookmarks hij in die applicatie heeft.