Google+ Followers

zondag 17 juli 2011

Lean and mean Linux GIS machine (deel 2)

In de vorige blog heb ik laten zien hoe je binnen 10 minuten een geheel op Open Source gebaseerde variant van ArcGIS server/ArcIMS kunt installeren. In dit deel zal ik laten zien hoe je eenvoudig een WMS/WFS service kunt aanmaken.

Desktop GIS
De meeste GISsers in Nederland maken aan de desktopkant gebruik van ArcGIS, MapInfo, AutoCad of andere commerciƫle producten. In de Open Source wereld bestaan ook verschillende desktop GIS pakketten. Dit zijn bijvoorbeeld Quantum GIS, MapWindow GIS (alleen Windows platform), OpenJUMP GIS en uDig.
Ik zal in deze blogs gebruik maken van uDig (User-friendly Desktop Internet GIS), omdat dit standaard de meest gebruikte GIS opslagformaten ondersteunt, zoals PostGIS, SDE, Oracle Spatial en Shapes. Ook is de SLD (Styled Layer Descriptor) ondersteuning in uDig perfect, en zowel Geoserver als uDig gebruikt dit voor het cartografisch opmaken van GIS gegevens.

Downloaden en aan de slag
Om te beginnen hebben we voorbeeld gegevens nodig, dus we downloaden bij het CBS het bestand met buurtgegevens uit 2007. Pak dit bestand uit in een willekeurige map, bijvoorbeeld /home/richard/data.
Nu gaan we uDig versie 1.2.2 downloaden, dit kan op dit adres. Kies het bestand dat past bij je eigen platform, voor mij is dit het bestand Linux x86_64 Zip. Pak dit bestand uit in de map apps die we in deel 1 hebben gemaakt, en je ziet een nieuwe map met de naam udig. In de map udig staat het bestand udig.sh (dit is op Windows/OSX anders), en dubbelklik op dit bestand of voer het uit in een terminal met ./udig.sh.


Welkom bij uDig

Werken met uDig
Ik ga hier niet alle functies van uDig bespreken, maar ik geef globaal aan hoe je data kan toevoegen en deze op een bepaalde manier kan presenteren. Als je meer wilt weten over uDig is mijn ervaring om het gewoon uit te proberen, want dat is de beste leerschool.
We gaan nu het shape bestand gem_2007_gn2 toevoegen aan uDig:
- Kies in het menu voor Layer, daarna voor Add, in het nieuwe venster voor Files en klik op Next.
- Blader nu in het nieuwe venster naar de map data waar de bestanden staan, en kies voor het bestand gem_2007_gn2.shp en klik op OK. En je ziet het onderstaande beeld.


Alle gemeenten van Nederland in uDig

- We gaan nu de gegevens van de gemeenten op een andere presenteren. Bijvoorbeeld het percentage inwoners van een gemeente tussen de 15 en 24 jaar.
- Klik in het Layer venster op het schilderspalet, kies in het nieuwe venster voor Theme.



- Kies bij Attribute voor P_15_24_JR, Classes voor 10, Break voor Unique Values en bij Palette voor Spectral, en klik op OK. En de gegevens zien er nu zo uit.


Percentage leeftijd tussen de 15 en 24 jaar per gemeente

De gegevens publiceren met Geoserver
De gegevens die we hier presenteren kunnen voor andere gebruikers ook interessant zijn. Dus gaan we de gegevens publiceren via internet. Dus gaan we naar onze Geoserver uit deel 1. Open een webbrowser een ga naar de URL http://localhost:8080/geoserver/ en login met de gebruiker admin met het wachtwoord geoserver.
- Klik in het beginscherm van Geoserver op Workspaces. Klik in het nieuwe scherm op Add new workspace, vul in bij name: publiek en bij namepspace URI: http://publiek.org en klik op submit.



- Klik nu aan de linkerkant op Stores. Klik in het nieuwe scherm op Add new Store. Kies in het nieuwe scherm op Shapefile. Kies in het nieuw scherm bij workspace voor publiek, vul bij Data Source Name in: gemeenten2007, vul bij Description in: Gemeenten Nederland 2007 en klik bij Shapefile location op Browse. Blader nu naar de map waar het bestand gem_2007_gn2.shp staat en klik op Save.



- Klik in het nieuwe scherm op Publish achter de naam gem_2007_gn2. Er verschijnt nu een scherm met verschillende publiceer instellingen. We stellen nu alleen het Declared SRS in op EPSG:28991 via Find, en de Native Bounding Box en de Lat/Lon Bounding Box via de optie Compute. Klik helemaal onderaan het scherm op Save.
- Klik nu aan de linkerkant op Layer Preview, zoek publiek:gem_2007_gn2 en klik dan rechts op OpenLayers. Gefeliciteerd, je eerste WMS service verschijnt in een nieuw webrowser venster :).


Je eerste WMS service :)

De service aanpassen
De WMS service ziet er mooi uit met een grijze kleur. Nu willen we het presenteren zoals we het in uDIg hebben gemaakt. En dat doen we dus d.m.v. SLD.
- Klik in weer op het schilderspalet, en kies in het nieuwe venster voor XML. Selecteer alle SLD XML code en kopieer dit naar het klembord.



- Klik nu in Geoserver links op Styles, en klik in het nieuwe scherm op Add a new Style. Vul in het nieuwe venster bij naam: percentage1524, en plak de SLD XML code in het editorvenster. Klik nu onderin het venster op Submit.
- Klik nu links op Layers, en zoek in het nieuwe scherm naar de layer gem_2007_gn2. Klik op de naam en de eigenschappen van de layer worden getoond. Kies bovenin voor Publishing, en kies in het nieuwe scherm bij Default Style voor percentage1524, en klik onderaan het scherm op Save.
- Klik nu links weer op Layer Preview, zoek gem_2007_gn2 en klik op OpenLayers. Je ziet de gegevens nu zoals we ze willen presenteren.


Je eerste WMS anders gepresenteerd

En nu de boel serveren
We werken nu lokaal op onze eigen PC/Notebook, maar als Geoserver op een webserver staat, is de werking precies hetzelfde. Dus nu wil je graag dat iemand WMS kan gebruiken binnen uDig.
- Kies in uDig in het menu voor Layer, kies dan Add en kies in het nieuwe venster voor Web Map Server en klik op Next. In het nieuw venster vul je de URL naar de WMS service in, in ons geval http://localhost:8080/geoserver/publiek/wms en klik op Next. Nu verschijnt er een venster met alle gegevens binnen de WMS, in ons geval maar 1, dus kies hier gem_2007_gn2.
- Er wordt nu een laag met onze WMS gegevens toegevoegd, het kan zijn dat je nog even de juiste projectie gegevens moet instellen. Dit doe je door onder het kaartje in uDig op RD_NEW te klikken, en in het nieuwe venster te zoeken op 28992 en op OK te klikken.

Tot slot, veel Linux en Open Source plezier :).

Geen opmerkingen:

Een reactie posten