<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wiki-Gmcferren</id>
	<title>OSGeo - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wiki-Gmcferren"/>
	<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/wiki/Special:Contributions/Wiki-Gmcferren"/>
	<updated>2026-04-13T21:28:48Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Gmcferren&amp;diff=88795</id>
		<title>Gmcferren</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Gmcferren&amp;diff=88795"/>
		<updated>2015-11-23T09:15:44Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: Created page with &amp;quot;{{OSGeo Member |Name=Graeme McFerren |Address=Building 43C, CSIR Campus, Meiring Naude Drive, Brummeria |Country=South Africa |State=Gauteng |City=Pretoria |Coordinate=-25.753...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OSGeo Member&lt;br /&gt;
|Name=Graeme McFerren&lt;br /&gt;
|Address=Building 43C, CSIR Campus, Meiring Naude Drive, Brummeria&lt;br /&gt;
|Country=South Africa&lt;br /&gt;
|State=Gauteng&lt;br /&gt;
|City=Pretoria&lt;br /&gt;
|Coordinate=-25.7530499, 28.2818967&lt;br /&gt;
|LocalChapter=OSGeoAfrica&lt;br /&gt;
|Email=gmcferren@csir.co.za&lt;br /&gt;
|Website=grimmeister.wordpress.com&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=FOSS4G_2010_Breakout_Sessions&amp;diff=49652</id>
		<title>FOSS4G 2010 Breakout Sessions</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=FOSS4G_2010_Breakout_Sessions&amp;diff=49652"/>
		<updated>2010-08-23T18:34:51Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Participant List for Sensor Web BoF */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FOSS4G]]&lt;br /&gt;
[[Category:FOSS4G2010]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
During the [http://2010.foss4g.org/ FOSS4G2010 conference] in Barcelona, Spain, there will be conference rooms available for people to hold Breakout Sessions (aka Birds-of-a-Feather).&lt;br /&gt;
&lt;br /&gt;
Breakout Sessions sessions are unstructured timeslots where people can self-organise themselves to discuss topics of interest.&lt;br /&gt;
&lt;br /&gt;
This year, Breakout Sessions sessions will be held on Wednesday 8th September ('''and possibly at other times as well - depending on interest''').  A number of rooms will be available.  Most popular sessions will get bigger rooms.&lt;br /&gt;
&lt;br /&gt;
'''Room allocation to be determined'''&lt;br /&gt;
&lt;br /&gt;
==Organising Contact==&lt;br /&gt;
* Tyler Mitchell&lt;br /&gt;
* Other volunteers welcome - sign up here!&lt;br /&gt;
&lt;br /&gt;
==Timeslots Available==&lt;br /&gt;
&lt;br /&gt;
At this stage, each room is scheduled for one hour between 18:00 to 19:00.&lt;br /&gt;
&lt;br /&gt;
Remember the Gala Dinner is scheduled at 20:00.&lt;br /&gt;
&lt;br /&gt;
==Rooms Available==&lt;br /&gt;
* To be determined&lt;br /&gt;
&lt;br /&gt;
== Proposed Topics ==&lt;br /&gt;
* Add yours below...&lt;br /&gt;
&lt;br /&gt;
===WPS BoF===&lt;br /&gt;
&lt;br /&gt;
Several presentation on Web Processing selected &lt;br /&gt;
for presentation at FOSS4G2010 indicates a growing&lt;br /&gt;
interest amongst the communities.&lt;br /&gt;
&lt;br /&gt;
I would like to propose an WPS Bof (Breakout Session)&lt;br /&gt;
on 8th September 2010 between 18:00 to 19:00.&lt;br /&gt;
&lt;br /&gt;
If you are interested please add your names below&lt;br /&gt;
&lt;br /&gt;
==== Participant List for WPS BoF ====&lt;br /&gt;
&lt;br /&gt;
* Venkatesh Raghavan&lt;br /&gt;
* [[Markus Neteler]]&lt;br /&gt;
* [[Daniel Kastl]]&lt;br /&gt;
* Maria Brovelli&lt;br /&gt;
* [[Ian Turton]]&lt;br /&gt;
* [[Gerald Fenoy]]&lt;br /&gt;
* Nicolas Bozon&lt;br /&gt;
* [[Jody Garnett]]&lt;br /&gt;
* [[User:fpenarru | Fran Peñarrubia]]&lt;br /&gt;
* [[User:MarkusSchneider | Markus Schneider]]&lt;br /&gt;
* Luca Delucchi&lt;br /&gt;
* Milan Antonovic&lt;br /&gt;
* [[User:Maxi71 | Massimiliano cannata]]&lt;br /&gt;
* Add your name here&lt;br /&gt;
&lt;br /&gt;
===Sensor Web BoF===&lt;br /&gt;
&lt;br /&gt;
The use of Sensor Web implementations has constantly increased during the last years. Thus, I would like to propose a Sensor Web BoF Breakout Session&lt;br /&gt;
on Wednesday, 8th September 2010 between 18:00 to 19:00.&lt;br /&gt;
&lt;br /&gt;
If you are interested please add your names below&lt;br /&gt;
&lt;br /&gt;
==== Participant List for Sensor Web BoF ====&lt;br /&gt;
&lt;br /&gt;
* Simon Jirka&lt;br /&gt;
* Marjorie Robert &lt;br /&gt;
* [[User:Maxi71 | Massimiliano cannata]]&lt;br /&gt;
* Graeme Mcferren&lt;br /&gt;
* Add your name here&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=FOSS4G_2010_Breakout_Sessions&amp;diff=49651</id>
		<title>FOSS4G 2010 Breakout Sessions</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=FOSS4G_2010_Breakout_Sessions&amp;diff=49651"/>
		<updated>2010-08-23T18:33:29Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Participant List for Sensor Web BoF */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FOSS4G]]&lt;br /&gt;
[[Category:FOSS4G2010]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
During the [http://2010.foss4g.org/ FOSS4G2010 conference] in Barcelona, Spain, there will be conference rooms available for people to hold Breakout Sessions (aka Birds-of-a-Feather).&lt;br /&gt;
&lt;br /&gt;
Breakout Sessions sessions are unstructured timeslots where people can self-organise themselves to discuss topics of interest.&lt;br /&gt;
&lt;br /&gt;
This year, Breakout Sessions sessions will be held on Wednesday 8th September ('''and possibly at other times as well - depending on interest''').  A number of rooms will be available.  Most popular sessions will get bigger rooms.&lt;br /&gt;
&lt;br /&gt;
'''Room allocation to be determined'''&lt;br /&gt;
&lt;br /&gt;
==Organising Contact==&lt;br /&gt;
* Tyler Mitchell&lt;br /&gt;
* Other volunteers welcome - sign up here!&lt;br /&gt;
&lt;br /&gt;
==Timeslots Available==&lt;br /&gt;
&lt;br /&gt;
At this stage, each room is scheduled for one hour between 18:00 to 19:00.&lt;br /&gt;
&lt;br /&gt;
Remember the Gala Dinner is scheduled at 20:00.&lt;br /&gt;
&lt;br /&gt;
==Rooms Available==&lt;br /&gt;
* To be determined&lt;br /&gt;
&lt;br /&gt;
== Proposed Topics ==&lt;br /&gt;
* Add yours below...&lt;br /&gt;
&lt;br /&gt;
===WPS BoF===&lt;br /&gt;
&lt;br /&gt;
Several presentation on Web Processing selected &lt;br /&gt;
for presentation at FOSS4G2010 indicates a growing&lt;br /&gt;
interest amongst the communities.&lt;br /&gt;
&lt;br /&gt;
I would like to propose an WPS Bof (Breakout Session)&lt;br /&gt;
on 8th September 2010 between 18:00 to 19:00.&lt;br /&gt;
&lt;br /&gt;
If you are interested please add your names below&lt;br /&gt;
&lt;br /&gt;
==== Participant List for WPS BoF ====&lt;br /&gt;
&lt;br /&gt;
* Venkatesh Raghavan&lt;br /&gt;
* [[Markus Neteler]]&lt;br /&gt;
* [[Daniel Kastl]]&lt;br /&gt;
* Maria Brovelli&lt;br /&gt;
* [[Ian Turton]]&lt;br /&gt;
* [[Gerald Fenoy]]&lt;br /&gt;
* Nicolas Bozon&lt;br /&gt;
* [[Jody Garnett]]&lt;br /&gt;
* [[User:fpenarru | Fran Peñarrubia]]&lt;br /&gt;
* [[User:MarkusSchneider | Markus Schneider]]&lt;br /&gt;
* Luca Delucchi&lt;br /&gt;
* Milan Antonovic&lt;br /&gt;
* [[User:Maxi71 | Massimiliano cannata]]&lt;br /&gt;
* Add your name here&lt;br /&gt;
&lt;br /&gt;
===Sensor Web BoF===&lt;br /&gt;
&lt;br /&gt;
The use of Sensor Web implementations has constantly increased during the last years. Thus, I would like to propose a Sensor Web BoF Breakout Session&lt;br /&gt;
on Wednesday, 8th September 2010 between 18:00 to 19:00.&lt;br /&gt;
&lt;br /&gt;
If you are interested please add your names below&lt;br /&gt;
&lt;br /&gt;
==== Participant List for Sensor Web BoF ====&lt;br /&gt;
&lt;br /&gt;
* Simon Jirka&lt;br /&gt;
* Marjorie Robert &lt;br /&gt;
* [[User:Maxi71 | Massimiliano cannata]]&lt;br /&gt;
* [[User:Gmcferren | Graeme Mcferren]]&lt;br /&gt;
* Add your name here&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=FOSS4G_2010_Breakout_Sessions&amp;diff=49650</id>
		<title>FOSS4G 2010 Breakout Sessions</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=FOSS4G_2010_Breakout_Sessions&amp;diff=49650"/>
		<updated>2010-08-23T18:33:05Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Participant List for Sensor Web BoF */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FOSS4G]]&lt;br /&gt;
[[Category:FOSS4G2010]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
During the [http://2010.foss4g.org/ FOSS4G2010 conference] in Barcelona, Spain, there will be conference rooms available for people to hold Breakout Sessions (aka Birds-of-a-Feather).&lt;br /&gt;
&lt;br /&gt;
Breakout Sessions sessions are unstructured timeslots where people can self-organise themselves to discuss topics of interest.&lt;br /&gt;
&lt;br /&gt;
This year, Breakout Sessions sessions will be held on Wednesday 8th September ('''and possibly at other times as well - depending on interest''').  A number of rooms will be available.  Most popular sessions will get bigger rooms.&lt;br /&gt;
&lt;br /&gt;
'''Room allocation to be determined'''&lt;br /&gt;
&lt;br /&gt;
==Organising Contact==&lt;br /&gt;
* Tyler Mitchell&lt;br /&gt;
* Other volunteers welcome - sign up here!&lt;br /&gt;
&lt;br /&gt;
==Timeslots Available==&lt;br /&gt;
&lt;br /&gt;
At this stage, each room is scheduled for one hour between 18:00 to 19:00.&lt;br /&gt;
&lt;br /&gt;
Remember the Gala Dinner is scheduled at 20:00.&lt;br /&gt;
&lt;br /&gt;
==Rooms Available==&lt;br /&gt;
* To be determined&lt;br /&gt;
&lt;br /&gt;
== Proposed Topics ==&lt;br /&gt;
* Add yours below...&lt;br /&gt;
&lt;br /&gt;
===WPS BoF===&lt;br /&gt;
&lt;br /&gt;
Several presentation on Web Processing selected &lt;br /&gt;
for presentation at FOSS4G2010 indicates a growing&lt;br /&gt;
interest amongst the communities.&lt;br /&gt;
&lt;br /&gt;
I would like to propose an WPS Bof (Breakout Session)&lt;br /&gt;
on 8th September 2010 between 18:00 to 19:00.&lt;br /&gt;
&lt;br /&gt;
If you are interested please add your names below&lt;br /&gt;
&lt;br /&gt;
==== Participant List for WPS BoF ====&lt;br /&gt;
&lt;br /&gt;
* Venkatesh Raghavan&lt;br /&gt;
* [[Markus Neteler]]&lt;br /&gt;
* [[Daniel Kastl]]&lt;br /&gt;
* Maria Brovelli&lt;br /&gt;
* [[Ian Turton]]&lt;br /&gt;
* [[Gerald Fenoy]]&lt;br /&gt;
* Nicolas Bozon&lt;br /&gt;
* [[Jody Garnett]]&lt;br /&gt;
* [[User:fpenarru | Fran Peñarrubia]]&lt;br /&gt;
* [[User:MarkusSchneider | Markus Schneider]]&lt;br /&gt;
* Luca Delucchi&lt;br /&gt;
* Milan Antonovic&lt;br /&gt;
* [[User:Maxi71 | Massimiliano cannata]]&lt;br /&gt;
* Add your name here&lt;br /&gt;
&lt;br /&gt;
===Sensor Web BoF===&lt;br /&gt;
&lt;br /&gt;
The use of Sensor Web implementations has constantly increased during the last years. Thus, I would like to propose a Sensor Web BoF Breakout Session&lt;br /&gt;
on Wednesday, 8th September 2010 between 18:00 to 19:00.&lt;br /&gt;
&lt;br /&gt;
If you are interested please add your names below&lt;br /&gt;
&lt;br /&gt;
==== Participant List for Sensor Web BoF ====&lt;br /&gt;
&lt;br /&gt;
* Simon Jirka&lt;br /&gt;
* Marjorie Robert &lt;br /&gt;
* [[User:Maxi71 | Massimiliano cannata]]&lt;br /&gt;
* [[User:Gmcferren | Graeme McFerren]]&lt;br /&gt;
* Add your name here&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Africa_Local_Chapter&amp;diff=45795</id>
		<title>Africa Local Chapter</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Africa_Local_Chapter&amp;diff=45795"/>
		<updated>2010-03-02T06:23:46Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Role Players */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The OSGeo Africa Local Chapter, which started out as a mailing list in 2005, is now in the formal establishment process as per [[Local_Chapter_Guidelines]] after a successful FOSS4G 2008 in Cape Town. This page is where planning for that is taking place. &lt;br /&gt;
&lt;br /&gt;
We already have a 'home' with [http://www.gissa.org.za/gissa/sig/opensource/ GISSA] so we do not need to form a new association. At the moment that consists of turning the extant GISSA FOSS SIG (Special Interest Group) into the OSGeo Africa Local Chapter, with a seat on the GISSA National Council and access to the GISSA website, meetings and other resources.  &lt;br /&gt;
&lt;br /&gt;
Please join the [http://lists.osgeo.org/mailman/listinfo/africa Africa] mailing list, and review the [http://lists.osgeo.org/pipermail/africa/ archive].&lt;br /&gt;
== Our logo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:OSGeoAfrica logo75dpi.png]] Low res version&lt;br /&gt;
&lt;br /&gt;
[[Image:OSGeoAfrica logo300dpi.png‎|500px|thumb]] 300dpi version&lt;br /&gt;
&lt;br /&gt;
== A RoadMap for OSGeo Africa ==&lt;br /&gt;
&lt;br /&gt;
=== What is needed ===&lt;br /&gt;
&lt;br /&gt;
Some common refrains from amongst the people I spoke to at FOSS4G2008:&lt;br /&gt;
&lt;br /&gt;
* we don't know what FOSS GIS products exist&lt;br /&gt;
* how do we choose between two or more competing FOSS GIS products that do the same thing&lt;br /&gt;
* how can we get training in FOSS GIS&lt;br /&gt;
* how do we migrate our existing set up to FOSS GIS&lt;br /&gt;
* how can we get (PAID and otherwise) support for FOSS GIS&lt;br /&gt;
* where can we get free data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There were also some heartwarming success stories of people who have already adopted FOSS in their businesses and municiplities etc. For me when I review the above laundry list of concerns and questions it becomes very obvious that we need to become organised. &lt;br /&gt;
&lt;br /&gt;
=== Getting organised ===&lt;br /&gt;
&lt;br /&gt;
As such I would like to take the initiative to propose that we form a 5 person working group to start to put things in place. Since I am proposing this, I obviously volunteer to be one of the members and I call on others on this list or beyond to answer this call to arms. The idea of the 5 person working group will be to bootstrap ourselves into an effective organisation which can make its presence felt both locally and beyond the shores of Africa. I also realise that this proposal may not be perfect so consider it a start that we can build on rather than a plan that has to be cast in stone. The main idea will be that each working group member will try to form a small team, typically of 5 members including the team member. Here follows a proposal for a team that will enable us to get organised and effective.&lt;br /&gt;
&lt;br /&gt;
'''Advocacy Leader:'''&lt;br /&gt;
&lt;br /&gt;
People don't know they have FOSS alternatives - we need to make them aware - including by making press releases, press materials, attending industry events, making contact with academic, municipal and state bodies and letting them know we exist and want to collaborate.&lt;br /&gt;
&lt;br /&gt;
Volunteer: Tim Sutton &amp;lt;tim at linfiniti.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Education Leader:'''&lt;br /&gt;
&lt;br /&gt;
We need to get FOSS GIS into schools, and provide open (e.g. creative commons) curricula. In the case of South Africa the National Curriculum Statement on Geography provides some (albeit vague) guidelines on how GIS should be included in the school curriculum (there is a link to this document on the GISSA website: [http://www.gissa.org.za/sig/education/school-gis School GIS]).&lt;br /&gt;
&lt;br /&gt;
Volunteer: ?&lt;br /&gt;
&lt;br /&gt;
'''Training Leader:'''&lt;br /&gt;
&lt;br /&gt;
* We need to train people to use FOSS GIS.&lt;br /&gt;
* First we need to train create a tier of experts / power users, second they need to train people in their local areas. &lt;br /&gt;
* We need to start  this &amp;quot;&amp;quot;soon&amp;quot;&amp;quot;. &lt;br /&gt;
* We need to do this on a free / cost recovery basis. &lt;br /&gt;
* We need to establish suitable venues in each regional center that can be used for training. &lt;br /&gt;
* We need to build up sets of Free (unencumbered) data that can be used by anyone&lt;br /&gt;
* We need to build up training materials that can be used to ease the process of training people.&lt;br /&gt;
&lt;br /&gt;
Volunteer Leader: ?&lt;br /&gt;
&lt;br /&gt;
'''Professional Support Leader:'''&lt;br /&gt;
&lt;br /&gt;
We need to create a body of professionals who can provide on the ground support - there is a huge business opportunity here - we need to take advantage.  We will call this the OSGeo Africa Professional Association (or something along those lines).  The group will among other things provide a directory of FOSS support and solution providers (along with their location). The group will act as an advisory body to organisations wishing to deploy FOSS GIS. We are floating the idea of forming a Cooperative to organise ourselves professionally See under 'Cooperatives development' in the left panel of http://www.dti.gov.za/. &lt;br /&gt;
&lt;br /&gt;
If you or your organisation provide any type of professional service already, get your details onto the OSGeo [[SPD|Service Provider Directory]] as a start. &lt;br /&gt;
&lt;br /&gt;
Volunteer: Brendon Wolff-Piggott &amp;lt;brendon AT integratedgeodata.co.za&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Community Leader:'''&lt;br /&gt;
&lt;br /&gt;
We need to build a community - this means building up a responsive, friendly mailing list. We also need to curate our area on the OSGeo wiki and build up other online resources that will allow new and established members in the OSGeo AFRICA community to find up to date relevant and helpful information to address their needs.&lt;br /&gt;
&lt;br /&gt;
Volunteer: ?&lt;br /&gt;
&lt;br /&gt;
=== Skills development strategy ===&lt;br /&gt;
&lt;br /&gt;
I'm thinking that since we are starting pretty much from ground zero we need to structure things in a 'knowledge ladder':&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                                      4 - Becoming a FOSSGIS developer&lt;br /&gt;
                         3 - Becoming a FOSSGIS Expert&lt;br /&gt;
           2 -  Becoming a FOSSGIS User&lt;br /&gt;
 1 - FOSSGIS Familiarisation&lt;br /&gt;
&lt;br /&gt;
My suggestion is that we do a first round of workshops which basically introduce a FOSSGIS software stack to users so the can understand what can be achieved with FOSSGIS. Following that we can continue with a next round where we start building skills in particular products e.g. a day training on postgis, followed by a day on QGIS etc etc. Of course we need not expect everyone to reach level 4. although it is my hope that we can build a caucus of FOSSGIS developers in Africa so that we can play a role in shaping the future of FOSSGIS and also building up our own local skills.&lt;br /&gt;
&lt;br /&gt;
The workshops can be repeated as demand dictates. Currently there is interest in Jhb, Cape Town, and now with your email Durbs. I thing the folks in East London may be interested too. It would be great if we can establish regional user groups that can eventually do the local organisation for workshops and then presenters can visit different regions and not have to manage all the arrangements solo. But to start lets aim to do 3 or 4 introductory workshops and work on from there. Workshops would be carried out at no charge for as long as we can sustain it - and we could look at ways to raise funds in order to make it sustainable - possible the likes of SITA etc could help out since what we doing would very much further the goals of skills development within FOSSGIS in South Africa. We should also look at how we can extend these activites further afield since other African countries can equally benifit.&lt;br /&gt;
&lt;br /&gt;
== Role Players ==&lt;br /&gt;
&lt;br /&gt;
Everyone can be a role player - this list is just a way to keep track of the various people involved - feel free to add yourself!&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
|-&lt;br /&gt;
!Who         &lt;br /&gt;
!Email     &lt;br /&gt;
!Where  &lt;br /&gt;
!Organisation &lt;br /&gt;
!Website&lt;br /&gt;
|- &lt;br /&gt;
|Tim Sutton   &lt;br /&gt;
|tim at linfiniti.com &lt;br /&gt;
|Jhb, will travel &lt;br /&gt;
|linfiniti consulting ( http://linfiniti.com )&lt;br /&gt;
|-              &lt;br /&gt;
| Stefaan Dondeyne &lt;br /&gt;
| stefaan_dondeyne at yahoo.co.uk    &lt;br /&gt;
| Mozambique?         &lt;br /&gt;
| Teaching QGIS in Mozambique                 &lt;br /&gt;
|-&lt;br /&gt;
| Brendon Wolff-Piggott&lt;br /&gt;
| brendon at integratedgeodata.co.za&lt;br /&gt;
| Pretoria, will travel&lt;br /&gt;
| integrated geodata solutions&lt;br /&gt;
|-&lt;br /&gt;
| Gavin Fleming&lt;br /&gt;
| gavinjfleming at gmail.com&lt;br /&gt;
| Paarl, Western Cape&lt;br /&gt;
| [http://tinyurl.com/MintekGIS Mintek]&lt;br /&gt;
|-&lt;br /&gt;
| Jean-Francis AHANDA&lt;br /&gt;
| jeanfrancisahanda at opensolutions-cameroun.com&lt;br /&gt;
| Yaounde,Cameroon&lt;br /&gt;
| Open Solutions Cameroun&lt;br /&gt;
| [http://www.opensolutions-cameroun.com] &lt;br /&gt;
|-&lt;br /&gt;
| Graeme McFerren&lt;br /&gt;
| graeme dot mcferren at gmail dot com&lt;br /&gt;
| Jhb/Pretoria&lt;br /&gt;
| GIS Researcher,  [http://www.meraka.org.za Meraka]&lt;br /&gt;
| [http://grimmeister.wordpress.com Southern Tip blog]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|-&lt;br /&gt;
| '''When'''&lt;br /&gt;
| '''Where'''&lt;br /&gt;
| '''Topic'''&lt;br /&gt;
| '''Programme'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| 29 November 2008&lt;br /&gt;
| Johannesburg&lt;br /&gt;
| Demo &amp;amp; Workshop covering PostGIS, GeoServer, uDig, QGIS&lt;br /&gt;
| [[AfricaEvents29November2008| Programme Here]]&lt;br /&gt;
| Our first local community event!&lt;br /&gt;
|-&lt;br /&gt;
| 27 June 2009&lt;br /&gt;
| Johannesburg&lt;br /&gt;
| Introduction to QGIS&lt;br /&gt;
| [[AfricaEvents27June2009| Programme Here]]&lt;br /&gt;
| Our second local community event!&lt;br /&gt;
|-&lt;br /&gt;
| 13-17 July 2009&lt;br /&gt;
| Cape Town&lt;br /&gt;
| IGARSS 2009&lt;br /&gt;
| [[IGARSS_2009]]&lt;br /&gt;
| We hope to have a presence and be around to chat&lt;br /&gt;
|-&lt;br /&gt;
| 26-29 October2009&lt;br /&gt;
| Kampala, Uganda&lt;br /&gt;
| AfricaGIS 2009&lt;br /&gt;
| [[AfricaGIS_2009]]&lt;br /&gt;
| We hope to have a presence and be around to chat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Service Providers =&lt;br /&gt;
&lt;br /&gt;
OSGeo wiki has a comprehensive list of Service Providers offering support services around FOSS GIS software. For you convenience, here are quick links to African providers.&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''Country'''&lt;br /&gt;
|-&lt;br /&gt;
|[SouthAfrica http://tinyurl.com/osgeo-southafrica-providers]&lt;br /&gt;
|-&lt;br /&gt;
|[Cameroon http://www.opensolutions-cameroun.com]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Local Chapters]]&lt;br /&gt;
[[Category:Africa]]&lt;br /&gt;
[[Category:FOSS4G2008]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents27June2009&amp;diff=39418</id>
		<title>AfricaEvents27June2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents27June2009&amp;diff=39418"/>
		<updated>2009-06-26T20:35:17Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
'''Introduction to QGIS'''&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our second OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there, specifically QGIS on this occasion!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing QGIS and getting it to a point where you can have fun (and get your job done) with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R250 to cover costs, lunch and refreshments. That and an open mind are all you need to bring. &lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* Saturday June 27th 2009&lt;br /&gt;
* 08h30 to 15h30&lt;br /&gt;
* includes lunch and refreshments&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging, especially when they're based on FOSS. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
= Programme and notes =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 8h30 start&lt;br /&gt;
* Computers are provided. All you need to bring is R250!&lt;br /&gt;
* It doesn't matter what level you are.&lt;br /&gt;
* The programme is subject to change and participant input right to the last minute!&lt;br /&gt;
&lt;br /&gt;
== Intro to the QGIS project - Tim ==&lt;br /&gt;
&lt;br /&gt;
== First tour of the User Interface - Graeme ==&lt;br /&gt;
Before we set off into the QGIS journey for today, lets get a bit familiar with the vehicle - the GUI or Graphical User Interface!&lt;br /&gt;
&lt;br /&gt;
The key principle is simplicity - standard GIS functionality should be easy to find and obvious to use. More complex functionality is layered onto QGIS as needed via a plugin or extension mechanism&lt;br /&gt;
&lt;br /&gt;
The QGIS GUI is divided into six areas:&lt;br /&gt;
&lt;br /&gt;
1.Menu Bar&lt;br /&gt;
&lt;br /&gt;
2.Tool Bar&lt;br /&gt;
&lt;br /&gt;
3.Map Legend&lt;br /&gt;
&lt;br /&gt;
4.Map View&lt;br /&gt;
&lt;br /&gt;
5.Map Overview&lt;br /&gt;
&lt;br /&gt;
6.Status Bar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1.	Menu Bar'''&lt;br /&gt;
&lt;br /&gt;
The menu bar provides access to various QGIS features using a standard hierarchical menu. The&lt;br /&gt;
top-level menus and a summary of some of the menu options are listed below, together with the icons of the corresponding tools as they appear on the toolbar, as well as keyboard shortcuts. Although most menu options have a corresponding tool and vice-versa, the menus are not organized quite like the toolbars. The toolbar containing the tool is listed after each menu option as a checkbox entry. &lt;br /&gt;
&lt;br /&gt;
'''2.	Toolbars'''&lt;br /&gt;
&lt;br /&gt;
The toolbars provide access to most of the same functions as the menus, plus additional tools for interacting with the map. Each toolbar item has popup help available. Hold your mouse over the item and a short description of the tool’s purpose will be displayed.&lt;br /&gt;
&lt;br /&gt;
Every menubar can be moved around according to your needs. Additionally every menubar can be switched off using your right mouse button context menu holding the mouse over the toolbars.&lt;br /&gt;
&lt;br /&gt;
 Tip: RESTORING   TOOLBARS&lt;br /&gt;
 If you have accidentally hidden all your toolbars, you can get them back by choosing menu option  Settings-&amp;gt;Toolbars &lt;br /&gt;
&lt;br /&gt;
'''3.	Map Legend'''&lt;br /&gt;
&lt;br /&gt;
The map legend area is used to set the visibility and ordering of layers.  Layers listed nearer the top of the legend are drawn over layers listed lower down in the legend. The checkbox in each legend entry can be used to show or hide the layer.&lt;br /&gt;
&lt;br /&gt;
Layers can be grouped in the legend window by adding a layer group and dragging layers into the group. To do so, move the mouse pointer to the legend window, right click, choose Add group . A &lt;br /&gt;
new folder appears. Now drag the layers onto to the folder symbol. It is then possible to toggle the &lt;br /&gt;
visibility of all the layers in the group with one click. To bring layers out of a group, move the mouse  pointer to the layer symbol, right click, and choose Make to toplevel item . To give the folder a new  name, choose Rename in the right click menu of the group.&lt;br /&gt;
&lt;br /&gt;
The content of the right mouse button context menu depends on whether the loaded legend item you&lt;br /&gt;
hold your mouse over is a raster or a vector layer. For GRASS vector layers the toggle editing is &lt;br /&gt;
not available. &lt;br /&gt;
&lt;br /&gt;
'''4.	Map View'''&lt;br /&gt;
&lt;br /&gt;
This is the ’business end’ of QGIS - maps are displayed in this area! The map displayed in this window will depend on the vector and raster layers you have chosen to load (see sections that follow for more information on how to load layers). The map view can be panned (shifting the focus of the map display to another region) and zoomed in and out. Various other operations can be performed on the map as described in the toolbar description above. The map view and the legend are tightly bound to each other - the maps in view reflect changes you make in the legend area.&lt;br /&gt;
&lt;br /&gt;
 Tip Zooming the map with the mouse wheel: You can use the mouse wheel to zoom in and out on the map. Place the mouse cursor inside the map area and roll the wheel forward (away from you) to zoom in and backwards (towards you) to zoom out. The mouse cursor position is the center where the zoom occurs. You can customize the behavior of the mouse wheel zoom using the Map tools tab under the Settings &amp;gt; Options menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Tip Panning the map with the arrow keys and space bar:  You can use the arrow keys to pan in the map. Place the mouse cursor inside the map area and click on the right arrow key to pan East, left arrow key to pan West, up arrow key to pan North and down arrow key to pan South. You can also pan the map using the space bar: just move the mouse while holding down space bar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5.	Map Overview'''&lt;br /&gt;
&lt;br /&gt;
The map overview area provides a full extent view of layers added to it. Within the view is a rectangle showing the current map extent. This allows you to quickly determine which area of the map you are currently viewing. &lt;br /&gt;
&lt;br /&gt;
* Add a single layer to the overview by right-clicking on it in the legend and select x Show in overview . You can also add layers to, or remove all layers from the overview using the Overview tools on the toolbar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 If you click and drag the red rectangle in the overview that shows your current extent, the main map view will update accordingly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6	Status Bar'''&lt;br /&gt;
&lt;br /&gt;
The status bar shows you your current position in map coordinates (e.g. meters or decimal degrees) as the mouse pointer is moved across the map view. To the left of the coordinate display in the status bar is a small button that will toggle between showing coordinate position or the view extents of the map view as you pan and zoom in and out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A progress bar in the status bar shows progress of rendering as each layer is drawn to the map view. In some cases, such as the gathering of statistics in raster layers, the progress bar will be used to show the status of lengthy operations.&lt;br /&gt;
&lt;br /&gt;
If a new plugin or a plugin update is available, you will see a message in the status bar. On the right side of the status bar is a small checkbox which can be used to temporarily prevent layers being drawn on the map view. &lt;br /&gt;
&lt;br /&gt;
At the far right of the status bar is a projector icon. Clicking on this opens the projection properties for the current project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Making your first project - Graeme ==&lt;br /&gt;
&lt;br /&gt;
Often the first thing you want to do in your GIS is pull in the layers you are interested in, symbolise them, zoom to the correct position and then save the map that results as a project (similar to a .apr or a .mxd file). This is all pretty easy in QGIS, as you might expect.&lt;br /&gt;
So the steps we will do are:&lt;br /&gt;
* Create New Project&lt;br /&gt;
* Add Vector Layer&lt;br /&gt;
* Add Raster Layer&lt;br /&gt;
* Add Database Layer&lt;br /&gt;
* Perform simple symbology change&lt;br /&gt;
* Set up some project properties&lt;br /&gt;
* Zoom in to an area of interest&lt;br /&gt;
* Add a north arrow and a scalebar&lt;br /&gt;
* Save the project&lt;br /&gt;
* Close and reopen it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Advanced symbolisation - the renderer types, labelling and map actions - Brendon ==&lt;br /&gt;
&lt;br /&gt;
Loading and viewing data - common data formats, symbolisation.  Tips and tricks to enhance image display.&lt;br /&gt;
&lt;br /&gt;
= Tea =&lt;br /&gt;
&lt;br /&gt;
== Map Production - Gavin ==&lt;br /&gt;
&lt;br /&gt;
==Data capture - editing local and PostGIS datasources - Tim==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Lunch =&lt;br /&gt;
&lt;br /&gt;
==QGIS plugins - Graeme==&lt;br /&gt;
&lt;br /&gt;
* Activating Core plugins - This involves switching on some in-built plugins (Mapserver Export, GRASS, Delimited Text, for example)&lt;br /&gt;
* Accessing the Python plugins - This process involves finding plugins in a repository and fetching them, then activating them&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Web GIS WMS and WFS clients ===&lt;br /&gt;
&lt;br /&gt;
Each of you should have an internet map server available on your local machine - obviously in a non-tutorial session you would be fetching data from a remote server...&lt;br /&gt;
&lt;br /&gt;
We will access the Web Map and Web Feature Services provided and render them in QGIS.&lt;br /&gt;
&lt;br /&gt;
=== A tour of some popular plugins ===&lt;br /&gt;
&lt;br /&gt;
We will go through some of the functionality made available by the plugins now.&lt;br /&gt;
&lt;br /&gt;
* '''ftools''' provides functionality for vector-based tasks&lt;br /&gt;
* '''topocolour'''&lt;br /&gt;
* '''table manager''' provides the ability to edit shapefile attributes &lt;br /&gt;
* '''mapserver export''' provides a basic MapServer mapfile export capability&lt;br /&gt;
* '''GRASS (Brendon to dig into this shortly!)''' provides access to GRASS data and functionality through the less intimidating QGIS interface.&lt;br /&gt;
* '''Delimited Text File''' allows delimited text files with spatial data to be imported into QGIS, for example, csv files&lt;br /&gt;
&lt;br /&gt;
== Advanced analysis with QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== GRASS Analysis in QGIS- Brendon ===&lt;br /&gt;
GRASS is a sophisticated standalone GIS package which can also be accessed through QGIS. It installs with QGIS by default.  If you don't see a toolbar with grass stalk icons, go to:&lt;br /&gt;
&lt;br /&gt;
 View-&amp;gt;Toolbars &lt;br /&gt;
&lt;br /&gt;
and check that the GRASS toolbar is has a tick against it.  This will place the new toolbar on your QGIS interface.&lt;br /&gt;
&lt;br /&gt;
If you can't see the GRASS toolbar listed there then you may need to add it from the plugin manager:&lt;br /&gt;
&lt;br /&gt;
 Plugins-&amp;gt;Manage plugins-&amp;gt;GRASS&lt;br /&gt;
&lt;br /&gt;
* Click on the first icon (the folder with a grass stalk) to open the prepared GRASS mapset, which is a collection of maps.  &lt;br /&gt;
&lt;br /&gt;
There are three entries needed in the box that opens up: &lt;br /&gt;
&lt;br /&gt;
 Gisdbase&lt;br /&gt;
 Location&lt;br /&gt;
 Mapset&lt;br /&gt;
&lt;br /&gt;
These should be set to:&lt;br /&gt;
 home/tim/Grassdata&lt;br /&gt;
 training_jhb&lt;br /&gt;
 analysis&lt;br /&gt;
&lt;br /&gt;
* Then click OK to open the mapset.&lt;br /&gt;
&lt;br /&gt;
Ask for help from one of the presenters if making these choices is confusing &lt;br /&gt;
for any reason. &lt;br /&gt;
&lt;br /&gt;
Once this is done, you may use the icons with the '+' symbol to add vector &lt;br /&gt;
and raster maps from the GRASS database.  You may use the QGIS context-sensitive menu (right-click) to remove layers if you do not want to see them.&lt;br /&gt;
&lt;br /&gt;
* Now open the prepared QGIS project analysis.qgs to see many of the map layers available in GRASS. We are going to use the GRASS toolbox to find answers to some questions that GIS can help us with.&lt;br /&gt;
&lt;br /&gt;
* Click on the tools icon (with the hammer and spanner) on the GRASS toolbar to open the GRASS tools window. &lt;br /&gt;
&lt;br /&gt;
It has three tabs at the top:&lt;br /&gt;
&lt;br /&gt;
'''Modules Tree''', which has a list of GRASS modules grouped according to their function, rather like a Windows Explorer view of directories.&lt;br /&gt;
&lt;br /&gt;
'''Modules List''', which has a long list of modules.  Type the beginning of a modules name in the box at the bottom to find it rapidly.&lt;br /&gt;
&lt;br /&gt;
'''Browser''', which shows you the GRASS map layers grouped into raster and vector groups.&lt;br /&gt;
&lt;br /&gt;
* If you pick a map layer in the pane on the left, you will see descriptive &lt;br /&gt;
information about the layer in the pane on the right.  Try this with raster&lt;br /&gt;
and vector layers, and notice that the information given is different for the &lt;br /&gt;
two types.  &lt;br /&gt;
&lt;br /&gt;
 You can leave the GRASS Tools window open while you are working with QGIS.   &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Why is it so noisy here?'''&lt;br /&gt;
&lt;br /&gt;
At the end of a long day, you want to put your feet up and relax.  But the noise from the freeway just never stops!  How many houses in the area are close enough to a major road to be badly affected by noise?&lt;br /&gt;
&lt;br /&gt;
The noise from the freeway will travel further than the noise from a suburban &lt;br /&gt;
road. Luckily, we already have distances entered against types of road in the Roads map layer.&lt;br /&gt;
&lt;br /&gt;
* Open the attribute table and have a look.&lt;br /&gt;
&lt;br /&gt;
* To start the analysis, go to the modules tree and select the module Buffer, under:&lt;br /&gt;
&lt;br /&gt;
  Vector -&amp;gt; Spatial analysis&lt;br /&gt;
&lt;br /&gt;
Another tab will open to allow you to run the Buffer module.&lt;br /&gt;
&lt;br /&gt;
* Select the map layer Roads as input.  &lt;br /&gt;
&lt;br /&gt;
......  go to Linux for other detail:&lt;br /&gt;
select attrib for Buffer&lt;br /&gt;
  &lt;br /&gt;
* Enter Roads_buffer as the name of the output layer.&lt;br /&gt;
&lt;br /&gt;
* Then press Run. &lt;br /&gt;
&lt;br /&gt;
The progress bar at the bottom will show you how much longer you have to wait.  When it is finished, click on View output to show the result in QGIS. &lt;br /&gt;
&lt;br /&gt;
See how the buffers are wider around the freeway than around the main roads.&lt;br /&gt;
&lt;br /&gt;
 Tip: You can close the tab for the module using the Close button next to View output.&lt;br /&gt;
&lt;br /&gt;
Now we want to see how many houses are affected.  We have the erven outlines rather than houses, but it will be a good approximation.&lt;br /&gt;
&lt;br /&gt;
* Click on the Modules List tab, and type &amp;quot;v.select&amp;quot; at the bottom.  The v.select.overlap module should appear at the top.  Click on the module name to open it.&lt;br /&gt;
&lt;br /&gt;
* Select Erven as the first input map layer.&lt;br /&gt;
&lt;br /&gt;
* Select Roads_buffer as the second input map layer.&lt;br /&gt;
&lt;br /&gt;
* Enter Erven_noise as the output map layer.&lt;br /&gt;
&lt;br /&gt;
* Click on Run, and View output.&lt;br /&gt;
 &lt;br /&gt;
This will show you all erven overlapping the noise buffer that we created.  &lt;br /&gt;
&lt;br /&gt;
* Open the attribute table and scroll down to the bottom to see how many houses are affected.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 You might want to use the Group option in the Layer Manager after doing an analysis, so that you can keep the results together.  Move the group to the bottom of the Layer Manager when you are finished with it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''I can see you!'''&lt;br /&gt;
&lt;br /&gt;
The way noise travels depends on a lot of things apart from distance.  One of these is changes in height.  We are going to generate an elevation surface (raster) to help us in our work.&lt;br /&gt;
&lt;br /&gt;
Raster layers need to have their extent and grid size defined before we start.&lt;br /&gt;
&lt;br /&gt;
* Click on the Modules List tab, and type &amp;quot;g.region.multiple.vector&amp;quot;.  Enter one vector layer, v_5m_contours.&lt;br /&gt;
* Now open the Modules Tree, and start the GRASS shell at the top of the list.  &lt;br /&gt;
* Enter '''g.region res=25''' to set the grid resolution to 25m.&lt;br /&gt;
* Close the shell.&lt;br /&gt;
&lt;br /&gt;
Now we can start the real work:&lt;br /&gt;
&lt;br /&gt;
* Click on the Modules List tab, and type &amp;quot;v.surf.rst&amp;quot;.  Open the module.&lt;br /&gt;
* Select the layer v_5m_contours as the input map layer.&lt;br /&gt;
* Enter elevation as the output map surface.&lt;br /&gt;
* Click Run.  This process may take a little while.&lt;br /&gt;
* Add the elevation surface to your display.&lt;br /&gt;
&lt;br /&gt;
  You may want to change the way the elevation surface displays using the Symbology options.  &lt;br /&gt;
&lt;br /&gt;
Now that we have an elevation surface, we can derive a lot of other information.  First we will make it look better though.  &lt;br /&gt;
&lt;br /&gt;
* Click on the Modules List tab, and type '''r.slope'''.&lt;br /&gt;
* Choose the r.slope.aspect.aspect module.&lt;br /&gt;
* Enter the name of the output map as '''aspect'''.&lt;br /&gt;
* Run and add the layer.&lt;br /&gt;
&lt;br /&gt;
 Set this layer to about 50% transparency for a pleasing effect.&lt;br /&gt;
&lt;br /&gt;
A new 32 storey shopping mall and conference centre is being proposed for development.  The residents are upset that it will dominate the skyline.  The architect says that it will be &amp;quot;bold and pleasing&amp;quot;.  How can we tell how visible it is going to be?&lt;br /&gt;
&lt;br /&gt;
* Select the r.los module.&lt;br /&gt;
* Enter the coordinates of the proposed mall:&lt;br /&gt;
* Enter the height as 165.&lt;br /&gt;
* Enter 25000 as the maximum distance.&lt;br /&gt;
* Enter elev_shade165 as the output surface name.&lt;br /&gt;
* Run and view the surface to see where the development will be visible from.&lt;br /&gt;
&lt;br /&gt;
Now you try - change the height of the building to what you feel is reasonable, and see what difference it makes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Finding a home'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Select the v.extract.where module.&lt;br /&gt;
&lt;br /&gt;
* Select '''land_use''' as the input map layer.&lt;br /&gt;
&lt;br /&gt;
* Enter '''landuse like Park OR landuse like Botanical Garden OR Bird sanctuary'''&lt;br /&gt;
&lt;br /&gt;
* Enter '''open_space''' as the output map layer name.&lt;br /&gt;
&lt;br /&gt;
* Run and view the output.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You have extracted the open areas suitable for children from the land use layer.  &lt;br /&gt;
&lt;br /&gt;
Now buffer these to a distance of 3km using v.buffer.  &lt;br /&gt;
&lt;br /&gt;
Then use the v.to.rast.constant module to convert this vector layer to a raster surface '''r_open_space'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
West to north-west facing areas will suit our young family.  A raster &amp;quot;mask&amp;quot; needs to be set up to include only suitable aspects. GRASS recognises the raster named MASK for this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Enter the expression:&lt;br /&gt;
&lt;br /&gt;
 r.mapcalc 'MASK=(((relief@Analysis&amp;lt;315)&amp;amp;&amp;amp;(relief@Analysis&amp;gt;=270)))'&lt;br /&gt;
&lt;br /&gt;
If you are feeling adventurous you can use the visual mapcalc interface to set up the expression instead.   &lt;br /&gt;
&lt;br /&gt;
* Now use the simple mapcalculator r.mapcalculator.  Enter '''open_space''' as the first layer (A) and '''aspect''' as the second layer (B).&lt;br /&gt;
&lt;br /&gt;
* Enter the formula A*B.&lt;br /&gt;
&lt;br /&gt;
* Run and display the output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are the places where are young family should look first to be happy in their new home!&lt;br /&gt;
&lt;br /&gt;
== Audience Selections ==&lt;br /&gt;
&lt;br /&gt;
Tell us what else you'd like to try.&lt;br /&gt;
&lt;br /&gt;
== Show off session ==&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
e.g. Terrain modelling and drapes.&lt;br /&gt;
&lt;br /&gt;
==General==&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
== Possible Extras ==&lt;br /&gt;
*advanced spatial analysis ''without'' GRASS: Carson Farmer's plugins with R, etc - Gavin&lt;br /&gt;
*Introduction to the Python console&lt;br /&gt;
*The Python API&lt;br /&gt;
&lt;br /&gt;
==Your assessment of the workshop==&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
== PS: Where to get free spatial data? ==&lt;br /&gt;
Surveys and Mapping, Demarcation Board, OpenStreetMap, GPS, etc. Check out [[South_African_Geodata]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents27June2009&amp;diff=39416</id>
		<title>AfricaEvents27June2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents27June2009&amp;diff=39416"/>
		<updated>2009-06-26T19:37:24Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
'''Introduction to QGIS'''&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our second OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there, specifically QGIS on this occasion!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing QGIS and getting it to a point where you can have fun (and get your job done) with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R250 to cover costs, lunch and refreshments. That and an open mind are all you need to bring. &lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* Saturday June 27th 2009&lt;br /&gt;
* 08h30 to 15h30&lt;br /&gt;
* includes lunch and refreshments&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging, especially when they're based on FOSS. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
= Programme and notes =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 8h30 start&lt;br /&gt;
* Computers are provided. All you need to bring is R250!&lt;br /&gt;
* It doesn't matter what level you are.&lt;br /&gt;
* The programme is subject to change and participant input right to the last minute!&lt;br /&gt;
&lt;br /&gt;
== Intro to the QGIS project - Tim ==&lt;br /&gt;
&lt;br /&gt;
== First tour of the User Interface - Graeme ==&lt;br /&gt;
Before we set off into the QGIS journey for today, lets get a bit familiar with the vehicle - the GUI or Graphical User Interface!&lt;br /&gt;
&lt;br /&gt;
The key principle is simplicity - standard GIS functionality should be easy to find and obvious to use. More complex functionality is layered onto QGIS as needed via a plugin or extension mechanism&lt;br /&gt;
&lt;br /&gt;
The QGIS GUI is divided into six areas:&lt;br /&gt;
&lt;br /&gt;
1.Menu Bar&lt;br /&gt;
&lt;br /&gt;
2.Tool Bar&lt;br /&gt;
&lt;br /&gt;
3.Map Legend&lt;br /&gt;
&lt;br /&gt;
4.Map View&lt;br /&gt;
&lt;br /&gt;
5.Map Overview&lt;br /&gt;
&lt;br /&gt;
6.Status Bar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1.	Menu Bar'''&lt;br /&gt;
&lt;br /&gt;
The menu bar provides access to various QGIS features using a standard hierarchical menu. The&lt;br /&gt;
top-level menus and a summary of some of the menu options are listed below, together with the icons of the corresponding tools as they appear on the toolbar, as well as keyboard shortcuts. Although most menu options have a corresponding tool and vice-versa, the menus are not organized quite like the toolbars. The toolbar containing the tool is listed after each menu option as a checkbox entry. &lt;br /&gt;
&lt;br /&gt;
'''2.	Toolbars'''&lt;br /&gt;
&lt;br /&gt;
The toolbars provide access to most of the same functions as the menus, plus additional tools for interacting with the map. Each toolbar item has popup help available. Hold your mouse over the item and a short description of the tool’s purpose will be displayed.&lt;br /&gt;
&lt;br /&gt;
Every menubar can be moved around according to your needs. Additionally every menubar can be switched off using your right mouse button context menu holding the mouse over the toolbars.&lt;br /&gt;
&lt;br /&gt;
 Tip: RESTORING   TOOLBARS&lt;br /&gt;
 If you have accidentally hidden all your toolbars, you can get them back by choosing menu option  Settings-&amp;gt;Toolbars &lt;br /&gt;
&lt;br /&gt;
'''3.	Map Legend'''&lt;br /&gt;
&lt;br /&gt;
The map legend area is used to set the visibility and ordering of layers.  Layers listed nearer the top of the legend are drawn over layers listed lower down in the legend. The checkbox in each legend entry can be used to show or hide the layer.&lt;br /&gt;
&lt;br /&gt;
Layers can be grouped in the legend window by adding a layer group and dragging layers into the group. To do so, move the mouse pointer to the legend window, right click, choose Add group . A &lt;br /&gt;
new folder appears. Now drag the layers onto to the folder symbol. It is then possible to toggle the &lt;br /&gt;
visibility of all the layers in the group with one click. To bring layers out of a group, move the mouse  pointer to the layer symbol, right click, and choose Make to toplevel item . To give the folder a new  name, choose Rename in the right click menu of the group.&lt;br /&gt;
&lt;br /&gt;
The content of the right mouse button context menu depends on whether the loaded legend item you&lt;br /&gt;
hold your mouse over is a raster or a vector layer. For GRASS vector layers the toggle editing is &lt;br /&gt;
not available. &lt;br /&gt;
&lt;br /&gt;
'''4.	Map View'''&lt;br /&gt;
&lt;br /&gt;
This is the ’business end’ of QGIS - maps are displayed in this area! The map displayed in this window will depend on the vector and raster layers you have chosen to load (see sections that follow for more information on how to load layers). The map view can be panned (shifting the focus of the map display to another region) and zoomed in and out. Various other operations can be performed on the map as described in the toolbar description above. The map view and the legend are tightly bound to each other - the maps in view reflect changes you make in the legend area.&lt;br /&gt;
&lt;br /&gt;
 Tip Zooming the map with the mouse wheel: You can use the mouse wheel to zoom in and out on the map. Place the mouse cursor inside the map area and roll the wheel forward (away from you) to zoom in and backwards (towards you) to zoom out. The mouse cursor position is the center where the zoom occurs. You can customize the behavior of the mouse wheel zoom using the Map tools tab under the Settings &amp;gt; Options menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Tip Panning the map with the arrow keys and space bar:  You can use the arrow keys to pan in the map. Place the mouse cursor inside the map area and click on the right arrow key to pan East, left arrow key to pan West, up arrow key to pan North and down arrow key to pan South. You can also pan the map using the space bar: just move the mouse while holding down space bar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5.	Map Overview'''&lt;br /&gt;
&lt;br /&gt;
The map overview area provides a full extent view of layers added to it. Within the view is a rectangle showing the current map extent. This allows you to quickly determine which area of the map you are currently viewing. &lt;br /&gt;
&lt;br /&gt;
* Add a single layer to the overview by right-clicking on it in the legend and select x Show in overview . You can also add layers to, or remove all layers from the overview using the Overview tools on the toolbar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 If you click and drag the red rectangle in the overview that shows your current extent, the main map view will update accordingly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6	Status Bar'''&lt;br /&gt;
&lt;br /&gt;
The status bar shows you your current position in map coordinates (e.g. meters or decimal degrees) as the mouse pointer is moved across the map view. To the left of the coordinate display in the status bar is a small button that will toggle between showing coordinate position or the view extents of the map view as you pan and zoom in and out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A progress bar in the status bar shows progress of rendering as each layer is drawn to the map view. In some cases, such as the gathering of statistics in raster layers, the progress bar will be used to show the status of lengthy operations.&lt;br /&gt;
&lt;br /&gt;
If a new plugin or a plugin update is available, you will see a message in the status bar. On the right side of the status bar is a small checkbox which can be used to temporarily prevent layers being drawn on the map view. &lt;br /&gt;
&lt;br /&gt;
At the far right of the status bar is a projector icon. Clicking on this opens the projection properties for the current project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Making your first project - Graeme ==&lt;br /&gt;
&lt;br /&gt;
Often the first thing you want to do in your GIS is pull in the layers you are interested in, symbolise them, zoom to the correct position and then save the map that results as a project (similar to a .apr or a .mxd file). This is all pretty easy in QGIS, as you might expect.&lt;br /&gt;
So the steps we will do are:&lt;br /&gt;
* Create New Project&lt;br /&gt;
* Add Vector Layer&lt;br /&gt;
* Add Raster Layer&lt;br /&gt;
* Add Database Layer&lt;br /&gt;
* Perform simple symbology change&lt;br /&gt;
* Set up some project properties&lt;br /&gt;
* Zoom in to an area of interest&lt;br /&gt;
* Save the project&lt;br /&gt;
* Close and reopen it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Advanced symbolisation - the renderer types, labelling and map actions - Brendon ==&lt;br /&gt;
&lt;br /&gt;
Loading and viewing data - common data formats, symbolisation.  Tips and tricks to enhance image display.&lt;br /&gt;
&lt;br /&gt;
= Tea =&lt;br /&gt;
&lt;br /&gt;
== Map Production - Gavin ==&lt;br /&gt;
&lt;br /&gt;
==Data capture - editing local and PostGIS datasources - Tim==&lt;br /&gt;
&lt;br /&gt;
==Projection basics - Gavin==&lt;br /&gt;
&lt;br /&gt;
= Lunch =&lt;br /&gt;
&lt;br /&gt;
==QGIS plugins - Graeme==&lt;br /&gt;
&lt;br /&gt;
=== QGIS and Web GIS WMS and WFS clients - Graeme ===&lt;br /&gt;
&lt;br /&gt;
== Advanced analysis with QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== GRASS Analysis in QGIS- Brendon ===&lt;br /&gt;
GRASS is a sophisticated standalone GIS package which can also be accessed through QGIS. It installs with QGIS by default.  If you don't see a toolbar with grass stalk icons, go to:&lt;br /&gt;
&lt;br /&gt;
 View-&amp;gt;Toolbars &lt;br /&gt;
&lt;br /&gt;
and check that the GRASS toolbar is has a tick against it.  This will place the new toolbar on your QGIS interface.&lt;br /&gt;
&lt;br /&gt;
If you can't see the GRASS toolbar listed there then you may need to add it from the plugin manager:&lt;br /&gt;
&lt;br /&gt;
 Plugins-&amp;gt;Manage plugins-&amp;gt;GRASS&lt;br /&gt;
&lt;br /&gt;
* Click on the first icon (the folder with a grass stalk) to open the prepared GRASS mapset, which is a collection of maps.  &lt;br /&gt;
&lt;br /&gt;
There are three entries needed in the box that opens up: &lt;br /&gt;
&lt;br /&gt;
 Gisdbase&lt;br /&gt;
 Location&lt;br /&gt;
 Mapset&lt;br /&gt;
&lt;br /&gt;
These should be set to:&lt;br /&gt;
 home/tim/Grassdata&lt;br /&gt;
 training_jhb&lt;br /&gt;
 analysis&lt;br /&gt;
&lt;br /&gt;
* Then click OK to open the mapset.&lt;br /&gt;
&lt;br /&gt;
Ask for help from one of the presenters if making these choices is confusing &lt;br /&gt;
for any reason. &lt;br /&gt;
&lt;br /&gt;
Once this is done, you may use the icons with the '+' symbol to add vector &lt;br /&gt;
and raster maps from the GRASS database.  You may use the QGIS context-sensitive menu (right-click) to remove layers if you do not want to see them.&lt;br /&gt;
&lt;br /&gt;
* Now open the prepared QGIS project analysis.qgs to see many of the map layers available in GRASS. We are going to use the GRASS toolbox to find answers to some questions that GIS can help us with.&lt;br /&gt;
&lt;br /&gt;
* Click on the tools icon (with the hammer and spanner) on the GRASS toolbar to open the GRASS tools window. &lt;br /&gt;
&lt;br /&gt;
It has three tabs at the top:&lt;br /&gt;
&lt;br /&gt;
'''Modules Tree''', which has a list of GRASS modules grouped according to their function, rather like a Windows Explorer view of directories.&lt;br /&gt;
&lt;br /&gt;
'''Modules List''', which has a long list of modules.  Type the beginning of a modules name in the box at the bottom to find it rapidly.&lt;br /&gt;
&lt;br /&gt;
'''Browser''', which shows you the GRASS map layers grouped into raster and vector groups.&lt;br /&gt;
&lt;br /&gt;
* If you pick a map layer in the pane on the left, you will see descriptive &lt;br /&gt;
information about the layer in the pane on the right.  Try this with raster&lt;br /&gt;
and vector layers, and notice that the information given is different for the &lt;br /&gt;
two types.  &lt;br /&gt;
&lt;br /&gt;
 You can leave the GRASS Tools window open while you are working with QGIS.   &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Why is it so noisy here?'''&lt;br /&gt;
&lt;br /&gt;
At the end of a long day, you want to put your feet up and relax.  But the noise from the freeway just never stops!  How many houses in the area are close enough to a major road to be badly affected by noise?&lt;br /&gt;
&lt;br /&gt;
The noise from the freeway will travel further than the noise from a suburban &lt;br /&gt;
road. Luckily, we already have distances entered against types of road in the Roads map layer.&lt;br /&gt;
&lt;br /&gt;
* Open the attribute table and have a look.&lt;br /&gt;
&lt;br /&gt;
* To start the analysis, go to the modules tree and select the module Buffer, under:&lt;br /&gt;
&lt;br /&gt;
  Vector -&amp;gt; Spatial analysis&lt;br /&gt;
&lt;br /&gt;
Another tab will open to allow you to run the Buffer module.&lt;br /&gt;
&lt;br /&gt;
* Select the map layer Roads as input.  &lt;br /&gt;
&lt;br /&gt;
......  go to Linux for other detail:&lt;br /&gt;
select attrib for Buffer&lt;br /&gt;
  &lt;br /&gt;
* Enter Roads_buffer as the name of the output layer.&lt;br /&gt;
&lt;br /&gt;
* Then press Run. &lt;br /&gt;
&lt;br /&gt;
The progress bar at the bottom will show you how much longer you have to wait.  When it is finished, click on View output to show the result in QGIS. &lt;br /&gt;
&lt;br /&gt;
See how the buffers are wider around the freeway than around the main roads.&lt;br /&gt;
&lt;br /&gt;
 Tip: You can close the tab for the module using the Close button next to View output.&lt;br /&gt;
&lt;br /&gt;
Now we want to see how many houses are affected.  We have the erven outlines rather than houses, but it will be a good approximation.&lt;br /&gt;
&lt;br /&gt;
* Click on the Modules List tab, and type &amp;quot;v.select&amp;quot; at the bottom.  The v.select.overlap module should appear at the top.  Click on the module name to open it.&lt;br /&gt;
&lt;br /&gt;
* Select Erven as the first input map layer.&lt;br /&gt;
&lt;br /&gt;
* Select Roads_buffer as the second input map layer.&lt;br /&gt;
&lt;br /&gt;
* Enter Erven_noise as the output map layer.&lt;br /&gt;
&lt;br /&gt;
* Click on Run, and View output.&lt;br /&gt;
 &lt;br /&gt;
This will show you all erven overlapping the noise buffer that we created.  &lt;br /&gt;
&lt;br /&gt;
* Open the attribute table and scroll down to the bottom to see how many houses are affected.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 You might want to use the Group option in the Layer Manager after doing an analysis, so that you can keep the results together.  Move the group to the bottom of the Layer Manager when you are finished with it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''I can see you!'''&lt;br /&gt;
&lt;br /&gt;
The way noise travels depends on a lot of things apart from distance.  One of these is changes in height.  We are going to generate an elevation surface (raster) to help us in our work.&lt;br /&gt;
&lt;br /&gt;
Raster layers need to have their extent and grid size defined before we start.&lt;br /&gt;
&lt;br /&gt;
* Click on the Modules List tab, and type &amp;quot;g.region.multiple.vector&amp;quot;.  Enter one vector layer, v_5m_contours.&lt;br /&gt;
* Now open the Modules Tree, and start the GRASS shell at the top of the list.  &lt;br /&gt;
* Enter '''g.region res=25''' to set the grid resolution to 25m.&lt;br /&gt;
* Close the shell.&lt;br /&gt;
&lt;br /&gt;
Now we can start the real work:&lt;br /&gt;
&lt;br /&gt;
* Click on the Modules List tab, and type &amp;quot;v.surf.rst&amp;quot;.  Open the module.&lt;br /&gt;
* Select the layer v_5m_contours as the input map layer.&lt;br /&gt;
* Enter elevation as the output map surface.&lt;br /&gt;
* Click Run.  This process may take a little while.&lt;br /&gt;
* Add the elevation surface to your display.&lt;br /&gt;
&lt;br /&gt;
  You may want to change the way the elevation surface displays using the Symbology options.  &lt;br /&gt;
&lt;br /&gt;
Now that we have an elevation surface, we can derive a lot of other information.  First we will make it look better though.  &lt;br /&gt;
&lt;br /&gt;
* Click on the Modules List tab, and type '''r.slope'''.&lt;br /&gt;
* Choose the r.slope.aspect.aspect module.&lt;br /&gt;
* Enter the name of the output map as '''aspect'''.&lt;br /&gt;
* Run and add the layer.&lt;br /&gt;
&lt;br /&gt;
 Set this layer to about 50% transparency for a pleasing effect.&lt;br /&gt;
&lt;br /&gt;
A new 32 storey shopping mall and conference centre is being proposed for development.  The residents are upset that it will dominate the skyline.  The architect says that it will be &amp;quot;bold and pleasing&amp;quot;.  How can we tell how visible it is going to be?&lt;br /&gt;
&lt;br /&gt;
* Select the r.los module.&lt;br /&gt;
* Enter the coordinates of the proposed mall:&lt;br /&gt;
* Enter the height as 165.&lt;br /&gt;
* Enter 25000 as the maximum distance.&lt;br /&gt;
* Enter elev_shade165 as the output surface name.&lt;br /&gt;
* Run and view the surface to see where the development will be visible from.&lt;br /&gt;
&lt;br /&gt;
Now you try - change the height of the building to what you feel is reasonable, and see what difference it makes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Finding a home'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Select the v.extract.where module.&lt;br /&gt;
&lt;br /&gt;
* Select '''land_use''' as the input map layer.&lt;br /&gt;
&lt;br /&gt;
* Enter '''landuse like Park OR landuse like Botanical Garden OR Bird sanctuary'''&lt;br /&gt;
&lt;br /&gt;
* Enter '''open_space''' as the output map layer name.&lt;br /&gt;
&lt;br /&gt;
* Run and view the output.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You have extracted the open areas suitable for children from the land use layer.  &lt;br /&gt;
&lt;br /&gt;
Now buffer these to a distance of 3km using v.buffer.  &lt;br /&gt;
&lt;br /&gt;
Then use the v.to.rast.constant module to convert this vector layer to a raster surface '''r_open_space'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
West to north-west facing areas will suit our young family.  A raster &amp;quot;mask&amp;quot; needs to be set up to include only suitable aspects. GRASS recognises the raster named MASK for this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Enter the expression:&lt;br /&gt;
&lt;br /&gt;
 r.mapcalc 'MASK=(((relief@Analysis&amp;lt;315)&amp;amp;&amp;amp;(relief@Analysis&amp;gt;=270)))'&lt;br /&gt;
&lt;br /&gt;
If you are feeling adventurous you can use the visual mapcalc interface to set up the expression instead.   &lt;br /&gt;
&lt;br /&gt;
* Now use the simple mapcalculator r.mapcalculator.  Enter '''open_space''' as the first layer (A) and '''aspect''' as the second layer (B).&lt;br /&gt;
&lt;br /&gt;
* Enter the formula A*B.&lt;br /&gt;
&lt;br /&gt;
* Run and display the output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are the places where are young family should look first to be happy in their new home!&lt;br /&gt;
&lt;br /&gt;
== Audience Selections ==&lt;br /&gt;
&lt;br /&gt;
Tell us what else you'd like to try.&lt;br /&gt;
&lt;br /&gt;
== Show off session ==&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
e.g. Terrain modelling and drapes.&lt;br /&gt;
&lt;br /&gt;
==General==&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
== Possible Extras ==&lt;br /&gt;
*advanced spatial analysis ''without'' GRASS: Carson Farmer's plugins with R, etc - Gavin&lt;br /&gt;
*Introduction to the Python console&lt;br /&gt;
*The Python API&lt;br /&gt;
&lt;br /&gt;
==Your assessment of the workshop==&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
== PS: Where to get free spatial data? ==&lt;br /&gt;
Surveys and Mapping, Demarcation Board, OpenStreetMap, GPS, etc. Check out [[South_African_Geodata]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents27June2009&amp;diff=39415</id>
		<title>AfricaEvents27June2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents27June2009&amp;diff=39415"/>
		<updated>2009-06-26T19:31:51Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
'''Introduction to QGIS'''&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our second OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there, specifically QGIS on this occasion!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing QGIS and getting it to a point where you can have fun (and get your job done) with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R250 to cover costs, lunch and refreshments. That and an open mind are all you need to bring. &lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* Saturday June 27th 2009&lt;br /&gt;
* 08h30 to 15h30&lt;br /&gt;
* includes lunch and refreshments&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging, especially when they're based on FOSS. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
= Programme and notes =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 8h30 start&lt;br /&gt;
* Computers are provided. All you need to bring is R250!&lt;br /&gt;
* It doesn't matter what level you are.&lt;br /&gt;
* The programme is subject to change and participant input right to the last minute!&lt;br /&gt;
&lt;br /&gt;
== Intro to the QGIS project - Tim ==&lt;br /&gt;
&lt;br /&gt;
== First tour of the User Interface - Graeme ==&lt;br /&gt;
Before we set off into the QGIS journey for today, lets get a bit familiar with the vehicle - the GUI or Graphical User Interface!&lt;br /&gt;
&lt;br /&gt;
The key principle is simplicity - standard GIS functionality should be easy to find and obvious to use. More complex functionality is layered onto QGIS as needed via a plugin or extension mechanism&lt;br /&gt;
&lt;br /&gt;
== Making your first project - Graeme ==&lt;br /&gt;
&lt;br /&gt;
Often the first thing you want to do in your GIS is pull in the layers you are interested in, symbolise them, zoom to the correct position and then save the map that results as a project (similar to a .apr or a .mxd file). This is all pretty easy in QGIS, as you might expect.&lt;br /&gt;
So the steps we will do are:&lt;br /&gt;
* Create New Project&lt;br /&gt;
* Add Vector Layer&lt;br /&gt;
* Add Raster Layer&lt;br /&gt;
* Add Database Layer&lt;br /&gt;
* Perform simple symbology change&lt;br /&gt;
* Set up some project properties&lt;br /&gt;
* Zoom in to an area of interest&lt;br /&gt;
* Save the project&lt;br /&gt;
* Close and reopen it&lt;br /&gt;
&lt;br /&gt;
The QGIS GUI is divided into six areas:&lt;br /&gt;
&lt;br /&gt;
1.Menu Bar&lt;br /&gt;
&lt;br /&gt;
2.Tool Bar&lt;br /&gt;
&lt;br /&gt;
3.Map Legend&lt;br /&gt;
&lt;br /&gt;
4.Map View&lt;br /&gt;
&lt;br /&gt;
5.Map Overview&lt;br /&gt;
&lt;br /&gt;
6.Status Bar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1.	Menu Bar'''&lt;br /&gt;
&lt;br /&gt;
The menu bar provides access to various QGIS features using a standard hierarchical menu. The&lt;br /&gt;
top-level menus and a summary of some of the menu options are listed below, together with the icons of the corresponding tools as they appear on the toolbar, as well as keyboard shortcuts. Although most menu options have a corresponding tool and vice-versa, the menus are not organized quite like the toolbars. The toolbar containing the tool is listed after each menu option as a checkbox entry. &lt;br /&gt;
&lt;br /&gt;
'''2.	Toolbars'''&lt;br /&gt;
&lt;br /&gt;
The toolbars provide access to most of the same functions as the menus, plus additional tools for interacting with the map. Each toolbar item has popup help available. Hold your mouse over the item and a short description of the tool’s purpose will be displayed.&lt;br /&gt;
&lt;br /&gt;
Every menubar can be moved around according to your needs. Additionally every menubar can be switched off using your right mouse button context menu holding the mouse over the toolbars.&lt;br /&gt;
&lt;br /&gt;
 Tip: RESTORING   TOOLBARS&lt;br /&gt;
 If you have accidentally hidden all your toolbars, you can get them back by choosing menu option  Settings-&amp;gt;Toolbars &lt;br /&gt;
&lt;br /&gt;
'''3.	Map Legend'''&lt;br /&gt;
&lt;br /&gt;
The map legend area is used to set the visibility and ordering of layers.  Layers listed nearer the top of the legend are drawn over layers listed lower down in the legend. The checkbox in each legend entry can be used to show or hide the layer.&lt;br /&gt;
&lt;br /&gt;
Layers can be grouped in the legend window by adding a layer group and dragging layers into the group. To do so, move the mouse pointer to the legend window, right click, choose Add group . A &lt;br /&gt;
new folder appears. Now drag the layers onto to the folder symbol. It is then possible to toggle the &lt;br /&gt;
visibility of all the layers in the group with one click. To bring layers out of a group, move the mouse  pointer to the layer symbol, right click, and choose Make to toplevel item . To give the folder a new  name, choose Rename in the right click menu of the group.&lt;br /&gt;
&lt;br /&gt;
The content of the right mouse button context menu depends on whether the loaded legend item you&lt;br /&gt;
hold your mouse over is a raster or a vector layer. For GRASS vector layers the toggle editing is &lt;br /&gt;
not available. &lt;br /&gt;
&lt;br /&gt;
'''4.	Map View'''&lt;br /&gt;
&lt;br /&gt;
This is the ’business end’ of QGIS - maps are displayed in this area! The map displayed in this window will depend on the vector and raster layers you have chosen to load (see sections that follow for more information on how to load layers). The map view can be panned (shifting the focus of the map display to another region) and zoomed in and out. Various other operations can be performed on the map as described in the toolbar description above. The map view and the legend are tightly bound to each other - the maps in view reflect changes you make in the legend area.&lt;br /&gt;
&lt;br /&gt;
 Tip Zooming the map with the mouse wheel: You can use the mouse wheel to zoom in and out on the map. Place the mouse cursor inside the map area and roll the wheel forward (away from you) to zoom in and backwards (towards you) to zoom out. The mouse cursor position is the center where the zoom occurs. You can customize the behavior of the mouse wheel zoom using the Map tools tab under the Settings &amp;gt; Options menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Tip Panning the map with the arrow keys and space bar:  You can use the arrow keys to pan in the map. Place the mouse cursor inside the map area and click on the right arrow key to pan East, left arrow key to pan West, up arrow key to pan North and down arrow key to pan South. You can also pan the map using the space bar: just move the mouse while holding down space bar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5.	Map Overview'''&lt;br /&gt;
&lt;br /&gt;
The map overview area provides a full extent view of layers added to it. Within the view is a rectangle showing the current map extent. This allows you to quickly determine which area of the map you are currently viewing. &lt;br /&gt;
&lt;br /&gt;
* Add a single layer to the overview by right-clicking on it in the legend and select x Show in overview . You can also add layers to, or remove all layers from the overview using the Overview tools on the toolbar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 If you click and drag the red rectangle in the overview that shows your current extent, the main map view will update accordingly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6	Status Bar'''&lt;br /&gt;
&lt;br /&gt;
The status bar shows you your current position in map coordinates (e.g. meters or decimal degrees) as the mouse pointer is moved across the map view. To the left of the coordinate display in the status bar is a small button that will toggle between showing coordinate position or the view extents of the map view as you pan and zoom in and out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A progress bar in the status bar shows progress of rendering as each layer is drawn to the map view. In some cases, such as the gathering of statistics in raster layers, the progress bar will be used to show the status of lengthy operations.&lt;br /&gt;
&lt;br /&gt;
If a new plugin or a plugin update is available, you will see a message in the status bar. On the right side of the status bar is a small checkbox which can be used to temporarily prevent layers being drawn on the map view. &lt;br /&gt;
&lt;br /&gt;
At the far right of the status bar is a projector icon. Clicking on this opens the projection properties for the current project.&lt;br /&gt;
&lt;br /&gt;
== Advanced symbolisation - the renderer types, labelling and map actions - Brendon ==&lt;br /&gt;
&lt;br /&gt;
Loading and viewing data - common data formats, symbolisation.  Tips and tricks to enhance image display.&lt;br /&gt;
&lt;br /&gt;
= Tea =&lt;br /&gt;
&lt;br /&gt;
== Map Production - Gavin ==&lt;br /&gt;
&lt;br /&gt;
==Data capture - editing local and PostGIS datasources - Tim==&lt;br /&gt;
&lt;br /&gt;
==Projection basics - Gavin==&lt;br /&gt;
&lt;br /&gt;
= Lunch =&lt;br /&gt;
&lt;br /&gt;
==QGIS plugins - Graeme==&lt;br /&gt;
&lt;br /&gt;
=== QGIS and Web GIS WMS and WFS clients - Graeme ===&lt;br /&gt;
&lt;br /&gt;
== Advanced analysis with QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== GRASS Analysis in QGIS- Brendon ===&lt;br /&gt;
GRASS is a sophisticated standalone GIS package which can also be accessed through QGIS. It installs with QGIS by default.  If you don't see a toolbar with grass stalk icons, go to:&lt;br /&gt;
&lt;br /&gt;
 View-&amp;gt;Toolbars &lt;br /&gt;
&lt;br /&gt;
and check that the GRASS toolbar is has a tick against it.  This will place the new toolbar on your QGIS interface.&lt;br /&gt;
&lt;br /&gt;
If you can't see the GRASS toolbar listed there then you may need to add it from the plugin manager:&lt;br /&gt;
&lt;br /&gt;
 Plugins-&amp;gt;Manage plugins-&amp;gt;GRASS&lt;br /&gt;
&lt;br /&gt;
* Click on the first icon (the folder with a grass stalk) to open the prepared GRASS mapset, which is a collection of maps.  &lt;br /&gt;
&lt;br /&gt;
There are three entries needed in the box that opens up: &lt;br /&gt;
&lt;br /&gt;
 Gisdbase&lt;br /&gt;
 Location&lt;br /&gt;
 Mapset&lt;br /&gt;
&lt;br /&gt;
These should be set to:&lt;br /&gt;
 home/tim/Grassdata&lt;br /&gt;
 training_jhb&lt;br /&gt;
 analysis&lt;br /&gt;
&lt;br /&gt;
* Then click OK to open the mapset.&lt;br /&gt;
&lt;br /&gt;
Ask for help from one of the presenters if making these choices is confusing &lt;br /&gt;
for any reason. &lt;br /&gt;
&lt;br /&gt;
Once this is done, you may use the icons with the '+' symbol to add vector &lt;br /&gt;
and raster maps from the GRASS database.  You may use the QGIS context-sensitive menu (right-click) to remove layers if you do not want to see them.&lt;br /&gt;
&lt;br /&gt;
* Now open the prepared QGIS project analysis.qgs to see many of the map layers available in GRASS. We are going to use the GRASS toolbox to find answers to some questions that GIS can help us with.&lt;br /&gt;
&lt;br /&gt;
* Click on the tools icon (with the hammer and spanner) on the GRASS toolbar to open the GRASS tools window. &lt;br /&gt;
&lt;br /&gt;
It has three tabs at the top:&lt;br /&gt;
&lt;br /&gt;
'''Modules Tree''', which has a list of GRASS modules grouped according to their function, rather like a Windows Explorer view of directories.&lt;br /&gt;
&lt;br /&gt;
'''Modules List''', which has a long list of modules.  Type the beginning of a modules name in the box at the bottom to find it rapidly.&lt;br /&gt;
&lt;br /&gt;
'''Browser''', which shows you the GRASS map layers grouped into raster and vector groups.&lt;br /&gt;
&lt;br /&gt;
* If you pick a map layer in the pane on the left, you will see descriptive &lt;br /&gt;
information about the layer in the pane on the right.  Try this with raster&lt;br /&gt;
and vector layers, and notice that the information given is different for the &lt;br /&gt;
two types.  &lt;br /&gt;
&lt;br /&gt;
 You can leave the GRASS Tools window open while you are working with QGIS.   &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Why is it so noisy here?'''&lt;br /&gt;
&lt;br /&gt;
At the end of a long day, you want to put your feet up and relax.  But the noise from the freeway just never stops!  How many houses in the area are close enough to a major road to be badly affected by noise?&lt;br /&gt;
&lt;br /&gt;
The noise from the freeway will travel further than the noise from a suburban &lt;br /&gt;
road. Luckily, we already have distances entered against types of road in the Roads map layer.&lt;br /&gt;
&lt;br /&gt;
* Open the attribute table and have a look.&lt;br /&gt;
&lt;br /&gt;
* To start the analysis, go to the modules tree and select the module Buffer, under:&lt;br /&gt;
&lt;br /&gt;
  Vector -&amp;gt; Spatial analysis&lt;br /&gt;
&lt;br /&gt;
Another tab will open to allow you to run the Buffer module.&lt;br /&gt;
&lt;br /&gt;
* Select the map layer Roads as input.  &lt;br /&gt;
&lt;br /&gt;
......  go to Linux for other detail:&lt;br /&gt;
select attrib for Buffer&lt;br /&gt;
  &lt;br /&gt;
* Enter Roads_buffer as the name of the output layer.&lt;br /&gt;
&lt;br /&gt;
* Then press Run. &lt;br /&gt;
&lt;br /&gt;
The progress bar at the bottom will show you how much longer you have to wait.  When it is finished, click on View output to show the result in QGIS. &lt;br /&gt;
&lt;br /&gt;
See how the buffers are wider around the freeway than around the main roads.&lt;br /&gt;
&lt;br /&gt;
 Tip: You can close the tab for the module using the Close button next to View output.&lt;br /&gt;
&lt;br /&gt;
Now we want to see how many houses are affected.  We have the erven outlines rather than houses, but it will be a good approximation.&lt;br /&gt;
&lt;br /&gt;
* Click on the Modules List tab, and type &amp;quot;v.select&amp;quot; at the bottom.  The v.select.overlap module should appear at the top.  Click on the module name to open it.&lt;br /&gt;
&lt;br /&gt;
* Select Erven as the first input map layer.&lt;br /&gt;
&lt;br /&gt;
* Select Roads_buffer as the second input map layer.&lt;br /&gt;
&lt;br /&gt;
* Enter Erven_noise as the output map layer.&lt;br /&gt;
&lt;br /&gt;
* Click on Run, and View output.&lt;br /&gt;
 &lt;br /&gt;
This will show you all erven overlapping the noise buffer that we created.  &lt;br /&gt;
&lt;br /&gt;
* Open the attribute table and scroll down to the bottom to see how many houses are affected.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 You might want to use the Group option in the Layer Manager after doing an analysis, so that you can keep the results together.  Move the group to the bottom of the Layer Manager when you are finished with it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''I can see you!'''&lt;br /&gt;
&lt;br /&gt;
The way noise travels depends on a lot of things apart from distance.  One of these is changes in height.  We are going to generate an elevation surface (raster) to help us in our work.&lt;br /&gt;
&lt;br /&gt;
Raster layers need to have their extent and grid size defined before we start.&lt;br /&gt;
&lt;br /&gt;
* Click on the Modules List tab, and type &amp;quot;g.region.multiple.vector&amp;quot;.  Enter one vector layer, v_5m_contours.&lt;br /&gt;
* Now open the Modules Tree, and start the GRASS shell at the top of the list.  &lt;br /&gt;
* Enter '''g.region res=25''' to set the grid resolution to 25m.&lt;br /&gt;
* Close the shell.&lt;br /&gt;
&lt;br /&gt;
Now we can start the real work:&lt;br /&gt;
&lt;br /&gt;
* Click on the Modules List tab, and type &amp;quot;v.surf.rst&amp;quot;.  Open the module.&lt;br /&gt;
* Select the layer v_5m_contours as the input map layer.&lt;br /&gt;
* Enter elevation as the output map surface.&lt;br /&gt;
* Click Run.  This process may take a little while.&lt;br /&gt;
* Add the elevation surface to your display.&lt;br /&gt;
&lt;br /&gt;
  You may want to change the way the elevation surface displays using the Symbology options.  &lt;br /&gt;
&lt;br /&gt;
Now that we have an elevation surface, we can derive a lot of other information.  First we will make it look better though.  &lt;br /&gt;
&lt;br /&gt;
* Click on the Modules List tab, and type '''r.slope'''.&lt;br /&gt;
* Choose the r.slope.aspect.aspect module.&lt;br /&gt;
* Enter the name of the output map as '''aspect'''.&lt;br /&gt;
* Run and add the layer.&lt;br /&gt;
&lt;br /&gt;
 Set this layer to about 50% transparency for a pleasing effect.&lt;br /&gt;
&lt;br /&gt;
A new 32 storey shopping mall and conference centre is being proposed for development.  The residents are upset that it will dominate the skyline.  The architect says that it will be &amp;quot;bold and pleasing&amp;quot;.  How can we tell how visible it is going to be?&lt;br /&gt;
&lt;br /&gt;
* Select the r.los module.&lt;br /&gt;
* Enter the coordinates of the proposed mall:&lt;br /&gt;
* Enter the height as 165.&lt;br /&gt;
* Enter 25000 as the maximum distance.&lt;br /&gt;
* Enter elev_shade165 as the output surface name.&lt;br /&gt;
* Run and view the surface to see where the development will be visible from.&lt;br /&gt;
&lt;br /&gt;
Now you try - change the height of the building to what you feel is reasonable, and see what difference it makes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Finding a home'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Select the v.extract.where module.&lt;br /&gt;
&lt;br /&gt;
* Select '''land_use''' as the input map layer.&lt;br /&gt;
&lt;br /&gt;
* Enter '''landuse like Park OR landuse like Botanical Garden OR Bird sanctuary'''&lt;br /&gt;
&lt;br /&gt;
* Enter '''open_space''' as the output map layer name.&lt;br /&gt;
&lt;br /&gt;
* Run and view the output.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You have extracted the open areas suitable for children from the land use layer.  &lt;br /&gt;
&lt;br /&gt;
Now buffer these to a distance of 3km using v.buffer.  &lt;br /&gt;
&lt;br /&gt;
Then use the v.to.rast.constant module to convert this vector layer to a raster surface '''r_open_space'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
West to north-west facing areas will suit our young family.  A raster &amp;quot;mask&amp;quot; needs to be set up to include only suitable aspects. GRASS recognises the raster named MASK for this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Enter the expression:&lt;br /&gt;
&lt;br /&gt;
 r.mapcalc 'MASK=(((relief@Analysis&amp;lt;315)&amp;amp;&amp;amp;(relief@Analysis&amp;gt;=270)))'&lt;br /&gt;
&lt;br /&gt;
If you are feeling adventurous you can use the visual mapcalc interface to set up the expression instead.   &lt;br /&gt;
&lt;br /&gt;
* Now use the simple mapcalculator r.mapcalculator.  Enter '''open_space''' as the first layer (A) and '''aspect''' as the second layer (B).&lt;br /&gt;
&lt;br /&gt;
* Enter the formula A*B.&lt;br /&gt;
&lt;br /&gt;
* Run and display the output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are the places where are young family should look first to be happy in their new home!&lt;br /&gt;
&lt;br /&gt;
== Audience Selections ==&lt;br /&gt;
&lt;br /&gt;
Tell us what else you'd like to try.&lt;br /&gt;
&lt;br /&gt;
== Show off session ==&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
e.g. Terrain modelling and drapes.&lt;br /&gt;
&lt;br /&gt;
==General==&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
== Possible Extras ==&lt;br /&gt;
*advanced spatial analysis ''without'' GRASS: Carson Farmer's plugins with R, etc - Gavin&lt;br /&gt;
*Introduction to the Python console&lt;br /&gt;
*The Python API&lt;br /&gt;
&lt;br /&gt;
==Your assessment of the workshop==&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
== PS: Where to get free spatial data? ==&lt;br /&gt;
Surveys and Mapping, Demarcation Board, OpenStreetMap, GPS, etc. Check out [[South_African_Geodata]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Africa_Local_Chapter&amp;diff=33204</id>
		<title>Africa Local Chapter</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Africa_Local_Chapter&amp;diff=33204"/>
		<updated>2008-12-10T14:17:41Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Role Players */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The OSGeo Africa Local Chapter, just a mailing list since 2005, is now starting the formal establishment process as per [[Local_Chapter_Guidelines]] after a successful FOSS4G 2008 in Cape Town. This page is where planning for that is taking place. &lt;br /&gt;
&lt;br /&gt;
We already have a 'home' with [http://www.gissa.org.za/gissa/sig/opensource/ GISSA] so we do not need to form a new association. At the moment that consists of turning the extant GISSA FOSS SIG (Special Interest Group) into the OSGeo Africa Local Chapter, with a seat on the GISSA National Council and access to the GISSA website, meetings and other resources.  &lt;br /&gt;
&lt;br /&gt;
Please join the [http://lists.osgeo.org/mailman/listinfo/africa Africa] mailing list, and review the [http://lists.osgeo.org/pipermail/africa/ archive].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A RoadMap for OSGeo Africa ==&lt;br /&gt;
[[Image:Osgeo-africa-logo-small.png‎]]&lt;br /&gt;
=== What is needed ===&lt;br /&gt;
&lt;br /&gt;
Some common refrains from amongst the people I spoke to at FOSS4G2008:&lt;br /&gt;
&lt;br /&gt;
* we don't know what FOSS GIS products exist&lt;br /&gt;
* how do we choose between two or more competing FOSS GIS products that do the same thing&lt;br /&gt;
* how can we get training in FOSS GIS&lt;br /&gt;
* how do we migrate our existing set up to FOSS GIS&lt;br /&gt;
* how can we get (PAID and otherwise) support for FOSS GIS&lt;br /&gt;
* where can we get free data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There were also some heartwarming success stories of people who have already adopted FOSS in their businesses and municiplities etc. For me when I review the above laundry list of concerns and questions it becomes very obvious that we need to become organised. &lt;br /&gt;
&lt;br /&gt;
=== Getting organised ===&lt;br /&gt;
&lt;br /&gt;
As such I would like to take the initiative to propose that we form a 5 person working group to start to put things in place. Since I am proposing this, I obviously volunteer to be one of the members and I call on others on this list or beyond to answer this call to arms. The idea of the 5 person working group will be to bootstrap ourselves into an effective organisation which can make its presence felt both locally and beyond the shores of Africa. I also realise that this proposal may not be perfect so consider it a start that we can build on rather than a plan that has to be cast in stone. The main idea will be that each working group member will try to form a small team, typically of 5 members including the team member. Here follows a proposal for a team that will enable us to get organised and effective.&lt;br /&gt;
&lt;br /&gt;
'''Advocacy Leader:'''&lt;br /&gt;
&lt;br /&gt;
People don't know they have FOSS alternatives - we need to make them aware - including by making press releases, press materials, attending industry events, making contact with academic, municipal and state bodies and letting them know we exist and want to collaborate.&lt;br /&gt;
&lt;br /&gt;
Volunteer: Tim Sutton &amp;lt;tim at linfiniti.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Education Leader:'''&lt;br /&gt;
&lt;br /&gt;
We need to get FOSS GIS into schools, and provide open (e.g. creative commons) curricula. In the case of South Africa the National Curriculum Statement on Geography provides some (albeit vague) guidelines on how GIS should be included in the school curriculum (there is a link to this document on the GISSA website: [http://www.gissa.org.za/sig/education/school-gis School GIS]).&lt;br /&gt;
&lt;br /&gt;
Volunteer: ?&lt;br /&gt;
&lt;br /&gt;
'''Training Leader:'''&lt;br /&gt;
&lt;br /&gt;
* We need to train people to use FOSS GIS.&lt;br /&gt;
* First we need to train create a tier of experts / power users, second they need to train people in their local areas. &lt;br /&gt;
* We need to start  this &amp;quot;&amp;quot;soon&amp;quot;&amp;quot;. &lt;br /&gt;
* We need to do this on a free / cost recovery basis. &lt;br /&gt;
* We need to establish suitable venues in each regional center that can be used for training. &lt;br /&gt;
* We need to build up sets of Free (unencumbered) data that can be used by anyone&lt;br /&gt;
* We need to build up training materials that can be used to ease the process of training people.&lt;br /&gt;
&lt;br /&gt;
Volunteer Leader: ?&lt;br /&gt;
&lt;br /&gt;
'''Professional Support Leader:'''&lt;br /&gt;
&lt;br /&gt;
We need to create a body of professionals who can provide on the ground support - there is a huge business opportunity here - we need to take advantage.  We will call this the OSGeo Africa Professional Association (or something along those lines).  The group will among other things provide a directory of FOSS support and solution providers (along with their location). The group will act as an advisory body to organisations wishing to deploy FOSS GIS. We are floating the idea of forming a Cooperative to organise ourselves professionally See under 'Cooperatives development' in the left panel of http://www.dti.gov.za/. &lt;br /&gt;
&lt;br /&gt;
If you or your organisation provide any type of professional service already, get your details onto the OSGeo [[SPD|Service Provider Directory]] as a start. &lt;br /&gt;
&lt;br /&gt;
Volunteer: Brendon Wolff-Piggott &amp;lt;brendon AT integratedgeodata.co.za&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Community Leader:'''&lt;br /&gt;
&lt;br /&gt;
We need to build a community - this means building up a responsive, friendly mailing list. We also need to curate our area on the OSGeo wiki and build up other online resources that will allow new and established members in the OSGeo AFRICA community to find up to date relevant and helpful information to address their needs.&lt;br /&gt;
&lt;br /&gt;
Volunteer: ?&lt;br /&gt;
&lt;br /&gt;
=== Skills development strategy ===&lt;br /&gt;
&lt;br /&gt;
I'm thinking that since we are starting pretty much from ground zero we need to structure things in a 'knowledge ladder':&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                                      4 - Becoming a FOSSGIS developer&lt;br /&gt;
                         3 - Becoming a FOSSGIS Expert&lt;br /&gt;
           2 -  Becoming a FOSSGIS User&lt;br /&gt;
 1 - FOSSGIS Familiarisation&lt;br /&gt;
&lt;br /&gt;
My suggestion is that we do a first round of workshops which basically introduce a FOSSGIS software stack to users so the can understand what can be achieved with FOSSGIS. Following that we can continue with a next round where we start building skills in particular products e.g. a day training on postgis, followed by a day on QGIS etc etc. Of course we need not expect everyone to reach level 4. although it is my hope that we can build a caucus of FOSSGIS developers in Africa so that we can play a role in shaping the future of FOSSGIS and also building up our own local skills.&lt;br /&gt;
&lt;br /&gt;
The workshops can be repeated as demand dictates. Currently there is interest in Jhb, Cape Town, and now with your email Durbs. I thing the folks in East London may be interested too. It would be great if we can establish regional user groups that can eventually do the local organisation for workshops and then presenters can visit different regions and not have to manage all the arrangements solo. But to start lets aim to do 3 or 4 introductory workshops and work on from there. Workshops would be carried out at no charge for as long as we can sustain it - and we could look at ways to raise funds in order to make it sustainable - possible the likes of SITA etc could help out since what we doing would very much further the goals of skills development within FOSSGIS in South Africa. We should also look at how we can extend these activites further afield since other African countries can equally benifit.&lt;br /&gt;
&lt;br /&gt;
== Role Players ==&lt;br /&gt;
&lt;br /&gt;
Everyone can be a role player - this list is just a way to keep track of the various people involved - feel free to add yourself!&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
|-&lt;br /&gt;
!Who         &lt;br /&gt;
!Email     &lt;br /&gt;
!Where  &lt;br /&gt;
!Organisation &lt;br /&gt;
!Website&lt;br /&gt;
|- &lt;br /&gt;
|Tim Sutton   &lt;br /&gt;
|tim at linfiniti.com &lt;br /&gt;
|Jhb, will travel &lt;br /&gt;
|linfiniti consulting ( http://linfiniti.com )&lt;br /&gt;
|-              &lt;br /&gt;
| Stefaan Dondeyne &lt;br /&gt;
| stefaan_dondeyne at yahoo.co.uk    &lt;br /&gt;
| Mozambique?         &lt;br /&gt;
| Teaching QGIS in Mozambique                 &lt;br /&gt;
|-&lt;br /&gt;
| Brendon Wolff-Piggott&lt;br /&gt;
| brendon at integratedgeodata.co.za&lt;br /&gt;
| Pretoria, will travel&lt;br /&gt;
| integrated geodata solutions&lt;br /&gt;
|-&lt;br /&gt;
| Gavin Fleming&lt;br /&gt;
| gavinjfleming at gmail.com&lt;br /&gt;
| Jhb&lt;br /&gt;
| [http://tinyurl.com/MintekGIS Mintek]&lt;br /&gt;
|-&lt;br /&gt;
| Graeme McFerren&lt;br /&gt;
| graeme dot mcferren at gmail dot com&lt;br /&gt;
| Jhb/Pretoria&lt;br /&gt;
| GIS Researcher,  [http://www.meraka.org.za Meraka]&lt;br /&gt;
| [http://grimmeister.wordpress.com Southern Tip blog]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|-&lt;br /&gt;
| '''When'''&lt;br /&gt;
| '''Where'''&lt;br /&gt;
| '''Topic'''&lt;br /&gt;
| '''Programme'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| 29 November 2008&lt;br /&gt;
| Johannesburg&lt;br /&gt;
| Demo &amp;amp; Workshop covering PostGIS, GeoServer, uDig, QGIS&lt;br /&gt;
| [[AfricaEvents29November2008| Programme Here]]&lt;br /&gt;
| Our first local community event!&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Service Providers =&lt;br /&gt;
&lt;br /&gt;
OSGEO wiki has a comprehensive list of Service Providers offering support services around FOSS GIS software. For you convenience, here are quick links to African providers.&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''Country'''&lt;br /&gt;
|-&lt;br /&gt;
|[SouthAfrica http://tinyurl.com/osgeo-southafrica-providers]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Local Chapters]]&lt;br /&gt;
[[Category:Africa]]&lt;br /&gt;
[[Category:FOSS4G2008]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Africa_Local_Chapter&amp;diff=33203</id>
		<title>Africa Local Chapter</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Africa_Local_Chapter&amp;diff=33203"/>
		<updated>2008-12-10T14:16:45Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Role Players */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The OSGeo Africa Local Chapter, just a mailing list since 2005, is now starting the formal establishment process as per [[Local_Chapter_Guidelines]] after a successful FOSS4G 2008 in Cape Town. This page is where planning for that is taking place. &lt;br /&gt;
&lt;br /&gt;
We already have a 'home' with [http://www.gissa.org.za/gissa/sig/opensource/ GISSA] so we do not need to form a new association. At the moment that consists of turning the extant GISSA FOSS SIG (Special Interest Group) into the OSGeo Africa Local Chapter, with a seat on the GISSA National Council and access to the GISSA website, meetings and other resources.  &lt;br /&gt;
&lt;br /&gt;
Please join the [http://lists.osgeo.org/mailman/listinfo/africa Africa] mailing list, and review the [http://lists.osgeo.org/pipermail/africa/ archive].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A RoadMap for OSGeo Africa ==&lt;br /&gt;
[[Image:Osgeo-africa-logo-small.png‎]]&lt;br /&gt;
=== What is needed ===&lt;br /&gt;
&lt;br /&gt;
Some common refrains from amongst the people I spoke to at FOSS4G2008:&lt;br /&gt;
&lt;br /&gt;
* we don't know what FOSS GIS products exist&lt;br /&gt;
* how do we choose between two or more competing FOSS GIS products that do the same thing&lt;br /&gt;
* how can we get training in FOSS GIS&lt;br /&gt;
* how do we migrate our existing set up to FOSS GIS&lt;br /&gt;
* how can we get (PAID and otherwise) support for FOSS GIS&lt;br /&gt;
* where can we get free data&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There were also some heartwarming success stories of people who have already adopted FOSS in their businesses and municiplities etc. For me when I review the above laundry list of concerns and questions it becomes very obvious that we need to become organised. &lt;br /&gt;
&lt;br /&gt;
=== Getting organised ===&lt;br /&gt;
&lt;br /&gt;
As such I would like to take the initiative to propose that we form a 5 person working group to start to put things in place. Since I am proposing this, I obviously volunteer to be one of the members and I call on others on this list or beyond to answer this call to arms. The idea of the 5 person working group will be to bootstrap ourselves into an effective organisation which can make its presence felt both locally and beyond the shores of Africa. I also realise that this proposal may not be perfect so consider it a start that we can build on rather than a plan that has to be cast in stone. The main idea will be that each working group member will try to form a small team, typically of 5 members including the team member. Here follows a proposal for a team that will enable us to get organised and effective.&lt;br /&gt;
&lt;br /&gt;
'''Advocacy Leader:'''&lt;br /&gt;
&lt;br /&gt;
People don't know they have FOSS alternatives - we need to make them aware - including by making press releases, press materials, attending industry events, making contact with academic, municipal and state bodies and letting them know we exist and want to collaborate.&lt;br /&gt;
&lt;br /&gt;
Volunteer: Tim Sutton &amp;lt;tim at linfiniti.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Education Leader:'''&lt;br /&gt;
&lt;br /&gt;
We need to get FOSS GIS into schools, and provide open (e.g. creative commons) curricula. In the case of South Africa the National Curriculum Statement on Geography provides some (albeit vague) guidelines on how GIS should be included in the school curriculum (there is a link to this document on the GISSA website: [http://www.gissa.org.za/sig/education/school-gis School GIS]).&lt;br /&gt;
&lt;br /&gt;
Volunteer: ?&lt;br /&gt;
&lt;br /&gt;
'''Training Leader:'''&lt;br /&gt;
&lt;br /&gt;
* We need to train people to use FOSS GIS.&lt;br /&gt;
* First we need to train create a tier of experts / power users, second they need to train people in their local areas. &lt;br /&gt;
* We need to start  this &amp;quot;&amp;quot;soon&amp;quot;&amp;quot;. &lt;br /&gt;
* We need to do this on a free / cost recovery basis. &lt;br /&gt;
* We need to establish suitable venues in each regional center that can be used for training. &lt;br /&gt;
* We need to build up sets of Free (unencumbered) data that can be used by anyone&lt;br /&gt;
* We need to build up training materials that can be used to ease the process of training people.&lt;br /&gt;
&lt;br /&gt;
Volunteer Leader: ?&lt;br /&gt;
&lt;br /&gt;
'''Professional Support Leader:'''&lt;br /&gt;
&lt;br /&gt;
We need to create a body of professionals who can provide on the ground support - there is a huge business opportunity here - we need to take advantage.  We will call this the OSGeo Africa Professional Association (or something along those lines).  The group will among other things provide a directory of FOSS support and solution providers (along with their location). The group will act as an advisory body to organisations wishing to deploy FOSS GIS. We are floating the idea of forming a Cooperative to organise ourselves professionally See under 'Cooperatives development' in the left panel of http://www.dti.gov.za/. &lt;br /&gt;
&lt;br /&gt;
If you or your organisation provide any type of professional service already, get your details onto the OSGeo [[SPD|Service Provider Directory]] as a start. &lt;br /&gt;
&lt;br /&gt;
Volunteer: Brendon Wolff-Piggott &amp;lt;brendon AT integratedgeodata.co.za&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Community Leader:'''&lt;br /&gt;
&lt;br /&gt;
We need to build a community - this means building up a responsive, friendly mailing list. We also need to curate our area on the OSGeo wiki and build up other online resources that will allow new and established members in the OSGeo AFRICA community to find up to date relevant and helpful information to address their needs.&lt;br /&gt;
&lt;br /&gt;
Volunteer: ?&lt;br /&gt;
&lt;br /&gt;
=== Skills development strategy ===&lt;br /&gt;
&lt;br /&gt;
I'm thinking that since we are starting pretty much from ground zero we need to structure things in a 'knowledge ladder':&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                                      4 - Becoming a FOSSGIS developer&lt;br /&gt;
                         3 - Becoming a FOSSGIS Expert&lt;br /&gt;
           2 -  Becoming a FOSSGIS User&lt;br /&gt;
 1 - FOSSGIS Familiarisation&lt;br /&gt;
&lt;br /&gt;
My suggestion is that we do a first round of workshops which basically introduce a FOSSGIS software stack to users so the can understand what can be achieved with FOSSGIS. Following that we can continue with a next round where we start building skills in particular products e.g. a day training on postgis, followed by a day on QGIS etc etc. Of course we need not expect everyone to reach level 4. although it is my hope that we can build a caucus of FOSSGIS developers in Africa so that we can play a role in shaping the future of FOSSGIS and also building up our own local skills.&lt;br /&gt;
&lt;br /&gt;
The workshops can be repeated as demand dictates. Currently there is interest in Jhb, Cape Town, and now with your email Durbs. I thing the folks in East London may be interested too. It would be great if we can establish regional user groups that can eventually do the local organisation for workshops and then presenters can visit different regions and not have to manage all the arrangements solo. But to start lets aim to do 3 or 4 introductory workshops and work on from there. Workshops would be carried out at no charge for as long as we can sustain it - and we could look at ways to raise funds in order to make it sustainable - possible the likes of SITA etc could help out since what we doing would very much further the goals of skills development within FOSSGIS in South Africa. We should also look at how we can extend these activites further afield since other African countries can equally benifit.&lt;br /&gt;
&lt;br /&gt;
== Role Players ==&lt;br /&gt;
&lt;br /&gt;
Everyone can be a role player - this list is just a way to keep track of the various people involved - feel free to add yourself!&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
|-&lt;br /&gt;
!Who         &lt;br /&gt;
!Email     &lt;br /&gt;
!Where  &lt;br /&gt;
!Organisation &lt;br /&gt;
|- &lt;br /&gt;
|Tim Sutton   &lt;br /&gt;
|tim at linfiniti.com &lt;br /&gt;
|Jhb, will travel &lt;br /&gt;
|linfiniti consulting ( http://linfiniti.com )&lt;br /&gt;
|-              &lt;br /&gt;
| Stefaan Dondeyne &lt;br /&gt;
| stefaan_dondeyne at yahoo.co.uk    &lt;br /&gt;
| Mozambique?         &lt;br /&gt;
| Teaching QGIS in Mozambique                 &lt;br /&gt;
|-&lt;br /&gt;
| Brendon Wolff-Piggott&lt;br /&gt;
| brendon at integratedgeodata.co.za&lt;br /&gt;
| Pretoria, will travel&lt;br /&gt;
| integrated geodata solutions&lt;br /&gt;
|-&lt;br /&gt;
| Gavin Fleming&lt;br /&gt;
| gavinjfleming at gmail.com&lt;br /&gt;
| Jhb&lt;br /&gt;
| [http://tinyurl.com/MintekGIS Mintek]&lt;br /&gt;
|-&lt;br /&gt;
| Graeme McFerren&lt;br /&gt;
| graeme dot mcferren at gmail dot com&lt;br /&gt;
| Jhb/Pretoria&lt;br /&gt;
| GIS Researcher,  [http://www.meraka.org.za Meraka]&lt;br /&gt;
| [http://grimmeister.wordpress.com Southern Tip blog]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|-&lt;br /&gt;
| '''When'''&lt;br /&gt;
| '''Where'''&lt;br /&gt;
| '''Topic'''&lt;br /&gt;
| '''Programme'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| 29 November 2008&lt;br /&gt;
| Johannesburg&lt;br /&gt;
| Demo &amp;amp; Workshop covering PostGIS, GeoServer, uDig, QGIS&lt;br /&gt;
| [[AfricaEvents29November2008| Programme Here]]&lt;br /&gt;
| Our first local community event!&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Service Providers =&lt;br /&gt;
&lt;br /&gt;
OSGEO wiki has a comprehensive list of Service Providers offering support services around FOSS GIS software. For you convenience, here are quick links to African providers.&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
|-&lt;br /&gt;
|'''Country'''&lt;br /&gt;
|-&lt;br /&gt;
|[SouthAfrica http://tinyurl.com/osgeo-southafrica-providers]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Local Chapters]]&lt;br /&gt;
[[Category:Africa]]&lt;br /&gt;
[[Category:FOSS4G2008]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32658</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32658"/>
		<updated>2008-11-29T01:12:06Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* The voema of PostGIS - not jsut a place to store data! */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal).&lt;br /&gt;
'''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. &lt;br /&gt;
 * Note the geometry type of column 'the_geom'. &lt;br /&gt;
 * Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 ProvincialBoundary.shp -&amp;gt; call the table 'provinces'&lt;br /&gt;
&lt;br /&gt;
And to show that this can scale a bit, let us load in the background a dataset of over 350 000 points (which we will use a bit later)&lt;br /&gt;
 * cd /home/workshop/gisdata/za/fire/modis_af/&lt;br /&gt;
 * shp2pgsql -I -s 4326 modis_af.shp fires | psql workshop  &amp;amp;&amp;gt; /dev/null (puts output into background)&lt;br /&gt;
&lt;br /&gt;
This takes a while so lets move on.&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== The Zen of PostGIS - not just a pretty place to store data! ==&lt;br /&gt;
&lt;br /&gt;
Okay, we will go a bit deeper into the woods here! We want to show that with some SQL (I won't say simple) you can do some complex - and repeatable - spatial analysis right inside your database, and then visualise the results in various clients.&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
We will use pgAdmin (your great PostgreSQL friend) to get this happening. Click on the Tables object of your workshop db. Then Tools -&amp;gt; Query tool from the menu. This should present a dialog box with 3 panels.&lt;br /&gt;
&lt;br /&gt;
We are going to do a simple intersection to get started.&lt;br /&gt;
In the top left panel paste &lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE (roads.the_geom &amp;amp;&amp;amp; rivers.the_geom AND intersects(roads.the_geom, rivers.the_geom));&lt;br /&gt;
and click Query -&amp;gt; Execute&lt;br /&gt;
This should take a few seconds, then you will see a result returned into the Data Output grid. Something like 3338 rows are returned from the original roads dataset of 11964.&lt;br /&gt;
&lt;br /&gt;
So what is going on here?&lt;br /&gt;
&lt;br /&gt;
You are performing a spatial overlay with a SQL query, asking the database to return records from the roads table that spatially intersect records from the rivers table. &lt;br /&gt;
* the &amp;amp;&amp;amp; operator is a fast bounding box 'overlaps' test that takes advantage of the spatial indexes of the table to narrow the search space for the true intersection test.&lt;br /&gt;
* the intersects part of the query tests the geometries of the subset selected above for spatial intersection and returns a result.&lt;br /&gt;
&lt;br /&gt;
To show some other functionality, paste the following text into the query window and execute:&lt;br /&gt;
 ALTER TABLE roads DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'roads';COMMIT; UPDATE roads SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE roads ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
We are being good South African GIS types and using our Haartebeesthoek94 Datum. Lets do the same for rivers:&lt;br /&gt;
 ALTER TABLE rivers DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'rivers';COMMIT; UPDATE rivers SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE rivers ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
This looks fairly intense, but the main points are the changing of the data in the geometry_columns meta-table and then updating the geometries in each table to a different CRS (4148, or Haartebeesthoek94). We demonstrate the use of the UPDATE SQL command, used to change data in the database, and the use of the ST_Transform function of PostGIS, which does the work. Now lets try the original query again:&lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE st_intersects(roads.the_geom, rivers.the_geom);&lt;br /&gt;
...which returns the same number of features, but in our own CRS. Note that we have used the ST_Intersects function rather than the Intersects function as previously shown. ST_ type functions are more standards compliant, so should be used in place of the older style functions.&lt;br /&gt;
Ideally we would project the data as appropriate, using the very same technique, but substituting 4148 for the EPSG code for our projection of choice. This is a demo though, folks, so I will get away with murder...&lt;br /&gt;
Lets quickly repeat the process for the other datasets we will use in a minute:&lt;br /&gt;
 ALTER TABLE provinces DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'provinces';COMMIT; UPDATE provinces SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE provinces ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
 ALTER TABLE fires DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'fires';COMMIT; UPDATE fires SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE fires ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
So, while that goes ahead (it will take a minute or so to transform 350k points), let us think out another analysis. Lets make it a bit tricky. Okay, we want to create a table for serving up data to the outside world (Gavin will do this later) that has all the intense fires in Gauteng or NorthWest Province, that have occurred within 3000 metres of a main road. There are many ways to skin this cat in PostGIS, so I will pick a method and explain why I did so.&lt;br /&gt;
First, a convenience table is created:&lt;br /&gt;
 SELECT roads.gid, ST_Buffer(roads.the_geom,0.027) AS geom INTO roads_buffer FROM roads, (SELECT * FROM provinces WHERE prov_code = 'GT' OR prov_code = 'NW') AS prov WHERE ST_Within(roads.the_geom, prov.the_geom);&lt;br /&gt;
This is a table of polygons representing ~3000 metre road buffers, and note the use of the function to populate the geometry_columns meta-table with our new layer.&lt;br /&gt;
 SELECT DISTINCT fires.gid, fires.frp, fires.acqdatetim, fires.the_geom INTO fires_analysis_3000m FROM fires, (SELECT * FROM provinces WHERE prov_code = 'GT' OR prov_code = 'NW') AS prov, roads_buffer  WHERE fires.frp &amp;gt; 200 AND ST_Within(fires.the_geom, prov.the_geom) AND ST_Within(fires.the_geom, roads_buffer.geom);&lt;br /&gt;
The main feature of this query is the longish WHERE clause, which tests weather the fire is intense, whether it falls within Gauteng or NW Province and whether the fire occurred within appx 3000 metres of one of our main roads.&lt;br /&gt;
&lt;br /&gt;
There are not too many fires that fall out of this analysis, but it shows how we have relatively easily worked with and reduced a large dataset to a few points. These queries can be further tuned to take advantage of spatial and other indexes, but that is perhaps for another time.&lt;br /&gt;
&lt;br /&gt;
The final thing we will do is prepare this layer for use on the web...&lt;br /&gt;
 INSERT INTO geometry_columns(f_table_catalog,f_table_schema,f_table_name,f_geometry_column,coord_dimension,srid,&amp;quot;type&amp;quot;) VALUES('','public','fires_analysis_3000m','the_geom',2,4148,'MULTIPOINT');&lt;br /&gt;
Normal meta-table stuff&lt;br /&gt;
 ALTER TABLE fires_analysis_3000m ADD PRIMARY KEY (gid);&lt;br /&gt;
And if we wanted to we could add a spatial index:&lt;br /&gt;
 CREATE INDEX fires_Analysis_3000m_the_geom_gist ON fires_Analysis_3000m USING gist(the_geom);&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
Well, no you do not - but you can ask questions...&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
Well, hopefully a fair bit. You can, with a bit of practice and reading up on the matter, get PostGIS to do some rather interesting and powerful things. We have just seen a database do GIS... Some of you may be in the know about such matters, but hopefully this shows some possibilities to others.&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== Quick Qml with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
If you have used  ArcView before, you might have used the avl feature which lets you store the symbology settings for a layer. QGIS has a similar feature called 'qml' which lets you create default symbology settings for a layer, that will be applied when ever that layer is loaded. We are also going to take a quick peek at how to create more complex symbology for a layer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Open QGIS if its not already running.&lt;br /&gt;
* Add the dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
* Double click on the layer entry in the legend&lt;br /&gt;
* Activate the symbology tab&lt;br /&gt;
* Now change the legend type to '''Graduated Symbol'''&lt;br /&gt;
* Change the classification field to '''shape_area'''&lt;br /&gt;
* Set the '''number of classes''' to 5&lt;br /&gt;
* Click the '''classify''' button&lt;br /&gt;
* Click the '''Apply''' button&lt;br /&gt;
&lt;br /&gt;
You should see the shapes in the main window have now adopted a range of scintillating colours! However is you add that layer to another QGIS project you would normally have to do all this work again! Qml to the rescue.&lt;br /&gt;
&lt;br /&gt;
* Save your symbology settings by clicking the '''save as default''' button&lt;br /&gt;
&lt;br /&gt;
Ok lets test it out!&lt;br /&gt;
&lt;br /&gt;
* Close QGIS&lt;br /&gt;
* Reopen QGIS&lt;br /&gt;
* Add the Dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
&lt;br /&gt;
If the planets are correctly aligned, your dams will appear all beautifully coloured according to your personal preference.&lt;br /&gt;
&lt;br /&gt;
If you want to you can also save your settings as non-default, and them restore them by selecting a .qml file again later. Refer to the '''Load style''' and '''Save style''' buttons on the vector properties dialog.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
Ok give it a whirl, create default appearances for your other layers stored in your PostGIS database. Also try experimenting with the other legend types such as '''Continuous Colour''' and '''Unique Value'''. &lt;br /&gt;
Once you have set your default appearances, close QGIS and then reopen it. Now add all your PostGIS layers to the blank project and they should all magically appear with your preferred appearance.&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
The '''Layer Properties''' dialog in QGIS will let you specify the '''default appearance''' for a layer.&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32657</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32657"/>
		<updated>2008-11-29T01:11:01Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* What have I learned? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal).&lt;br /&gt;
'''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. &lt;br /&gt;
 * Note the geometry type of column 'the_geom'. &lt;br /&gt;
 * Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 ProvincialBoundary.shp -&amp;gt; call the table 'provinces'&lt;br /&gt;
&lt;br /&gt;
And to show that this can scale a bit, let us load in the background a dataset of over 350 000 points (which we will use a bit later)&lt;br /&gt;
 * cd /home/workshop/gisdata/za/fire/modis_af/&lt;br /&gt;
 * shp2pgsql -I -s 4326 modis_af.shp fires | psql workshop  &amp;amp;&amp;gt; /dev/null (puts output into background)&lt;br /&gt;
&lt;br /&gt;
This takes a while so lets move on.&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== The voema of PostGIS - not jsut a place to store data! ==&lt;br /&gt;
&lt;br /&gt;
Okay, we will go a bit deeper into the woods here! We want to show that with some SQL (I won't say simple) you can do some complex - and repeatable - spatial analysis right inside your database, and then visualise the results in various clients.&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
We will use pgAdmin (your great PostgreSQL friend) to get this happening. Click on the Tables object of your workshop db. Then Tools -&amp;gt; Query tool from the menu. This should present a dialog box with 3 panels.&lt;br /&gt;
&lt;br /&gt;
We are going to do a simple intersection to get started.&lt;br /&gt;
In the top left panel paste &lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE (roads.the_geom &amp;amp;&amp;amp; rivers.the_geom AND intersects(roads.the_geom, rivers.the_geom));&lt;br /&gt;
and click Query -&amp;gt; Execute&lt;br /&gt;
This should take a few seconds, then you will see a result returned into the Data Output grid. Something like 3338 rows are returned from the original roads dataset of 11964.&lt;br /&gt;
&lt;br /&gt;
So what is going on here?&lt;br /&gt;
&lt;br /&gt;
You are performing a spatial overlay with a SQL query, asking the database to return records from the roads table that spatially intersect records from the rivers table. &lt;br /&gt;
* the &amp;amp;&amp;amp; operator is a fast bounding box 'overlaps' test that takes advantage of the spatial indexes of the table to narrow the search space for the true intersection test.&lt;br /&gt;
* the intersects part of the query tests the geometries of the subset selected above for spatial intersection and returns a result.&lt;br /&gt;
&lt;br /&gt;
To show some other functionality, paste the following text into the query window and execute:&lt;br /&gt;
 ALTER TABLE roads DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'roads';COMMIT; UPDATE roads SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE roads ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
We are being good South African GIS types and using our Haartebeesthoek94 Datum. Lets do the same for rivers:&lt;br /&gt;
 ALTER TABLE rivers DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'rivers';COMMIT; UPDATE rivers SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE rivers ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
This looks fairly intense, but the main points are the changing of the data in the geometry_columns meta-table and then updating the geometries in each table to a different CRS (4148, or Haartebeesthoek94). We demonstrate the use of the UPDATE SQL command, used to change data in the database, and the use of the ST_Transform function of PostGIS, which does the work. Now lets try the original query again:&lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE st_intersects(roads.the_geom, rivers.the_geom);&lt;br /&gt;
...which returns the same number of features, but in our own CRS. Note that we have used the ST_Intersects function rather than the Intersects function as previously shown. ST_ type functions are more standards compliant, so should be used in place of the older style functions.&lt;br /&gt;
Ideally we would project the data as appropriate, using the very same technique, but substituting 4148 for the EPSG code for our projection of choice. This is a demo though, folks, so I will get away with murder...&lt;br /&gt;
Lets quickly repeat the process for the other datasets we will use in a minute:&lt;br /&gt;
 ALTER TABLE provinces DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'provinces';COMMIT; UPDATE provinces SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE provinces ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
 ALTER TABLE fires DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'fires';COMMIT; UPDATE fires SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE fires ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
So, while that goes ahead (it will take a minute or so to transform 350k points), let us think out another analysis. Lets make it a bit tricky. Okay, we want to create a table for serving up data to the outside world (Gavin will do this later) that has all the intense fires in Gauteng or NorthWest Province, that have occurred within 3000 metres of a main road. There are many ways to skin this cat in PostGIS, so I will pick a method and explain why I did so.&lt;br /&gt;
First, a convenience table is created:&lt;br /&gt;
 SELECT roads.gid, ST_Buffer(roads.the_geom,0.027) AS geom INTO roads_buffer FROM roads, (SELECT * FROM provinces WHERE prov_code = 'GT' OR prov_code = 'NW') AS prov WHERE ST_Within(roads.the_geom, prov.the_geom);&lt;br /&gt;
This is a table of polygons representing ~3000 metre road buffers, and note the use of the function to populate the geometry_columns meta-table with our new layer.&lt;br /&gt;
 SELECT DISTINCT fires.gid, fires.frp, fires.acqdatetim, fires.the_geom INTO fires_analysis_3000m FROM fires, (SELECT * FROM provinces WHERE prov_code = 'GT' OR prov_code = 'NW') AS prov, roads_buffer  WHERE fires.frp &amp;gt; 200 AND ST_Within(fires.the_geom, prov.the_geom) AND ST_Within(fires.the_geom, roads_buffer.geom);&lt;br /&gt;
The main feature of this query is the longish WHERE clause, which tests weather the fire is intense, whether it falls within Gauteng or NW Province and whether the fire occurred within appx 3000 metres of one of our main roads.&lt;br /&gt;
&lt;br /&gt;
There are not too many fires that fall out of this analysis, but it shows how we have relatively easily worked with and reduced a large dataset to a few points. These queries can be further tuned to take advantage of spatial and other indexes, but that is perhaps for another time.&lt;br /&gt;
&lt;br /&gt;
The final thing we will do is prepare this layer for use on the web...&lt;br /&gt;
 INSERT INTO geometry_columns(f_table_catalog,f_table_schema,f_table_name,f_geometry_column,coord_dimension,srid,&amp;quot;type&amp;quot;) VALUES('','public','fires_analysis_3000m','the_geom',2,4148,'MULTIPOINT');&lt;br /&gt;
Normal meta-table stuff&lt;br /&gt;
 ALTER TABLE fires_analysis_3000m ADD PRIMARY KEY (gid);&lt;br /&gt;
And if we wanted to we could add a spatial index:&lt;br /&gt;
 CREATE INDEX fires_Analysis_3000m_the_geom_gist ON fires_Analysis_3000m USING gist(the_geom);&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
Well, no you do not - but you can ask questions...&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
Well, hopefully a fair bit. You can, with a bit of practice and reading up on the matter, get PostGIS to do some rather interesting and powerful things. We have just seen a database do GIS... Some of you may be in the know about such matters, but hopefully this shows some possibilities to others.&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== Quick Qml with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
If you have used  ArcView before, you might have used the avl feature which lets you store the symbology settings for a layer. QGIS has a similar feature called 'qml' which lets you create default symbology settings for a layer, that will be applied when ever that layer is loaded. We are also going to take a quick peek at how to create more complex symbology for a layer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Open QGIS if its not already running.&lt;br /&gt;
* Add the dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
* Double click on the layer entry in the legend&lt;br /&gt;
* Activate the symbology tab&lt;br /&gt;
* Now change the legend type to '''Graduated Symbol'''&lt;br /&gt;
* Change the classification field to '''shape_area'''&lt;br /&gt;
* Set the '''number of classes''' to 5&lt;br /&gt;
* Click the '''classify''' button&lt;br /&gt;
* Click the '''Apply''' button&lt;br /&gt;
&lt;br /&gt;
You should see the shapes in the main window have now adopted a range of scintillating colours! However is you add that layer to another QGIS project you would normally have to do all this work again! Qml to the rescue.&lt;br /&gt;
&lt;br /&gt;
* Save your symbology settings by clicking the '''save as default''' button&lt;br /&gt;
&lt;br /&gt;
Ok lets test it out!&lt;br /&gt;
&lt;br /&gt;
* Close QGIS&lt;br /&gt;
* Reopen QGIS&lt;br /&gt;
* Add the Dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
&lt;br /&gt;
If the planets are correctly aligned, your dams will appear all beautifully coloured according to your personal preference.&lt;br /&gt;
&lt;br /&gt;
If you want to you can also save your settings as non-default, and them restore them by selecting a .qml file again later. Refer to the '''Load style''' and '''Save style''' buttons on the vector properties dialog.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
Ok give it a whirl, create default appearances for your other layers stored in your PostGIS database. Also try experimenting with the other legend types such as '''Continuous Colour''' and '''Unique Value'''. &lt;br /&gt;
Once you have set your default appearances, close QGIS and then reopen it. Now add all your PostGIS layers to the blank project and they should all magically appear with your preferred appearance.&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
The '''Layer Properties''' dialog in QGIS will let you specify the '''default appearance''' for a layer.&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32656</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32656"/>
		<updated>2008-11-29T01:07:49Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Now you try! */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal).&lt;br /&gt;
'''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. &lt;br /&gt;
 * Note the geometry type of column 'the_geom'. &lt;br /&gt;
 * Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 ProvincialBoundary.shp -&amp;gt; call the table 'provinces'&lt;br /&gt;
&lt;br /&gt;
And to show that this can scale a bit, let us load in the background a dataset of over 350 000 points (which we will use a bit later)&lt;br /&gt;
 * cd /home/workshop/gisdata/za/fire/modis_af/&lt;br /&gt;
 * shp2pgsql -I -s 4326 modis_af.shp fires | psql workshop  &amp;amp;&amp;gt; /dev/null (puts output into background)&lt;br /&gt;
&lt;br /&gt;
This takes a while so lets move on.&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== The voema of PostGIS - not jsut a place to store data! ==&lt;br /&gt;
&lt;br /&gt;
Okay, we will go a bit deeper into the woods here! We want to show that with some SQL (I won't say simple) you can do some complex - and repeatable - spatial analysis right inside your database, and then visualise the results in various clients.&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
We will use pgAdmin (your great PostgreSQL friend) to get this happening. Click on the Tables object of your workshop db. Then Tools -&amp;gt; Query tool from the menu. This should present a dialog box with 3 panels.&lt;br /&gt;
&lt;br /&gt;
We are going to do a simple intersection to get started.&lt;br /&gt;
In the top left panel paste &lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE (roads.the_geom &amp;amp;&amp;amp; rivers.the_geom AND intersects(roads.the_geom, rivers.the_geom));&lt;br /&gt;
and click Query -&amp;gt; Execute&lt;br /&gt;
This should take a few seconds, then you will see a result returned into the Data Output grid. Something like 3338 rows are returned from the original roads dataset of 11964.&lt;br /&gt;
&lt;br /&gt;
So what is going on here?&lt;br /&gt;
&lt;br /&gt;
You are performing a spatial overlay with a SQL query, asking the database to return records from the roads table that spatially intersect records from the rivers table. &lt;br /&gt;
* the &amp;amp;&amp;amp; operator is a fast bounding box 'overlaps' test that takes advantage of the spatial indexes of the table to narrow the search space for the true intersection test.&lt;br /&gt;
* the intersects part of the query tests the geometries of the subset selected above for spatial intersection and returns a result.&lt;br /&gt;
&lt;br /&gt;
To show some other functionality, paste the following text into the query window and execute:&lt;br /&gt;
 ALTER TABLE roads DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'roads';COMMIT; UPDATE roads SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE roads ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
We are being good South African GIS types and using our Haartebeesthoek94 Datum. Lets do the same for rivers:&lt;br /&gt;
 ALTER TABLE rivers DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'rivers';COMMIT; UPDATE rivers SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE rivers ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
This looks fairly intense, but the main points are the changing of the data in the geometry_columns meta-table and then updating the geometries in each table to a different CRS (4148, or Haartebeesthoek94). We demonstrate the use of the UPDATE SQL command, used to change data in the database, and the use of the ST_Transform function of PostGIS, which does the work. Now lets try the original query again:&lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE st_intersects(roads.the_geom, rivers.the_geom);&lt;br /&gt;
...which returns the same number of features, but in our own CRS. Note that we have used the ST_Intersects function rather than the Intersects function as previously shown. ST_ type functions are more standards compliant, so should be used in place of the older style functions.&lt;br /&gt;
Ideally we would project the data as appropriate, using the very same technique, but substituting 4148 for the EPSG code for our projection of choice. This is a demo though, folks, so I will get away with murder...&lt;br /&gt;
Lets quickly repeat the process for the other datasets we will use in a minute:&lt;br /&gt;
 ALTER TABLE provinces DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'provinces';COMMIT; UPDATE provinces SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE provinces ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
 ALTER TABLE fires DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'fires';COMMIT; UPDATE fires SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE fires ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
So, while that goes ahead (it will take a minute or so to transform 350k points), let us think out another analysis. Lets make it a bit tricky. Okay, we want to create a table for serving up data to the outside world (Gavin will do this later) that has all the intense fires in Gauteng or NorthWest Province, that have occurred within 3000 metres of a main road. There are many ways to skin this cat in PostGIS, so I will pick a method and explain why I did so.&lt;br /&gt;
First, a convenience table is created:&lt;br /&gt;
 SELECT roads.gid, ST_Buffer(roads.the_geom,0.027) AS geom INTO roads_buffer FROM roads, (SELECT * FROM provinces WHERE prov_code = 'GT' OR prov_code = 'NW') AS prov WHERE ST_Within(roads.the_geom, prov.the_geom);&lt;br /&gt;
This is a table of polygons representing ~3000 metre road buffers, and note the use of the function to populate the geometry_columns meta-table with our new layer.&lt;br /&gt;
 SELECT DISTINCT fires.gid, fires.frp, fires.acqdatetim, fires.the_geom INTO fires_analysis_3000m FROM fires, (SELECT * FROM provinces WHERE prov_code = 'GT' OR prov_code = 'NW') AS prov, roads_buffer  WHERE fires.frp &amp;gt; 200 AND ST_Within(fires.the_geom, prov.the_geom) AND ST_Within(fires.the_geom, roads_buffer.geom);&lt;br /&gt;
The main feature of this query is the longish WHERE clause, which tests weather the fire is intense, whether it falls within Gauteng or NW Province and whether the fire occurred within appx 3000 metres of one of our main roads.&lt;br /&gt;
&lt;br /&gt;
There are not too many fires that fall out of this analysis, but it shows how we have relatively easily worked with and reduced a large dataset to a few points. These queries can be further tuned to take advantage of spatial and other indexes, but that is perhaps for another time.&lt;br /&gt;
&lt;br /&gt;
The final thing we will do is prepare this layer for use on the web...&lt;br /&gt;
 INSERT INTO geometry_columns(f_table_catalog,f_table_schema,f_table_name,f_geometry_column,coord_dimension,srid,&amp;quot;type&amp;quot;) VALUES('','public','fires_analysis_3000m','the_geom',2,4148,'MULTIPOINT');&lt;br /&gt;
Normal meta-table stuff&lt;br /&gt;
 ALTER TABLE fires_analysis_3000m ADD PRIMARY KEY (gid);&lt;br /&gt;
And if we wanted to we could add a spatial index:&lt;br /&gt;
 CREATE INDEX fires_Analysis_3000m_the_geom_gist ON fires_Analysis_3000m USING gist(the_geom);&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
Well, no you do not - but you can ask questions...&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== Quick Qml with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
If you have used  ArcView before, you might have used the avl feature which lets you store the symbology settings for a layer. QGIS has a similar feature called 'qml' which lets you create default symbology settings for a layer, that will be applied when ever that layer is loaded. We are also going to take a quick peek at how to create more complex symbology for a layer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Open QGIS if its not already running.&lt;br /&gt;
* Add the dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
* Double click on the layer entry in the legend&lt;br /&gt;
* Activate the symbology tab&lt;br /&gt;
* Now change the legend type to '''Graduated Symbol'''&lt;br /&gt;
* Change the classification field to '''shape_area'''&lt;br /&gt;
* Set the '''number of classes''' to 5&lt;br /&gt;
* Click the '''classify''' button&lt;br /&gt;
* Click the '''Apply''' button&lt;br /&gt;
&lt;br /&gt;
You should see the shapes in the main window have now adopted a range of scintillating colours! However is you add that layer to another QGIS project you would normally have to do all this work again! Qml to the rescue.&lt;br /&gt;
&lt;br /&gt;
* Save your symbology settings by clicking the '''save as default''' button&lt;br /&gt;
&lt;br /&gt;
Ok lets test it out!&lt;br /&gt;
&lt;br /&gt;
* Close QGIS&lt;br /&gt;
* Reopen QGIS&lt;br /&gt;
* Add the Dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
&lt;br /&gt;
If the planets are correctly aligned, your dams will appear all beautifully coloured according to your personal preference.&lt;br /&gt;
&lt;br /&gt;
If you want to you can also save your settings as non-default, and them restore them by selecting a .qml file again later. Refer to the '''Load style''' and '''Save style''' buttons on the vector properties dialog.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
Ok give it a whirl, create default appearances for your other layers stored in your PostGIS database. Also try experimenting with the other legend types such as '''Continuous Colour''' and '''Unique Value'''. &lt;br /&gt;
Once you have set your default appearances, close QGIS and then reopen it. Now add all your PostGIS layers to the blank project and they should all magically appear with your preferred appearance.&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
The '''Layer Properties''' dialog in QGIS will let you specify the '''default appearance''' for a layer.&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32655</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32655"/>
		<updated>2008-11-29T01:06:51Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* First we show you */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal).&lt;br /&gt;
'''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. &lt;br /&gt;
 * Note the geometry type of column 'the_geom'. &lt;br /&gt;
 * Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 ProvincialBoundary.shp -&amp;gt; call the table 'provinces'&lt;br /&gt;
&lt;br /&gt;
And to show that this can scale a bit, let us load in the background a dataset of over 350 000 points (which we will use a bit later)&lt;br /&gt;
 * cd /home/workshop/gisdata/za/fire/modis_af/&lt;br /&gt;
 * shp2pgsql -I -s 4326 modis_af.shp fires | psql workshop  &amp;amp;&amp;gt; /dev/null (puts output into background)&lt;br /&gt;
&lt;br /&gt;
This takes a while so lets move on.&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== The voema of PostGIS - not jsut a place to store data! ==&lt;br /&gt;
&lt;br /&gt;
Okay, we will go a bit deeper into the woods here! We want to show that with some SQL (I won't say simple) you can do some complex - and repeatable - spatial analysis right inside your database, and then visualise the results in various clients.&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
We will use pgAdmin (your great PostgreSQL friend) to get this happening. Click on the Tables object of your workshop db. Then Tools -&amp;gt; Query tool from the menu. This should present a dialog box with 3 panels.&lt;br /&gt;
&lt;br /&gt;
We are going to do a simple intersection to get started.&lt;br /&gt;
In the top left panel paste &lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE (roads.the_geom &amp;amp;&amp;amp; rivers.the_geom AND intersects(roads.the_geom, rivers.the_geom));&lt;br /&gt;
and click Query -&amp;gt; Execute&lt;br /&gt;
This should take a few seconds, then you will see a result returned into the Data Output grid. Something like 3338 rows are returned from the original roads dataset of 11964.&lt;br /&gt;
&lt;br /&gt;
So what is going on here?&lt;br /&gt;
&lt;br /&gt;
You are performing a spatial overlay with a SQL query, asking the database to return records from the roads table that spatially intersect records from the rivers table. &lt;br /&gt;
* the &amp;amp;&amp;amp; operator is a fast bounding box 'overlaps' test that takes advantage of the spatial indexes of the table to narrow the search space for the true intersection test.&lt;br /&gt;
* the intersects part of the query tests the geometries of the subset selected above for spatial intersection and returns a result.&lt;br /&gt;
&lt;br /&gt;
To show some other functionality, paste the following text into the query window and execute:&lt;br /&gt;
 ALTER TABLE roads DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'roads';COMMIT; UPDATE roads SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE roads ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
We are being good South African GIS types and using our Haartebeesthoek94 Datum. Lets do the same for rivers:&lt;br /&gt;
 ALTER TABLE rivers DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'rivers';COMMIT; UPDATE rivers SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE rivers ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
This looks fairly intense, but the main points are the changing of the data in the geometry_columns meta-table and then updating the geometries in each table to a different CRS (4148, or Haartebeesthoek94). We demonstrate the use of the UPDATE SQL command, used to change data in the database, and the use of the ST_Transform function of PostGIS, which does the work. Now lets try the original query again:&lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE st_intersects(roads.the_geom, rivers.the_geom);&lt;br /&gt;
...which returns the same number of features, but in our own CRS. Note that we have used the ST_Intersects function rather than the Intersects function as previously shown. ST_ type functions are more standards compliant, so should be used in place of the older style functions.&lt;br /&gt;
Ideally we would project the data as appropriate, using the very same technique, but substituting 4148 for the EPSG code for our projection of choice. This is a demo though, folks, so I will get away with murder...&lt;br /&gt;
Lets quickly repeat the process for the other datasets we will use in a minute:&lt;br /&gt;
 ALTER TABLE provinces DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'provinces';COMMIT; UPDATE provinces SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE provinces ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
 ALTER TABLE fires DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'fires';COMMIT; UPDATE fires SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE fires ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
So, while that goes ahead (it will take a minute or so to transform 350k points), let us think out another analysis. Lets make it a bit tricky. Okay, we want to create a table for serving up data to the outside world (Gavin will do this later) that has all the intense fires in Gauteng or NorthWest Province, that have occurred within 3000 metres of a main road. There are many ways to skin this cat in PostGIS, so I will pick a method and explain why I did so.&lt;br /&gt;
First, a convenience table is created:&lt;br /&gt;
 SELECT roads.gid, ST_Buffer(roads.the_geom,0.027) AS geom INTO roads_buffer FROM roads, (SELECT * FROM provinces WHERE prov_code = 'GT' OR prov_code = 'NW') AS prov WHERE ST_Within(roads.the_geom, prov.the_geom);&lt;br /&gt;
This is a table of polygons representing ~3000 metre road buffers, and note the use of the function to populate the geometry_columns meta-table with our new layer.&lt;br /&gt;
 SELECT DISTINCT fires.gid, fires.frp, fires.acqdatetim, fires.the_geom INTO fires_analysis_3000m FROM fires, (SELECT * FROM provinces WHERE prov_code = 'GT' OR prov_code = 'NW') AS prov, roads_buffer  WHERE fires.frp &amp;gt; 200 AND ST_Within(fires.the_geom, prov.the_geom) AND ST_Within(fires.the_geom, roads_buffer.geom);&lt;br /&gt;
The main feature of this query is the longish WHERE clause, which tests weather the fire is intense, whether it falls within Gauteng or NW Province and whether the fire occurred within appx 3000 metres of one of our main roads.&lt;br /&gt;
&lt;br /&gt;
There are not too many fires that fall out of this analysis, but it shows how we have relatively easily worked with and reduced a large dataset to a few points. These queries can be further tuned to take advantage of spatial and other indexes, but that is perhaps for another time.&lt;br /&gt;
&lt;br /&gt;
The final thing we will do is prepare this layer for use on the web...&lt;br /&gt;
 INSERT INTO geometry_columns(f_table_catalog,f_table_schema,f_table_name,f_geometry_column,coord_dimension,srid,&amp;quot;type&amp;quot;) VALUES('','public','fires_analysis_3000m','the_geom',2,4148,'MULTIPOINT');&lt;br /&gt;
Normal meta-table stuff&lt;br /&gt;
 ALTER TABLE fires_analysis_3000m ADD PRIMARY KEY (gid);&lt;br /&gt;
And if we wanted to we could add a spatial index:&lt;br /&gt;
 CREATE INDEX fires_Analysis_3000m_the_geom_gist ON fires_Analysis_3000m USING gist(the_geom);&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== Quick Qml with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
If you have used  ArcView before, you might have used the avl feature which lets you store the symbology settings for a layer. QGIS has a similar feature called 'qml' which lets you create default symbology settings for a layer, that will be applied when ever that layer is loaded. We are also going to take a quick peek at how to create more complex symbology for a layer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Open QGIS if its not already running.&lt;br /&gt;
* Add the dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
* Double click on the layer entry in the legend&lt;br /&gt;
* Activate the symbology tab&lt;br /&gt;
* Now change the legend type to '''Graduated Symbol'''&lt;br /&gt;
* Change the classification field to '''shape_area'''&lt;br /&gt;
* Set the '''number of classes''' to 5&lt;br /&gt;
* Click the '''classify''' button&lt;br /&gt;
* Click the '''Apply''' button&lt;br /&gt;
&lt;br /&gt;
You should see the shapes in the main window have now adopted a range of scintillating colours! However is you add that layer to another QGIS project you would normally have to do all this work again! Qml to the rescue.&lt;br /&gt;
&lt;br /&gt;
* Save your symbology settings by clicking the '''save as default''' button&lt;br /&gt;
&lt;br /&gt;
Ok lets test it out!&lt;br /&gt;
&lt;br /&gt;
* Close QGIS&lt;br /&gt;
* Reopen QGIS&lt;br /&gt;
* Add the Dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
&lt;br /&gt;
If the planets are correctly aligned, your dams will appear all beautifully coloured according to your personal preference.&lt;br /&gt;
&lt;br /&gt;
If you want to you can also save your settings as non-default, and them restore them by selecting a .qml file again later. Refer to the '''Load style''' and '''Save style''' buttons on the vector properties dialog.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
Ok give it a whirl, create default appearances for your other layers stored in your PostGIS database. Also try experimenting with the other legend types such as '''Continuous Colour''' and '''Unique Value'''. &lt;br /&gt;
Once you have set your default appearances, close QGIS and then reopen it. Now add all your PostGIS layers to the blank project and they should all magically appear with your preferred appearance.&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
The '''Layer Properties''' dialog in QGIS will let you specify the '''default appearance''' for a layer.&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32654</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32654"/>
		<updated>2008-11-29T01:02:02Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* First we show you */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal).&lt;br /&gt;
'''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. &lt;br /&gt;
 * Note the geometry type of column 'the_geom'. &lt;br /&gt;
 * Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 ProvincialBoundary.shp -&amp;gt; call the table 'provinces'&lt;br /&gt;
&lt;br /&gt;
And to show that this can scale a bit, let us load in the background a dataset of over 350 000 points (which we will use a bit later)&lt;br /&gt;
 * cd /home/workshop/gisdata/za/fire/modis_af/&lt;br /&gt;
 * shp2pgsql -I -s 4326 modis_af.shp fires | psql workshop  &amp;amp;&amp;gt; /dev/null (puts output into background)&lt;br /&gt;
&lt;br /&gt;
This takes a while so lets move on.&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== The voema of PostGIS - not jsut a place to store data! ==&lt;br /&gt;
&lt;br /&gt;
Okay, we will go a bit deeper into the woods here! We want to show that with some SQL (I won't say simple) you can do some complex - and repeatable - spatial analysis right inside your database, and then visualise the results in various clients.&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
We will use pgAdmin (your great PostgreSQL friend) to get this happening. Click on the Tables object of your workshop db. Then Tools -&amp;gt; Query tool from the menu. This should present a dialog box with 3 panels.&lt;br /&gt;
&lt;br /&gt;
We are going to do a simple intersection to get started.&lt;br /&gt;
In the top left panel paste &lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE (roads.the_geom &amp;amp;&amp;amp; rivers.the_geom AND intersects(roads.the_geom, rivers.the_geom));&lt;br /&gt;
and click Query -&amp;gt; Execute&lt;br /&gt;
This should take a few seconds, then you will see a result returned into the Data Output grid. Something like 3338 rows are returned from the original roads dataset of 11964.&lt;br /&gt;
&lt;br /&gt;
So what is going on here?&lt;br /&gt;
&lt;br /&gt;
You are performing a spatial overlay with a SQL query, asking the database to return records from the roads table that spatially intersect records from the rivers table. &lt;br /&gt;
* the &amp;amp;&amp;amp; operator is a fast bounding box 'overlaps' test that takes advantage of the spatial indexes of the table to narrow the search space for the true intersection test.&lt;br /&gt;
* the intersects part of the query tests the geometries of the subset selected above for spatial intersection and returns a result.&lt;br /&gt;
&lt;br /&gt;
To show some other functionality, paste the following text into the query window and execute:&lt;br /&gt;
 ALTER TABLE roads DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'roads';COMMIT; UPDATE roads SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE roads ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
We are being good South African GIS types and using our Haartebeesthoek94 Datum. Lets do the same for rivers:&lt;br /&gt;
 ALTER TABLE rivers DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'rivers';COMMIT; UPDATE rivers SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE rivers ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
This looks fairly intense, but the main points are the changing of the data in the geometry_columns meta-table and then updating the geometries in each table to a different CRS (4148, or Haartebeesthoek94). We demonstrate the use of the UPDATE SQL command, used to change data in the database, and the use of the ST_Transform function of PostGIS, which does the work. Now lets try the original query again:&lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE st_intersects(roads.the_geom, rivers.the_geom);&lt;br /&gt;
...which returns the same number of features, but in our own CRS. Note that we have used the ST_Intersects function rather than the Intersects function as previously shown. ST_ type functions are more standards compliant, so should be used in place of the older style functions.&lt;br /&gt;
Ideally we would project the data as appropriate, using the very same technique, but substituting 4148 for the EPSG code for our projection of choice. This is a demo though, folks, so I will get away with murder...&lt;br /&gt;
Lets quickly repeat the process for the other datasets we will use in a minute:&lt;br /&gt;
 ALTER TABLE provinces DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'provinces';COMMIT; UPDATE provinces SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE provinces ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
 ALTER TABLE fires DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'fires';COMMIT; UPDATE fires SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE fires ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
So, while that goes ahead (it will take a minute or so to transform 350k points), let us think out another analysis. Lets make it a bit tricky. Okay, we want to create a table for serving up data to the outside world (Gavin will do this later) that has all the intense fires in Gauteng or NorthWest Province, that have occurred within 3000 metres of a main road. There are many ways to skin this cat in PostGIS, so I will pick a method and explain why I did so.&lt;br /&gt;
First, a convenience table is created:&lt;br /&gt;
 SELECT roads.gid, ST_Buffer(roads.the_geom,0.027) AS geom INTO roads_buffer FROM roads, (SELECT * FROM provinces WHERE prov_code = 'GT' OR prov_code = 'NW') AS prov WHERE ST_Within(roads.the_geom, prov.the_geom);&lt;br /&gt;
This is a table of polygons representing ~3000 metre road buffers, and note the use of the function to populate the geometry_columns meta-table with our new layer.&lt;br /&gt;
 SELECT DISTINCT fires.gid, fires.frp, fires.acqdatetim, fires.the_geom INTO fires_analysis_3000m FROM fires, (SELECT * FROM provinces WHERE prov_code = 'GT' OR prov_code = 'NW') AS prov, roads_buffer  WHERE fires.frp &amp;gt; 200 AND ST_Within(fires.the_geom, prov.the_geom) AND ST_Within(fires.the_geom, roads_buffer.geom);&lt;br /&gt;
The main feature of this query is the longish WHERE clause, which tests weather the fire is intense, whether it falls within Gauteng or NW Province and whether the fire occurred within appx 3000 metres of one of our main roads.&lt;br /&gt;
&lt;br /&gt;
There are not too many fires that fall out of this analysis, but it shows how we have relatively easily worked with and reduced a large dataset to a few points. These queries can be further tuned to take advantage of spatial and other indexes, but that is perhaps for another time.&lt;br /&gt;
&lt;br /&gt;
The final thing we will do is prepare this layer for use on the web...&lt;br /&gt;
 INSERT INTO geometry_columns(f_table_catalog,f_table_schema,f_table_name,f_geometry_column,coord_dimension,srid,&amp;quot;type&amp;quot;) VALUES('','public','fires_analysis_3000m','the_geom',2,4148,'MULTIPOINT');&lt;br /&gt;
Normal meta-table stuff&lt;br /&gt;
 ALTER TABLE fires_analysis_2000m ADD PRIMARY KEY (gid);&lt;br /&gt;
And if we wanted to we could add a spatial index:&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== Quick Qml with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
If you have used  ArcView before, you might have used the avl feature which lets you store the symbology settings for a layer. QGIS has a similar feature called 'qml' which lets you create default symbology settings for a layer, that will be applied when ever that layer is loaded. We are also going to take a quick peek at how to create more complex symbology for a layer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Open QGIS if its not already running.&lt;br /&gt;
* Add the dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
* Double click on the layer entry in the legend&lt;br /&gt;
* Activate the symbology tab&lt;br /&gt;
* Now change the legend type to '''Graduated Symbol'''&lt;br /&gt;
* Change the classification field to '''shape_area'''&lt;br /&gt;
* Set the '''number of classes''' to 5&lt;br /&gt;
* Click the '''classify''' button&lt;br /&gt;
* Click the '''Apply''' button&lt;br /&gt;
&lt;br /&gt;
You should see the shapes in the main window have now adopted a range of scintillating colours! However is you add that layer to another QGIS project you would normally have to do all this work again! Qml to the rescue.&lt;br /&gt;
&lt;br /&gt;
* Save your symbology settings by clicking the '''save as default''' button&lt;br /&gt;
&lt;br /&gt;
Ok lets test it out!&lt;br /&gt;
&lt;br /&gt;
* Close QGIS&lt;br /&gt;
* Reopen QGIS&lt;br /&gt;
* Add the Dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
&lt;br /&gt;
If the planets are correctly aligned, your dams will appear all beautifully coloured according to your personal preference.&lt;br /&gt;
&lt;br /&gt;
If you want to you can also save your settings as non-default, and them restore them by selecting a .qml file again later. Refer to the '''Load style''' and '''Save style''' buttons on the vector properties dialog.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
Ok give it a whirl, create default appearances for your other layers stored in your PostGIS database. Also try experimenting with the other legend types such as '''Continuous Colour''' and '''Unique Value'''. &lt;br /&gt;
Once you have set your default appearances, close QGIS and then reopen it. Now add all your PostGIS layers to the blank project and they should all magically appear with your preferred appearance.&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
The '''Layer Properties''' dialog in QGIS will let you specify the '''default appearance''' for a layer.&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32653</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32653"/>
		<updated>2008-11-28T23:17:57Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* First we show you */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal).&lt;br /&gt;
'''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. &lt;br /&gt;
 * Note the geometry type of column 'the_geom'. &lt;br /&gt;
 * Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 ProvincialBoundary.shp -&amp;gt; call the table 'provinces'&lt;br /&gt;
&lt;br /&gt;
And to show that this can scale a bit, let us load in the background a dataset of over 350 000 points (which we will use a bit later)&lt;br /&gt;
 * cd /home/workshop/gisdata/za/fire/modis_af/&lt;br /&gt;
 * shp2pgsql -I -s 4326 modis_af.shp fires | psql workshop  &amp;amp;&amp;gt; /dev/null (puts output into background)&lt;br /&gt;
&lt;br /&gt;
This takes a while so lets move on.&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== The voema of PostGIS - not jsut a place to store data! ==&lt;br /&gt;
&lt;br /&gt;
Okay, we will go a bit deeper into the woods here! We want to show that with some SQL (I won't say simple) you can do some complex - and repeatable - spatial analysis right inside your database, and then visualise the results in various clients.&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
We will use pgAdmin (your great PostgreSQL friend) to get this happening. Click on the Tables object of your workshop db. Then Tools -&amp;gt; Query tool from the menu. This should present a dialog box with 3 panels.&lt;br /&gt;
&lt;br /&gt;
We are going to do a simple intersection to get started.&lt;br /&gt;
In the top left panel paste &lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE (roads.the_geom &amp;amp;&amp;amp; rivers.the_geom AND intersects(roads.the_geom, rivers.the_geom));&lt;br /&gt;
and click Query -&amp;gt; Execute&lt;br /&gt;
This should take a few seconds, then you will see a result returned into the Data Output grid. Something like 3338 rows are returned from the original roads dataset of 11964.&lt;br /&gt;
&lt;br /&gt;
So what is going on here?&lt;br /&gt;
&lt;br /&gt;
You are performing a spatial overlay with a SQL query, asking the database to return records from the roads table that spatially intersect records from the rivers table. &lt;br /&gt;
* the &amp;amp;&amp;amp; operator is a fast bounding box 'overlaps' test that takes advantage of the spatial indexes of the table to narrow the search space for the true intersection test.&lt;br /&gt;
* the intersects part of the query tests the geometries of the subset selected above for spatial intersection and returns a result.&lt;br /&gt;
&lt;br /&gt;
To show some other functionality, paste the following text into the query window and execute:&lt;br /&gt;
 ALTER TABLE roads DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'roads';COMMIT; UPDATE roads SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE roads ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
We are being good South African GIS types and using our Haartebeesthoek94 Datum. Lets do the same for rivers:&lt;br /&gt;
 ALTER TABLE rivers DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'rivers';COMMIT; UPDATE rivers SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE rivers ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
This looks fairly intense, but the main points are the changing of the data in the geometry_columns meta-table and then updating the geometries in each table to a different CRS (4148, or Haartebeesthoek94). We demonstrate the use of the UPDATE SQL command, used to change data in the database, and the use of the ST_Transform function of PostGIS, which does the work. Now lets try the original query again:&lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE st_intersects(roads.the_geom, rivers.the_geom);&lt;br /&gt;
...which returns the same number of features, but in our own CRS. Note that we have used the ST_Intersects function rather than the Intersects function as previously shown. ST_ type functions are more standards compliant, so should be used in place of the older style functions.&lt;br /&gt;
Ideally we would project the data as appropriate, using the very same technique, but substituting 4148 for the EPSG code for our projection of choice. This is a demo though, folks, so I will get away with murder...&lt;br /&gt;
Lets quickly repeat the process for the other datasets we will use in a minute:&lt;br /&gt;
 ALTER TABLE provinces DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'provinces';COMMIT; UPDATE provinces SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE provinces ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
 ALTER TABLE fires DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'fires';COMMIT; UPDATE fires SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE fires ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
So, while that goes ahead (it will take a minute or so to project 350k points), let us think out another analysis. Lets make it a bit tricky. Okay, we want to create a table for serving up data to the outside world (Gavin will do this later) that has all the intense fires in Gauteng or NorthWest Province, that have occurred within 500 metres of a main road. There are many ways to skin this cat in PostGIS, so I will pick a method and explain why I did so.&lt;br /&gt;
First, a convenience table is created:&lt;br /&gt;
 SELECT roads.gid, ST_Buffer(roads.the_geom,1000) AS geom INTO roads_buffer FROM roads, (SELECT * FROM provinces WHERE prov_code = 'GT' OR prov_code = 'NW') AS prov WHERE ST_Within(roads.the_geom, prov.the_geom); SELECT AddGeometryColumn('public', 'roads_buffer', 'geom', 4148, 'POLYGON', 2);&lt;br /&gt;
This is a table of polygons representing 1000 metre road buffers, and note the use of the function to populate the geometry_columns meta-table with our new layer.&lt;br /&gt;
 SELECT fires.gid, fires.frp, fires.acqdatetim, fires.the_geom INTO fires_analysis_500m FROM fires, (SELECT * FROM provinces WHERE prov_code = 'GT' OR prov_code = 'NW') AS prov, (SELECT gid, ST_Buffer(the_geom,1000) as geom FROM roads WHERE ST_Within(the_geom, prov.the_geom)) AS buff_road  WHERE fires.frp &amp;gt; 200 AND ST_Within(fires.the_geom, prov.the_geom)&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== Quick Qml with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
If you have used  ArcView before, you might have used the avl feature which lets you store the symbology settings for a layer. QGIS has a similar feature called 'qml' which lets you create default symbology settings for a layer, that will be applied when ever that layer is loaded. We are also going to take a quick peek at how to create more complex symbology for a layer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Open QGIS if its not already running.&lt;br /&gt;
* Add the dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
* Double click on the layer entry in the legend&lt;br /&gt;
* Activate the symbology tab&lt;br /&gt;
* Now change the legend type to '''Graduated Symbol'''&lt;br /&gt;
* Change the classification field to '''shape_area'''&lt;br /&gt;
* Set the '''number of classes''' to 5&lt;br /&gt;
* Click the '''classify''' button&lt;br /&gt;
* Click the '''Apply''' button&lt;br /&gt;
&lt;br /&gt;
You should see the shapes in the main window have now adopted a range of scintillating colours! However is you add that layer to another QGIS project you would normally have to do all this work again! Qml to the rescue.&lt;br /&gt;
&lt;br /&gt;
* Save your symbology settings by clicking the '''save as default''' button&lt;br /&gt;
&lt;br /&gt;
Ok lets test it out!&lt;br /&gt;
&lt;br /&gt;
* Close QGIS&lt;br /&gt;
* Reopen QGIS&lt;br /&gt;
* Add the Dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
&lt;br /&gt;
If the planets are correctly aligned, your dams will appear all beautifully coloured according to your personal preference.&lt;br /&gt;
&lt;br /&gt;
If you want to you can also save your settings as non-default, and them restore them by selecting a .qml file again later. Refer to the '''Load style''' and '''Save style''' buttons on the vector properties dialog.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
Ok give it a whirl, create default appearances for your other layers stored in your PostGIS database. Also try experimenting with the other legend types such as '''Continuous Colour''' and '''Unique Value'''. &lt;br /&gt;
Once you have set your default appearances, close QGIS and then reopen it. Now add all your PostGIS layers to the blank project and they should all magically appear with your preferred appearance.&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
The '''Layer Properties''' dialog in QGIS will let you specify the '''default appearance''' for a layer.&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32652</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32652"/>
		<updated>2008-11-28T22:42:40Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* First we show you */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal).&lt;br /&gt;
'''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. &lt;br /&gt;
 * Note the geometry type of column 'the_geom'. &lt;br /&gt;
 * Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 ProvincialBoundary.shp -&amp;gt; call the table 'provinces'&lt;br /&gt;
&lt;br /&gt;
And to show that this can scale a bit, let us load in the background a dataset of over 350 000 points (which we will use a bit later)&lt;br /&gt;
 * cd /home/workshop/gisdata/za/fire/modis_af/&lt;br /&gt;
 * shp2pgsql -I -s 4326 modis_af.shp fires | psql workshop  &amp;amp;&amp;gt; /dev/null (puts output into background)&lt;br /&gt;
&lt;br /&gt;
This takes a while so lets move on.&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== The voema of PostGIS - not jsut a place to store data! ==&lt;br /&gt;
&lt;br /&gt;
Okay, we will go a bit deeper into the woods here! We want to show that with some SQL (I won't say simple) you can do some complex - and repeatable - spatial analysis right inside your database, and then visualise the results in various clients.&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
We will use pgAdmin (your great PostgreSQL friend) to get this happening. Click on the Tables object of your workshop db. Then Tools -&amp;gt; Query tool from the menu. This should present a dialog box with 3 panels.&lt;br /&gt;
&lt;br /&gt;
We are going to do a simple intersection to get started.&lt;br /&gt;
In the top left panel paste &lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE (roads.the_geom &amp;amp;&amp;amp; rivers.the_geom AND intersects(roads.the_geom, rivers.the_geom));&lt;br /&gt;
and click Query -&amp;gt; Execute&lt;br /&gt;
This should take a few seconds, then you will see a result returned into the Data Output grid. Something like 3338 rows are returned from the original roads dataset of 11964.&lt;br /&gt;
&lt;br /&gt;
So what is going on here?&lt;br /&gt;
&lt;br /&gt;
You are performing a spatial overlay with a SQL query, asking the database to return records from the roads table that spatially intersect records from the rivers table. &lt;br /&gt;
* the &amp;amp;&amp;amp; operator is a fast bounding box 'overlaps' test that takes advantage of the spatial indexes of the table to narrow the search space for the true intersection test.&lt;br /&gt;
* the intersects part of the query tests the geometries of the subset selected above for spatial intersection and returns a result.&lt;br /&gt;
&lt;br /&gt;
But something is off, so, paste the following text into the query window and execute:&lt;br /&gt;
 ALTER TABLE roads DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'roads';COMMIT; UPDATE roads SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE roads ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
We are being good spatial analysis citizens and projecting our data. It was not projected in the previous query. Lets do the same for rivers:&lt;br /&gt;
 ALTER TABLE rivers DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'rivers';COMMIT; UPDATE rivers SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE rivers ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
This looks fairly intense, but the main points are the changing of the data in the geometry_columns meta-table and then updating the geometries in each table to a projection (4148, or Albers Equal Area). We demonstrate the use of the UPDATE SQL command, used to change data in the database, and the use of the ST_Transform function of PostGIS, which does the work. Now lets try the original query again:&lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE st_intersects(roads.the_geom, rivers.the_geom);&lt;br /&gt;
...which returns the same number of features, but gives us a bit more confidence for some further operations we will do. Note that we have used the ST_Intersects function rather than the Intersects function as previously shown. ST_ type functions are more standards compliant, so should be used in place of the older style functions.&lt;br /&gt;
&lt;br /&gt;
Lets quickly repeat the process for the other datasets we will use in a minute:&lt;br /&gt;
 ALTER TABLE provinces DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'provinces';COMMIT; UPDATE provinces SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE provinces ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
 ALTER TABLE fires DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'fires';COMMIT; UPDATE fires SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE fires ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
So, while that goes ahead (it will take a minute or so to project 350k points), let us think out another analysis. Lets make it a bit tricky. Okay, we want to create a table for serving up data to the outside world (Gavin will do this later) that has all the intense fires in Gauteng or NorthWest Province, that have occurred within 500 metres of a main road. There are many ways to skin this cat in PostGIS, so I will pick a method and explain why I did so.&lt;br /&gt;
First, a convenience table is created:&lt;br /&gt;
 SELECT roads.gid, ST_Buffer(roads.the_geom,1000) INTO roads_buffer FROM roads, (SELECT * FROM provinces WHERE prov_code = 'GT' OR prov_code = 'NW') AS prov WHERE ST_Within(roads.the_geom, prov.the_geom); SELECT AddGeometryColumn('public', 'roads_buffer', 'the_geom', 4148, 'POLYGON', 2);&lt;br /&gt;
This is a table of polygons representing 1000 metre road buffers, and note the use of the function to populate the geometry_columns meta-table with our new layer.&lt;br /&gt;
 SELECT fires.gid, fires.frp, fires.acqdatetim, fires.the_geom INTO fires_analysis_500m FROM fires, (SELECT * FROM provinces WHERE prov_code = 'GT' OR prov_code = 'NW') AS prov, (SELECT gid, ST_Buffer(the_geom,1000) as geom FROM roads WHERE ST_Within(the_geom, prov.the_geom)) AS buff_road  WHERE fires.frp &amp;gt; 200 AND ST_Within(fires.the_geom, prov.the_geom)&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== Quick Qml with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
If you have used  ArcView before, you might have used the avl feature which lets you store the symbology settings for a layer. QGIS has a similar feature called 'qml' which lets you create default symbology settings for a layer, that will be applied when ever that layer is loaded. We are also going to take a quick peek at how to create more complex symbology for a layer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Open QGIS if its not already running.&lt;br /&gt;
* Add the dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
* Double click on the layer entry in the legend&lt;br /&gt;
* Activate the symbology tab&lt;br /&gt;
* Now change the legend type to '''Graduated Symbol'''&lt;br /&gt;
* Change the classification field to '''shape_area'''&lt;br /&gt;
* Set the '''number of classes''' to 5&lt;br /&gt;
* Click the '''classify''' button&lt;br /&gt;
* Click the '''Apply''' button&lt;br /&gt;
&lt;br /&gt;
You should see the shapes in the main window have now adopted a range of scintillating colours! However is you add that layer to another QGIS project you would normally have to do all this work again! Qml to the rescue.&lt;br /&gt;
&lt;br /&gt;
* Save your symbology settings by clicking the '''save as default''' button&lt;br /&gt;
&lt;br /&gt;
Ok lets test it out!&lt;br /&gt;
&lt;br /&gt;
* Close QGIS&lt;br /&gt;
* Reopen QGIS&lt;br /&gt;
* Add the Dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
&lt;br /&gt;
If the planets are correctly aligned, your dams will appear all beautifully coloured according to your personal preference.&lt;br /&gt;
&lt;br /&gt;
If you want to you can also save your settings as non-default, and them restore them by selecting a .qml file again later. Refer to the '''Load style''' and '''Save style''' buttons on the vector properties dialog.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
Ok give it a whirl, create default appearances for your other layers stored in your PostGIS database. Also try experimenting with the other legend types such as '''Continuous Colour''' and '''Unique Value'''. &lt;br /&gt;
Once you have set your default appearances, close QGIS and then reopen it. Now add all your PostGIS layers to the blank project and they should all magically appear with your preferred appearance.&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
The '''Layer Properties''' dialog in QGIS will let you specify the '''default appearance''' for a layer.&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32651</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32651"/>
		<updated>2008-11-28T22:20:11Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* First we show you */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal).&lt;br /&gt;
'''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. &lt;br /&gt;
 * Note the geometry type of column 'the_geom'. &lt;br /&gt;
 * Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 ProvincialBoundary.shp -&amp;gt; call the table 'provinces'&lt;br /&gt;
&lt;br /&gt;
And to show that this can scale a bit, let us load in the background a dataset of over 350 000 points (which we will use a bit later)&lt;br /&gt;
 * cd /home/workshop/gisdata/za/fire/modis_af/&lt;br /&gt;
 * shp2pgsql -I -s 4326 modis_af.shp fires | psql workshop  &amp;amp;&amp;gt; /dev/null (puts output into background)&lt;br /&gt;
&lt;br /&gt;
This takes a while so lets move on.&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== The voema of PostGIS - not jsut a place to store data! ==&lt;br /&gt;
&lt;br /&gt;
Okay, we will go a bit deeper into the woods here! We want to show that with some SQL (I won't say simple) you can do some complex - and repeatable - spatial analysis right inside your database, and then visualise the results in various clients.&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
We will use pgAdmin (your great PostgreSQL friend) to get this happening. Click on the Tables object of your workshop db. Then Tools -&amp;gt; Query tool from the menu. This should present a dialog box with 3 panels.&lt;br /&gt;
&lt;br /&gt;
We are going to do a simple intersection to get started.&lt;br /&gt;
In the top left panel paste &lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE (roads.the_geom &amp;amp;&amp;amp; rivers.the_geom AND intersects(roads.the_geom, rivers.the_geom));&lt;br /&gt;
and click Query -&amp;gt; Execute&lt;br /&gt;
This should take a few seconds, then you will see a result returned into the Data Output grid. Something like 3338 rows are returned from the original roads dataset of 11964.&lt;br /&gt;
&lt;br /&gt;
So what is going on here?&lt;br /&gt;
&lt;br /&gt;
You are performing a spatial overlay with a SQL query, asking the database to return records from the roads table that spatially intersect records from the rivers table. &lt;br /&gt;
* the &amp;amp;&amp;amp; operator is a fast bounding box 'overlaps' test that takes advantage of the spatial indexes of the table to narrow the search space for the true intersection test.&lt;br /&gt;
* the intersects part of the query tests the geometries of the subset selected above for spatial intersection and returns a result.&lt;br /&gt;
&lt;br /&gt;
But something is off, so, paste the following text into the query window and execute:&lt;br /&gt;
 ALTER TABLE roads DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'roads';COMMIT; UPDATE roads SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE roads ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
We are being good spatial analysis citizens and projecting our data. It was not projected in the previous query. Lets do the same for rivers:&lt;br /&gt;
 ALTER TABLE rivers DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'rivers';COMMIT; UPDATE rivers SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE rivers ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
This looks fairly intense, but the main points are the changing of the data in the geometry_columns meta-table and then updating the geometries in each table to a projection (4148, or Albers Equal Area). We demonstrate the use of the UPDATE SQL command, used to change data in the database, and the use of the ST_Transform function of PostGIS, which does the work. Now lets try the original query again:&lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE st_intersects(roads.the_geom, rivers.the_geom);&lt;br /&gt;
...which returns the same number of features, but gives us a bit more confidence for some further operations we will do. Note that we have used the ST_Intersects function rather than the Intersects function as previously shown. ST_ type functions are more standards compliant, so should be used in place of the older style functions.&lt;br /&gt;
&lt;br /&gt;
Lets quickly repeat the process for the other datasets we will use in a minute:&lt;br /&gt;
 ALTER TABLE provinces DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'provinces';COMMIT; UPDATE provinces SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE provinces ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
 ALTER TABLE fires DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'fires';COMMIT; UPDATE fires SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE fires ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
So, while that goes ahead (it will take a minute or so to project 350k points), let us think out another analysis. Lets make it a bit tricky. Okay, we want to create a table for serving up data to the outside world (Gavin will do this later) that has all the intense fires in Gauteng or NorthWest Province, that have occurred within 500 metres of a main road. There are many ways to skin this cat in PostGIS, so I will pick a method and explain why I did so.&lt;br /&gt;
&lt;br /&gt;
 SELECT fires.gid, fires.frp, fires.acqdatetim, fires.the_geom INTO fires_analysis_500m FROM fires, (SELECT * FROM provinces WHERE prov_code = 'GT' OR prov_code = 'NW') AS prov, (SELECT gid, ST_Buffer(the_geom,1000) as geom FROM roads WHERE ST_Within(the_geom, prov.the_geom)) AS buff_road  WHERE fires.frp &amp;gt; 200 AND ST_Within(fires.the_geom, prov.the_geom)&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== Quick Qml with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
If you have used  ArcView before, you might have used the avl feature which lets you store the symbology settings for a layer. QGIS has a similar feature called 'qml' which lets you create default symbology settings for a layer, that will be applied when ever that layer is loaded. We are also going to take a quick peek at how to create more complex symbology for a layer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Open QGIS if its not already running.&lt;br /&gt;
* Add the dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
* Double click on the layer entry in the legend&lt;br /&gt;
* Activate the symbology tab&lt;br /&gt;
* Now change the legend type to '''Graduated Symbol'''&lt;br /&gt;
* Change the classification field to '''shape_area'''&lt;br /&gt;
* Set the '''number of classes''' to 5&lt;br /&gt;
* Click the '''classify''' button&lt;br /&gt;
* Click the '''Apply''' button&lt;br /&gt;
&lt;br /&gt;
You should see the shapes in the main window have now adopted a range of scintillating colours! However is you add that layer to another QGIS project you would normally have to do all this work again! Qml to the rescue.&lt;br /&gt;
&lt;br /&gt;
* Save your symbology settings by clicking the '''save as default''' button&lt;br /&gt;
&lt;br /&gt;
Ok lets test it out!&lt;br /&gt;
&lt;br /&gt;
* Close QGIS&lt;br /&gt;
* Reopen QGIS&lt;br /&gt;
* Add the Dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
&lt;br /&gt;
If the planets are correctly aligned, your dams will appear all beautifully coloured according to your personal preference.&lt;br /&gt;
&lt;br /&gt;
If you want to you can also save your settings as non-default, and them restore them by selecting a .qml file again later. Refer to the '''Load style''' and '''Save style''' buttons on the vector properties dialog.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
Ok give it a whirl, create default appearances for your other layers stored in your PostGIS database. Also try experimenting with the other legend types such as '''Continuous Colour''' and '''Unique Value'''. &lt;br /&gt;
Once you have set your default appearances, close QGIS and then reopen it. Now add all your PostGIS layers to the blank project and they should all magically appear with your preferred appearance.&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
The '''Layer Properties''' dialog in QGIS will let you specify the '''default appearance''' for a layer.&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32649</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32649"/>
		<updated>2008-11-28T21:22:48Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* First we show you */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal).&lt;br /&gt;
'''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. &lt;br /&gt;
 * Note the geometry type of column 'the_geom'. &lt;br /&gt;
 * Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 ProvincialBoundary.shp -&amp;gt; call the table 'provinces'&lt;br /&gt;
&lt;br /&gt;
And to show that this can scale a bit, let us load in the background a dataset of over 350 000 points (which we will use a bit later)&lt;br /&gt;
 * cd /home/workshop/gisdata/za/fire/modis_af/&lt;br /&gt;
 * shp2pgsql -I -s 4326 modis_af.shp fires | psql workshop  &amp;amp;&amp;gt; /dev/null (puts output into background)&lt;br /&gt;
&lt;br /&gt;
This takes a while so lets move on.&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== The voema of PostGIS - not jsut a place to store data! ==&lt;br /&gt;
&lt;br /&gt;
Okay, we will go a bit deeper into the woods here! We want to show that with some SQL (I won't say simple) you can do some complex - and repeatable - spatial analysis right inside your database, and then visualise the results in various clients.&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
We will use pgAdmin (your great PostgreSQL friend) to get this happening. Click on the Tables object of your workshop db. Then Tools -&amp;gt; Query tool from the menu. This should present a dialog box with 3 panels.&lt;br /&gt;
&lt;br /&gt;
We are going to do a simple intersection to get started.&lt;br /&gt;
In the top left panel paste &lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE (roads.the_geom &amp;amp;&amp;amp; rivers.the_geom AND intersects(roads.the_geom, rivers.the_geom));&lt;br /&gt;
and click Query -&amp;gt; Execute&lt;br /&gt;
This should take a few seconds, then you will see a result returned into the Data Output grid. Something like 3338 rows are returned from the original roads dataset of 11964.&lt;br /&gt;
&lt;br /&gt;
So what is going on here?&lt;br /&gt;
&lt;br /&gt;
You are performing a spatial overlay with a SQL query, asking the database to return records from the roads table that spatially intersect records from the rivers table. &lt;br /&gt;
* the &amp;amp;&amp;amp; operator is a fast bounding box 'overlaps' test that takes advantage of the spatial indexes of the table to narrow the search space for the true intersection test.&lt;br /&gt;
* the intersects part of the query tests the geometries of the subset selected above for spatial intersection and returns a result.&lt;br /&gt;
&lt;br /&gt;
But something is off, so, paste the following text into the query window and execute:&lt;br /&gt;
 ALTER TABLE roads DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'roads';COMMIT; UPDATE roads SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE roads ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
We are being good spatial analysis citizens and projecting our data. It was not projected in the previous query. Lets do the same for rivers:&lt;br /&gt;
 ALTER TABLE rivers DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'rivers';COMMIT; UPDATE rivers SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE rivers ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
This looks fairly intense, but the main points are the changing of the data in the geometry_columns meta-table and then updating the geometries in each table to a projection (4148, or Albers Equal Area). We demonstrate the use of the UPDATE SQL command, used to change data in the database, and the use of the ST_Transform function of PostGIS, which does the work. Now lets try the original query again:&lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE st_intersects(roads.the_geom, rivers.the_geom);&lt;br /&gt;
...which returns the same number of features, but gives us a bit more confidence for some further operations we will do. Note that we have used the ST_Intersects function rather than the Intersects function as previously shown. ST_ type functions are more standards compliant, so should be used in place of the older style functions.&lt;br /&gt;
&lt;br /&gt;
Lets quickly repeat the process for the other datasets we will use in a minute:&lt;br /&gt;
 ALTER TABLE provinces DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'provinces';COMMIT; UPDATE provinces SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE provinces ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
 ALTER TABLE fires DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'fires';COMMIT; UPDATE fires SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE fires ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
So, while that goes ahead (it will take a minute or so to project 350k points), let us think out another analysis. Lets make it a bit tricky. Okay, we want to create a table for serving up data to the outside world (Gavin will do this later) that has all the intense fires over the last 3 months in Gauteng or NorthWest Province, that have occurred within 500 metres of a main road. There are many ways to skin this cat in PostGIS, so I will pick a method and explain why I did so.&lt;br /&gt;
&lt;br /&gt;
 SELECT * INTO fires_analysis_500m FROM fires WHERE {time}&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== Quick Qml with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
If you have used  ArcView before, you might have used the avl feature which lets you store the symbology settings for a layer. QGIS has a similar feature called 'qml' which lets you create default symbology settings for a layer, that will be applied when ever that layer is loaded. We are also going to take a quick peek at how to create more complex symbology for a layer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Open QGIS if its not already running.&lt;br /&gt;
* Add the dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
* Double click on the layer entry in the legend&lt;br /&gt;
* Activate the symbology tab&lt;br /&gt;
* Now change the legend type to '''Graduated Symbol'''&lt;br /&gt;
* Change the classification field to '''shape_area'''&lt;br /&gt;
* Set the '''number of classes''' to 5&lt;br /&gt;
* Click the '''classify''' button&lt;br /&gt;
* Click the '''Apply''' button&lt;br /&gt;
&lt;br /&gt;
You should see the shapes in the main window have now adopted a range of scintillating colours! However is you add that layer to another QGIS project you would normally have to do all this work again! Qml to the rescue.&lt;br /&gt;
&lt;br /&gt;
* Save your symbology settings by clicking the '''save as default''' button&lt;br /&gt;
&lt;br /&gt;
Ok lets test it out!&lt;br /&gt;
&lt;br /&gt;
* Close QGIS&lt;br /&gt;
* Reopen QGIS&lt;br /&gt;
* Add the Dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
&lt;br /&gt;
If the planets are correctly aligned, your dams will appear all beautifully coloured according to your personal preference.&lt;br /&gt;
&lt;br /&gt;
If you want to you can also save your settings as non-default, and them restore them by selecting a .qml file again later. Refer to the '''Load style''' and '''Save style''' buttons on the vector properties dialog.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
Ok give it a whirl, create default appearances for your other layers stored in your PostGIS database. Also try experimenting with the other legend types such as '''Continuous Colour''' and '''Unique Value'''. &lt;br /&gt;
Once you have set your default appearances, close QGIS and then reopen it. Now add all your PostGIS layers to the blank project and they should all magically appear with your preferred appearance.&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
The '''Layer Properties''' dialog in QGIS will let you specify the '''default appearance''' for a layer.&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32648</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32648"/>
		<updated>2008-11-28T21:11:25Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* First we show you */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal).&lt;br /&gt;
'''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. &lt;br /&gt;
 * Note the geometry type of column 'the_geom'. &lt;br /&gt;
 * Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 ProvincialBoundary.shp -&amp;gt; call the table 'provinces'&lt;br /&gt;
&lt;br /&gt;
And to show that this can scale a bit, let us load in the background a dataset of over 350 000 points (which we will use a bit later)&lt;br /&gt;
 * cd /home/workshop/gisdata/za/fire/modis_af/&lt;br /&gt;
 * shp2pgsql -I -s 4326 modis_af.shp fires | psql workshop  &amp;amp;&amp;gt; /dev/null (puts output into background)&lt;br /&gt;
&lt;br /&gt;
This takes a while so lets move on.&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== The voema of PostGIS - not jsut a place to store data! ==&lt;br /&gt;
&lt;br /&gt;
Okay, we will go a bit deeper into the woods here! We want to show that with some SQL (I won't say simple) you can do some complex - and repeatable - spatial analysis right inside your database, and then visualise the results in various clients.&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
We will use pgAdmin (your great PostgreSQL friend) to get this happening. Click on the Tables object of your workshop db. Then Tools -&amp;gt; Query tool from the menu. This should present a dialog box with 3 panels.&lt;br /&gt;
&lt;br /&gt;
We are going to do a simple intersection to get started.&lt;br /&gt;
In the top left panel paste &lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE (roads.the_geom &amp;amp;&amp;amp; rivers.the_geom AND intersects(roads.the_geom, rivers.the_geom));&lt;br /&gt;
and click Query -&amp;gt; Execute&lt;br /&gt;
This should take a few seconds, then you will see a result returned into the Data Output grid. Something like 3338 rows are returned from the original roads dataset of 11964.&lt;br /&gt;
&lt;br /&gt;
So what is going on here?&lt;br /&gt;
&lt;br /&gt;
You are performing a spatial overlay with a SQL query, asking the database to return records from the roads table that spatially intersect records from the rivers table. &lt;br /&gt;
* the &amp;amp;&amp;amp; operator is a fast bounding box 'overlaps' test that takes advantage of the spatial indexes of the table to narrow the search space for the true intersection test.&lt;br /&gt;
* the intersects part of the query tests the geometries of the subset selected above for spatial intersection and returns a result.&lt;br /&gt;
&lt;br /&gt;
But something is off, so, paste the following text into the query window and execute:&lt;br /&gt;
 ALTER TABLE roads DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'roads';COMMIT; UPDATE roads SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE roads ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
We are being good spatial analysis citizens and projecting our data. It was not projected in the previous query. Lets do the same for rivers:&lt;br /&gt;
 ALTER TABLE rivers DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'rivers';COMMIT; UPDATE rivers SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE rivers ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
This looks fairly intense, but the main points are the changing of the data in the geometry_columns meta-table and then updating the geometries in each table to a projection (4148, or Albers Equal Area). We demonstrate the use of the UPDATE SQL command, used to change data in the database, and the use of the ST_Transform function of PostGIS, which does the work. Now lets try the original query again:&lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE st_intersects(roads.the_geom, rivers.the_geom);&lt;br /&gt;
...which returns the same number of features, but gives us a bit more confidence for some further operations we will do. Note that we have used the ST_Intersects function rather than the Intersects function as previously shown. ST_ type functions are more standards compliant, so should be used in place of the older style functions.&lt;br /&gt;
&lt;br /&gt;
Lets quickly repeat the process for the other datasets we will use in a minute:&lt;br /&gt;
 ALTER TABLE provinces DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'provinces';COMMIT; UPDATE provinces SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE provinces ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
 ALTER TABLE fires DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'fires';COMMIT; UPDATE fires SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE fires ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
So, while that goes ahead (it will take a minute or so to project 350k points), let us think out another analysis. Lets make it a bit tricky. Okay, we want to create a table for serving up data to the outside world (Gavin will do this later) that has all the intense fires over the last 3 months in Gauteng or NorthWest Province, that have occurred within 500 metres of a main road. There are many ways to skin this cat in PostGIS, so I will pick a method and explain why I did so.&lt;br /&gt;
&lt;br /&gt;
 SELECT INTO fires_analysis_500m fires&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== Quick Qml with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
If you have used  ArcView before, you might have used the avl feature which lets you store the symbology settings for a layer. QGIS has a similar feature called 'qml' which lets you create default symbology settings for a layer, that will be applied when ever that layer is loaded. We are also going to take a quick peek at how to create more complex symbology for a layer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Open QGIS if its not already running.&lt;br /&gt;
* Add the dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
* Double click on the layer entry in the legend&lt;br /&gt;
* Activate the symbology tab&lt;br /&gt;
* Now change the legend type to '''Graduated Symbol'''&lt;br /&gt;
* Change the classification field to '''shape_area'''&lt;br /&gt;
* Set the '''number of classes''' to 5&lt;br /&gt;
* Click the '''classify''' button&lt;br /&gt;
* Click the '''Apply''' button&lt;br /&gt;
&lt;br /&gt;
You should see the shapes in the main window have now adopted a range of scintillating colours! However is you add that layer to another QGIS project you would normally have to do all this work again! Qml to the rescue.&lt;br /&gt;
&lt;br /&gt;
* Save your symbology settings by clicking the '''save as default''' button&lt;br /&gt;
&lt;br /&gt;
Ok lets test it out!&lt;br /&gt;
&lt;br /&gt;
* Close QGIS&lt;br /&gt;
* Reopen QGIS&lt;br /&gt;
* Add the Dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
&lt;br /&gt;
If the planets are correctly aligned, your dams will appear all beautifully coloured according to your personal preference.&lt;br /&gt;
&lt;br /&gt;
If you want to you can also save your settings as non-default, and them restore them by selecting a .qml file again later. Refer to the '''Load style''' and '''Save style''' buttons on the vector properties dialog.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
Ok give it a whirl, create default appearances for your other layers stored in your PostGIS database. Also try experimenting with the other legend types such as '''Continuous Colour''' and '''Unique Value'''. &lt;br /&gt;
Once you have set your default appearances, close QGIS and then reopen it. Now add all your PostGIS layers to the blank project and they should all magically appear with your preferred appearance.&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
The '''Layer Properties''' dialog in QGIS will let you specify the '''default appearance''' for a layer.&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32643</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32643"/>
		<updated>2008-11-28T20:49:43Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* First we show you */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal). '''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. &lt;br /&gt;
 * Note the geometry type of column 'the_geom'. &lt;br /&gt;
 * Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 ProvincialBoundary.shp -&amp;gt; call the table 'provinces'&lt;br /&gt;
&lt;br /&gt;
And to show that this can scale a bit, let us load in the background a dataset of over 350 000 points (which we will use a bit later)&lt;br /&gt;
 * cd /home/workshop/gisdata/za/fire/modis_af/&lt;br /&gt;
 * shp2pgsql -I -s 4326 modis_af.shp fires | psql workshop  &amp;amp;&amp;gt; /dev/null (puts output into background)&lt;br /&gt;
&lt;br /&gt;
This takes a while so lets move on.&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== The voema of PostGIS - not jsut a place to store data! ==&lt;br /&gt;
&lt;br /&gt;
Okay, we will go a bit deeper into the woods here! We want to show that with some SQL (I won't say simple) you can do some complex - and repeatable - spatial analysis right inside your database, and then visualise the results in various clients.&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
We will use pgAdmin (your great PostgreSQL friend) to get this happening. Click on the Tables object of your workshop db. Then Tools -&amp;gt; Query tool from the menu. This should present a dialog box with 3 panels.&lt;br /&gt;
&lt;br /&gt;
We are going to do a simple intersection to get started.&lt;br /&gt;
In the top left panel paste &lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE (roads.the_geom &amp;amp;&amp;amp; rivers.the_geom AND intersects(roads.the_geom, rivers.the_geom));&lt;br /&gt;
and click Query -&amp;gt; Execute&lt;br /&gt;
This should take a few seconds, then you will see a result returned into the Data Output grid. Something like 3338 rows are returned from the original roads dataset of 11964.&lt;br /&gt;
&lt;br /&gt;
So what is going on here?&lt;br /&gt;
&lt;br /&gt;
You are performing a spatial overlay with a SQL query, asking the database to return records from the roads table that spatially intersect records from the rivers table. &lt;br /&gt;
* the &amp;amp;&amp;amp; operator is a fast bounding box 'overlaps' test that takes advantage of the spatial indexes of the table to narrow the search space for the true intersection test.&lt;br /&gt;
* the intersects part of the query tests the geometries of the subset selected above for spatial intersection and returns a result.&lt;br /&gt;
&lt;br /&gt;
But something is off, so, paste the following text into the query window and execute:&lt;br /&gt;
 ALTER TABLE roads DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'roads';COMMIT; UPDATE roads SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE roads ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
We are being good spatial analysis citizens and projecting our data. It was not projected in the previous query. Lets do the same for rivers:&lt;br /&gt;
 ALTER TABLE rivers DROP CONSTRAINT enforce_srid_the_geom;UPDATE geometry_columns SET srid = 4148 WHERE f_table_name = 'rivers';COMMIT; UPDATE rivers SET the_geom = ST_Transform(the_geom,4148);COMMIT; ALTER TABLE rivers ADD CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 4148);&lt;br /&gt;
&lt;br /&gt;
This looks fairly intense, but the main points are the changing of the data in the geometry_columns meta-table and then updating the geometries in each table to a projection (4148, or Albers Equal Area). We demonstrate the use of the UPDATE SQL command, used to change data in the database, and the use of the ST_Transform function of PostGIS, which does the work. Now lets try the original query again:&lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE st_intersects(roads.the_geom, rivers.the_geom);&lt;br /&gt;
...which returns the same number of features, but gives us a bit more confidence.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== Quick Qml with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
If you have used  ArcView before, you might have used the avl feature which lets you store the symbology settings for a layer. QGIS has a similar feature called 'qml' which lets you create default symbology settings for a layer, that will be applied when ever that layer is loaded. We are also going to take a quick peek at how to create more complex symbology for a layer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Open QGIS if its not already running.&lt;br /&gt;
* Add the dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
* Double click on the layer entry in the legend&lt;br /&gt;
* Activate the symbology tab&lt;br /&gt;
* Now change the legend type to '''Graduated Symbol'''&lt;br /&gt;
* Change the classification field to '''shape_area'''&lt;br /&gt;
* Set the '''number of classes''' to 5&lt;br /&gt;
* Click the '''classify''' button&lt;br /&gt;
* Click the '''Apply''' button&lt;br /&gt;
&lt;br /&gt;
You should see the shapes in the main window have now adopted a range of scintillating colours! However is you add that layer to another QGIS project you would normally have to do all this work again! Qml to the rescue.&lt;br /&gt;
&lt;br /&gt;
* Save your symbology settings by clicking the '''save as default''' button&lt;br /&gt;
&lt;br /&gt;
Ok lets test it out!&lt;br /&gt;
&lt;br /&gt;
* Close QGIS&lt;br /&gt;
* Reopen QGIS&lt;br /&gt;
* Add the Dams layer from the Postgresql 'Workshop' database&lt;br /&gt;
&lt;br /&gt;
If the planets are correctly aligned, your dams will appear all beautifully coloured according to your personal preference.&lt;br /&gt;
&lt;br /&gt;
If you want to you can also save your settings as non-default, and them restore them by selecting a .qml file again later. Refer to the '''Load style''' and '''Save style''' buttons on the vector properties dialog.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
Ok give it a whirl, create default appearances for your other layers stored in your PostGIS database. Also try experimenting with the other legend types such as '''Continuous Colour''' and '''Unique Value'''. &lt;br /&gt;
Once you have set your default appearances, close QGIS and then reopen it. Now add all your PostGIS layers to the blank project and they should all magically appear with your preferred appearance.&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
The '''Layer Properties''' dialog in QGIS will let you specify the '''default appearance''' for a layer.&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32630</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32630"/>
		<updated>2008-11-28T14:53:19Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* The voema of PostGIS - not jsut a place to store data! */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal). '''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. &lt;br /&gt;
 * Note the geometry type of column 'the_geom'. &lt;br /&gt;
 * Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 ProvincialBoundary.shp -&amp;gt; call the table 'provinces'&lt;br /&gt;
&lt;br /&gt;
And to show that this can scale a bit, let us load in the background a dataset of over 350 000 points (which we will use a bit later)&lt;br /&gt;
 * cd /home/workshop/gisdata/za/fire/modis_af/&lt;br /&gt;
 * shp2pgsql -I -s 4326 modis_af.shp fires | psql workshop  &amp;amp;&amp;gt; /dev/null (puts output into background)&lt;br /&gt;
&lt;br /&gt;
This takes a while so lets move on.&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== The voema of PostGIS - not jsut a place to store data! ==&lt;br /&gt;
&lt;br /&gt;
Okay, we will go a bit deeper into the woods here! We want to show that with some SQL (I won't say simple) you can do some complex - and repeatable - spatial analysis right inside your database, and then visualise the results in various clients.&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
We will use pgAdmin (your great PostgreSQL friend) to get this happening. Click on the Tables object of your workshop db. Then Tools -&amp;gt; Query tool from the menu. This should present a dialog box with 3 panels.&lt;br /&gt;
&lt;br /&gt;
We are going to do a simple intersection to get started.&lt;br /&gt;
In the top left panel paste &lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE (roads.the_geom &amp;amp;&amp;amp; rivers.the_geom AND intersects(roads.the_geom, rivers.the_geom));&lt;br /&gt;
and click Query -&amp;gt; Execute&lt;br /&gt;
This should take a few seconds, then you will see a result returned into the Data Output grid. Something like 3338 rows are returned from the original roads dataset of 11964.&lt;br /&gt;
&lt;br /&gt;
So what is going on here?&lt;br /&gt;
&lt;br /&gt;
You are performing a spatial overlay with a SQL query, asking the database to return records from the roads table that spatially intersect records from the rivers table. &lt;br /&gt;
* the &amp;amp;&amp;amp; operator is a fast bounding box 'overlaps' test that takes advantage of the spatial indexes of the table to narrow the search space for the true intersection test.&lt;br /&gt;
* the intersects part of the query tests the geometries of the subset selected above for spatial intersection and returns a result.&lt;br /&gt;
&lt;br /&gt;
now, paste the following text into the query window and execute:&lt;br /&gt;
 SELECT roads.gid, roads.code, roads.route_nr, roads.shape_leng, roads.the_geom FROM roads, rivers WHERE st_intersects(st_transform(roads.the_geom, 4148), st_transform(rivers.the_geom,4148));&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32629</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32629"/>
		<updated>2008-11-28T13:45:29Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal). '''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. &lt;br /&gt;
 * Note the geometry type of column 'the_geom'. &lt;br /&gt;
 * Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 ProvincialBoundary.shp -&amp;gt; call the table 'provinces'&lt;br /&gt;
&lt;br /&gt;
And to show that this can scale a bit, let us load in the background a dataset of over 350 000 points (which we will use a bit later)&lt;br /&gt;
 * cd /home/workshop/gisdata/za/fire/modis_af/&lt;br /&gt;
 * shp2pgsql -I -s 4326 modis_af.shp fires | psql workshop  &amp;amp;&amp;gt; /dev/null (puts output into background)&lt;br /&gt;
&lt;br /&gt;
This takes a while so lets move on.&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== The voema of PostGIS - not jsut a place to store data! ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32628</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32628"/>
		<updated>2008-11-28T13:40:31Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Now you try! */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal). '''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. &lt;br /&gt;
 * Note the geometry type of column 'the_geom'. &lt;br /&gt;
 * Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 ProvincialBoundary.shp -&amp;gt; call the table 'provinces'&lt;br /&gt;
&lt;br /&gt;
And to show that this can scale a bit, let us load in the background a dataset of over 350 000 points (which we will use a bit later)&lt;br /&gt;
 * cd /home/workshop/gisdata/za/fire/modis_af/&lt;br /&gt;
 * shp2pgsql -I -s 4326 modis_af.shp fires | psql workshop  &amp;amp;&amp;gt; /dev/null (puts output into background)&lt;br /&gt;
&lt;br /&gt;
This takes a while so lets move on.&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32627</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32627"/>
		<updated>2008-11-28T13:34:27Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Now you try! */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal). '''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. &lt;br /&gt;
 * Note the geometry type of column 'the_geom'. &lt;br /&gt;
 * Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 ProvincialBoundary.shp -&amp;gt; call the table 'provinces'&lt;br /&gt;
&lt;br /&gt;
And to show that this can scale a bit, let us load in the background a dataset of over 350 000 points (which we will use a bit later)&lt;br /&gt;
 * cd /home/workshop/gisdata/za/fire/modis_af/&lt;br /&gt;
 * shp2pgsql -I -s 4326 modis_af.shp fires | psql workshop  &amp;amp;&amp;gt; /dev/null (puts output into background)&lt;br /&gt;
&lt;br /&gt;
This takes a while so lets move on.&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32626</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32626"/>
		<updated>2008-11-28T13:33:52Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Now you try! */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal). '''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. &lt;br /&gt;
 * Note the geometry type of column 'the_geom'. &lt;br /&gt;
 * Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 ProvincialBoundary.shp -&amp;gt; call the table 'provinces'&lt;br /&gt;
&lt;br /&gt;
And to show that this can scale a bit, let us load in the background a dataset of over 350 000 points (which we will use a bit later)&lt;br /&gt;
 * cd /home/workshop/gisdata/za/fire/modis_af/&lt;br /&gt;
 * shp2pgsql -I -s 4326 modis_af.shp fires | psql workshop  &amp;amp;&amp;gt; /dev/null (puts output into background)&lt;br /&gt;
&lt;br /&gt;
This takes a while so lets move on.&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 provinces&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32625</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32625"/>
		<updated>2008-11-28T13:32:58Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Now you try! */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal). '''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. &lt;br /&gt;
 * Note the geometry type of column 'the_geom'. &lt;br /&gt;
 * Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 ProvincialBoundary.shp -&amp;gt; call the table 'provinces'&lt;br /&gt;
&lt;br /&gt;
And to show that this can scale a bit, let us load in the background a dataset of over 350 000 points (which we will use a bit later)&lt;br /&gt;
 * cd /home/workshop/gisdata/za/fire/modis_af/&lt;br /&gt;
 * shp2pgsql -I -s 4326 modis_af.shp fires | psql workshop  &amp;amp;&amp;gt; /dev/null (puts output into background)&lt;br /&gt;
&lt;br /&gt;
This takes a while so lets move on.&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32624</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32624"/>
		<updated>2008-11-28T12:41:34Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Now you try! */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal). '''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. &lt;br /&gt;
 * Note the geometry type of column 'the_geom'. &lt;br /&gt;
 * Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 RSATowns.shp -&amp;gt; call the table 'towns'&lt;br /&gt;
&lt;br /&gt;
And to show that this can scale a bit, let us load in the background a dataset of over 350 000 points (which we will use a bit later)&lt;br /&gt;
 * cd /home/workshop/gisdata/za/fire/modis_af/&lt;br /&gt;
 * shp2pgsql -I -s 4326 modis_af.shp fires | psql workshop  &amp;amp;&amp;gt; /dev/null (puts output into background)&lt;br /&gt;
&lt;br /&gt;
This takes a while so lets move on.&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32623</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32623"/>
		<updated>2008-11-28T12:39:51Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Now you try! */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal). '''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. &lt;br /&gt;
 * Note the geometry type of column 'the_geom'. &lt;br /&gt;
 * Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 RSATowns.shp -&amp;gt; call the table 'towns'&lt;br /&gt;
&lt;br /&gt;
And to show that this can scale a bit, let us load in the background a dataset of over 350 000 points&lt;br /&gt;
 * cd /home/workshop/gisdata/za/fire/modis_af/&lt;br /&gt;
 * shp2pgsql -I -s 4326 modis_af.shp fires | psql workshop  &amp;amp;&amp;gt; /dev/null (puts output into background)&lt;br /&gt;
&lt;br /&gt;
This takes a while so lets move on.&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32622</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32622"/>
		<updated>2008-11-28T12:30:22Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* First we show you */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal). '''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. &lt;br /&gt;
 * Note the geometry type of column 'the_geom'. &lt;br /&gt;
 * Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 RSATowns.shp -&amp;gt; call the table 'towns'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32621</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32621"/>
		<updated>2008-11-28T12:14:32Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* First we show you */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal). '''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have - back to pgAdmin, click on the 'workshop' database icon and then refresh it (red/green circular arrows icon).&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: (expand the Tables object)&lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) - right-click -&amp;gt; &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
 A 'dams' table which, when expanded should show a bunch of Columns, Constraints (e.g. Primary Key), Indexes, Rules and Triggers. Note the geometry type of column 'the_geom'. Also note the spatial index present - this allows for optimal retrieval of data based on the spatial properties of the data.&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 RSATowns.shp -&amp;gt; call the table 'towns'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32620</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32620"/>
		<updated>2008-11-28T11:21:45Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* First we show you */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgAdmin 3  (the icon with a blue elephant face)&lt;br /&gt;
* Double-click on the icon that has a red cross next to some text &amp;quot;gis (localhost:5432)&amp;quot; and press OK if another screen comes up. The database cluster called gis expands and you should see two databases: 'postgres' and 'workshop'. Expand workshop -&amp;gt; Schemas -&amp;gt; public&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later). Specifically, there is nothing in the db at the moment. So minimise pgAdmin and lets crack on with getting some data in!&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal). '''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have   - back to pgadmin and refresh the database&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 &lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 &lt;br /&gt;
 2 important meta-tables: &lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 RSATowns.shp -&amp;gt; call the table 'towns'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32619</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32619"/>
		<updated>2008-11-28T11:06:59Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* First we show you */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...back to [[Africa_Local_Chapter]]&lt;br /&gt;
&lt;br /&gt;
= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGeo local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGeo chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGeo projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGeo project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspiring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of Firefox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the terminal)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the terminal for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgadmin 3  (the icon with a blue elephant face)&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later).&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the terminal). '''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (terminal window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' XXXX Need notes here on how to open &amp;amp; connect with PGAdminIII XXXXX '''&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have   - back to pgadmin and refresh the database&lt;br /&gt;
Three major things to look at:&lt;br /&gt;
 Hundreds of Functions for working with spatial data: &lt;br /&gt;
 * geometry constructors, &lt;br /&gt;
 * spatial predicates, &lt;br /&gt;
 * geometry editors, &lt;br /&gt;
 * geometry aggregators, &lt;br /&gt;
 * geometry accessors, &lt;br /&gt;
 * measurements, &lt;br /&gt;
 * linear referencing&lt;br /&gt;
 * and outputting  of spatial data. &lt;br /&gt;
 2 important meta-tables: &lt;br /&gt;
 * geometry_columns (for describing the different spatial datasets) &lt;br /&gt;
 * and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 RSATowns.shp -&amp;gt; call the table 'towns'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learnt? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise-ready relational database management system - and it's Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add-on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== uDig ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
== GeoServer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32554</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32554"/>
		<updated>2008-11-27T11:34:46Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Shapefiles shmapefiles....real (wo)men store their data in PostGIS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGEO local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGEO chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGEO projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGEO project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of FireFox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the console)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the console for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgadmin 3  (the icon with a blue elephant face)&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later).&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the console). '''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (console window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have   - back to pgadmin and refresh the database&lt;br /&gt;
Three major thing to look at:&lt;br /&gt;
 Hundreds of Functions for working with spatial data: geometry constructors, spatial predicates, geometry editors, geometry aggregators, geometry accessors, measurements, linear referencing and outputting  of spatial data. &lt;br /&gt;
 2 important meta-tables: geometry_columns (for describing the different spatial datasets) and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 RSATowns.shp -&amp;gt; call the table 'towns'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise ready relational database management system - and its Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32553</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32553"/>
		<updated>2008-11-27T11:30:32Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Shapefiles shmapefiles....real (wo)men store their data in PostGIS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGEO local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGEO chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGEO projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGEO project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of FireFox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the console)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the console for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgadmin 3  (the icon with a blue elephant face)&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later).&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the console). '''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (console window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Dams.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have   - back to pgadmin and refresh the database&lt;br /&gt;
 Three major thing to look at:&lt;br /&gt;
 Hundreds of Functions for working with spatial data: geometry constructors, spatial predicates, geometry editors, geometry aggregators, geometry accessors, measurements, linear referencing and outputting  of spatial data. &lt;br /&gt;
2 important meta-tables: geometry_columns (for describing the different spatial datasets) and spatial_ref_sys(a list of projections/coordinate systems and different representations thereof)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 RSATowns.shp -&amp;gt; call the table 'towns'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise ready relational database management system - and its Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32552</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32552"/>
		<updated>2008-11-27T10:28:39Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Shapefiles shmapefiles....real (wo)men store their data in PostGIS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGEO local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGEO chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGEO projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGEO project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of FireFox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the console)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the console for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgadmin 3  (the icon with a blue elephant face)&lt;br /&gt;
Specifically, let us look at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later).&lt;br /&gt;
&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the console). '''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (console window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Damsp.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have&lt;br /&gt;
&lt;br /&gt;
  '''GRAEME GO ON FROM HERE USING PGADMIN III''' ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 RSATowns.shp -&amp;gt; call the table 'towns'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise ready relational database management system - and its Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32551</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32551"/>
		<updated>2008-11-27T10:03:55Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Shapefiles shmapefiles....real (wo)men store their data in PostGIS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGEO local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGEO chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGEO projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGEO project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of FireFox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the console)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* away from the console for a while - lets look at what a non-spatial, vanilla PostgreSQL database looks like. Open pgadmin 3  (the icon with a blue elephant face)&lt;br /&gt;
Specifically, let us loook at Functions and Tables - don't look to deeply, this is just to show the differences after PostGIS is installed on the database (you will see later).&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the console). '''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (console window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Damsp.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have&lt;br /&gt;
&lt;br /&gt;
  '''GRAEME GO ON FROM HERE USING PGADMIN III''' ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 RSATowns.shp -&amp;gt; call the table 'towns'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise ready relational database management system - and its Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32550</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32550"/>
		<updated>2008-11-27T08:48:06Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Programme */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGEO local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
We'll go through installing some software and getting it to a point where you can have fun with it. &lt;br /&gt;
&lt;br /&gt;
= How Much? =&lt;br /&gt;
&lt;br /&gt;
There will be a door charge of R50 to cover costs &amp;amp; refreshments. That and an open mind are all you need to bring. If you're staying for the QGIS session in the afternoon you can bring your laptop (Windows, Linux or Mac!)&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
 St Davids Marist Inanda College&lt;br /&gt;
 36 Rivonia Rd&lt;br /&gt;
 Inanda&lt;br /&gt;
 Sandton&lt;br /&gt;
[http://www.stdavids.co.za/about_directions.asp Map and Directions]&lt;br /&gt;
&lt;br /&gt;
NB: We'll be in the Prep School computer lab.&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
* November 29th&lt;br /&gt;
* Presentation and workshop segment: 9am to 12pm&lt;br /&gt;
* QGIS Bug Party! 12h30 onwards&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
* '''Tim Sutton''' (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikelela in C++ because he was feeling patriotic.&lt;br /&gt;
* '''Graeme McFerren''' - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
* '''Gavin Fleming''' (gavinjfleming at gmail dot com) - I enjoy my daily FOSS4G fix and telling people how great it was. I'm a 'geoinformation scientist' at Mintek and love to see cutting edge and useful geospatial applications emerging. &lt;br /&gt;
* '''Brendon Wolff-Piggott''' - (brendon at integratedgeodata.co.za) - Water resources consultant and FOSS GIS enthusiast.  I wish there were more hours in the day to keep up with FOSS4G!&lt;br /&gt;
&lt;br /&gt;
= RSVP =&lt;br /&gt;
Let gavinjfleming at gmail dot com know if you're coming as numbers are limited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
As a preview release there are still various bugs that need resolving and various elements (e.g. translation) that may be incomplete. On Saturday the 29th in Johannesburg, South Africa, members from the Africa OSGEO chapter will be holding a QGIS Bug Hunt Party. We would like to invite people from around the world to virtually participate. Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. &lt;br /&gt;
We are going to great lengths to polish up QGIS 1.0 for you (inside and out) and we really appreciate all the feedback we have received thus far. Its virtually impossible to ship any software completely bug free, but with your help we can add just a little more shine to the polish! We need your help to:&lt;br /&gt;
&lt;br /&gt;
* test on different machine configurations (bring your laptops!)&lt;br /&gt;
* validate existing bugs on each platform&lt;br /&gt;
* mark bugs that can no longer be replicated as ready for closure&lt;br /&gt;
* create new tickets for bugs that have not been reported yet (please search first to avoid posting duplicates!)&lt;br /&gt;
* mark bugs that are duplicates&lt;br /&gt;
* provide additional diagnostics so that developers can replicate issues&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
* where to find the QGIS (and other OSGEO projects bug tracking sites)&lt;br /&gt;
* creating an account so you can file non-anonymous bugs and feedback on any OSGEO project bug tracker&lt;br /&gt;
* how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
The approach will be to start by going through any bugs that have not been revised recently, adding additional status information. If you think the bug is fixed, add a comment:&lt;br /&gt;
&lt;br /&gt;
'''Works for me now, recommend closure, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
If you can replicate the bug, add a comment like:&lt;br /&gt;
&lt;br /&gt;
'''Can replicate, OS: Ubuntu 8.10, QGIS Preview 2, &amp;lt;Your Name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Use your initiative to deal with tickets that don't fit into the categories above, following a similar approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After that I will turn you loose on the queue and a shiny copy of QGIS preview 2 and let you have at it. Party is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We look forward to seeing you at the QGIS Bug Party!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Programme in a nutshell =&lt;br /&gt;
&lt;br /&gt;
* Be there in time for a 9am start&lt;br /&gt;
* Morning session: Introducing QGIS, PostGIS, GeoServer, uDig&lt;br /&gt;
* Afternoon session: QGIS Bug Party&lt;br /&gt;
&lt;br /&gt;
Note: There will be frequent rest breaks and lots of time to ask questions!&lt;br /&gt;
&lt;br /&gt;
'''1. Welcome, Introduction and Overview: Starting up (5 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What am I looking at here? What do I need to do to get started?&lt;br /&gt;
&lt;br /&gt;
'''2. QGIS: Opening and viewing spatial data. Your first map. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
What can I look at? How do I set up a simple map?  Toolbars and Plug-ins. &lt;br /&gt;
&lt;br /&gt;
'''3. PostGIS: Why use PostGIS? Simple example of loading data. (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Why use a spatial database? What does one look like? How do I populate a spatial database and where does my data live?&lt;br /&gt;
&lt;br /&gt;
'''4. QGIS: Looking at PostGIS data from QGIS.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
View a PostGIS database from QGIS.  Setting up data definitions for PostGIS sources.  Loading data into PostGIS with the Spit Loader (no, please don't touch the screen!)&lt;br /&gt;
&lt;br /&gt;
'''5. PostGIS: More than a place to dump data... (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
PostGIS is not just good for storing data, one can manipulate it too! GIS can be done inside the database, which is rather nice when you think about it.&lt;br /&gt;
&lt;br /&gt;
'''6. uDig: Why uDig?  GIS and the Web.  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Getting GIS data ready for presentation on the Web! Editing SLDs.&lt;br /&gt;
&lt;br /&gt;
'''7. GeoServer: Tell everyone about it!  (15 minutes)'''&lt;br /&gt;
&lt;br /&gt;
Displaying GIS data on the web.  Grouped WMS.  Scale-dependent rendering.&lt;br /&gt;
&lt;br /&gt;
'''8. And more QGIS.'''&lt;br /&gt;
&lt;br /&gt;
Detail on symbology.  Topological editing. QML, SPD and Openlayers.  (15 minutes)&lt;br /&gt;
&lt;br /&gt;
'''9. Show off session'''&lt;br /&gt;
&lt;br /&gt;
Here we can do some whizz bang demo stuff that we don't have time to do in  workshop format but that will give you some hints as to what else can be achieved.&lt;br /&gt;
&lt;br /&gt;
'''10. General'''&lt;br /&gt;
&lt;br /&gt;
Questions and answers.  What you can do next.  Resources.  Possibly some in-depth examples based on frequent questions.  What would you like to see at future workshops?&lt;br /&gt;
&lt;br /&gt;
'''11. Your assessment of the workshop'''&lt;br /&gt;
&lt;br /&gt;
Tell us what you thought!&lt;br /&gt;
&lt;br /&gt;
= Workshop Notes =&lt;br /&gt;
&lt;br /&gt;
== Welcome, introductions and overview ==&lt;br /&gt;
&lt;br /&gt;
== Lets make a map - First steps with QGIS ==&lt;br /&gt;
&lt;br /&gt;
=== First we show you ===&lt;br /&gt;
&lt;br /&gt;
* Open QGIS using the icon on the top Gnome Panel&lt;br /&gt;
* From the Layer menu, select '''Add Vector Layer'''&lt;br /&gt;
  Layer -&amp;gt; Add Vector Layer&lt;br /&gt;
* A dialog box will appear&lt;br /&gt;
* Navigate to &lt;br /&gt;
  /home/workshop/gisdata/za/brits/SAExplorer/&lt;br /&gt;
* Add the following layer :&lt;br /&gt;
  Provinces.shp&lt;br /&gt;
* Experiment with the '''map navigation toolbar''' to zoom in / out, pan, select etc features.&lt;br /&gt;
* Open the '''Layer properties dialog'''. There are several ways you can do this:&lt;br /&gt;
  1) Select the layer in the legend and then from the menu do Layer -&amp;gt; Properties&lt;br /&gt;
  or&lt;br /&gt;
  2) Right click on the layer in the legend and choose Properties from the context menu&lt;br /&gt;
  or&lt;br /&gt;
  3) Double click on the layer in the legend&lt;br /&gt;
* Familiarise yourself with the various panels in the vector properties dialog.&lt;br /&gt;
* Select the '''Symbology''' tab (second from the left)&lt;br /&gt;
* From the '''Style Options''' panel, choose a pleasing '''fill colour''' for the provinces then &lt;br /&gt;
  Click OK&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Add''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
  Transport_NationalRoads.shp&lt;br /&gt;
  Transport_Railways.shp&lt;br /&gt;
  RSATowns.shp&lt;br /&gt;
  Dams.shp&lt;br /&gt;
 &lt;br /&gt;
'''Zoom and pan''' around a little to explore your data'''&lt;br /&gt;
'''Symbolise''' each layer with an appropriate colour to make the most awe inspring map.&lt;br /&gt;
&lt;br /&gt;
Save your project using &lt;br /&gt;
 File -&amp;gt; Save&lt;br /&gt;
&lt;br /&gt;
And put it into&lt;br /&gt;
 /home/workshop/gisdata/brits.qgs&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
In ten minutes you now know how to '''add vector layers''' into QGIS, '''pan and zoom''' to navigate the map, set the colour of vectors using the '''Single Symbol''' option in the '''Layer Properties'''.&lt;br /&gt;
&lt;br /&gt;
== Shapefiles shmapefiles....real (wo)men store their data in PostGIS ==&lt;br /&gt;
&lt;br /&gt;
* '''Create''' a new PostgreSQL database. To do this, open the terminal application (icon to the right of FireFox icon on the top menu bar). Now at the prompt type the following command:&lt;br /&gt;
  createdb workshop&lt;br /&gt;
&lt;br /&gt;
* '''Verify''' your database exists (once again type this into the console)&lt;br /&gt;
  psql -l&lt;br /&gt;
* You should see something like this:&lt;br /&gt;
 workshop@heron:~$ psql -l&lt;br /&gt;
        List of databases&lt;br /&gt;
   Name    |  Owner   | Encoding &lt;br /&gt;
 -----------+----------+----------&lt;br /&gt;
 postgres  | postgres | UTF8&lt;br /&gt;
 template0 | postgres | UTF8&lt;br /&gt;
 template1 | postgres | UTF8&lt;br /&gt;
 workshop  | workshop | UTF8&lt;br /&gt;
 (4 rows)&lt;br /&gt;
* Install the PostGIS spatial data extensions (again from the console). '''Hint''' copy and paste these from the IRC channel or the wiki page!&lt;br /&gt;
 createlang plpgsql workshop&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/lwpostgis.sql&lt;br /&gt;
 psql workshop &amp;lt; /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql&lt;br /&gt;
&lt;br /&gt;
* Yegads! What did I just do? Firstly, you installed the '''plpgsql''' procedural language extensions into your PostgreSQL database. Then you ran two sql scripts which create the '''PostGIS''' spatial extensions to your database. You only need to do this '''once''' when you create a new spatial database, so don't worry about remembering those commands off by heart.&lt;br /&gt;
* Lets upload a shapefile into the database....once more into the black hole (console window).&lt;br /&gt;
 cd /home/workshop/gisdata/za/brits/SAExplorer&lt;br /&gt;
 shp2pgsql -I -s 4326 Dams.shp dams | psql workshop&lt;br /&gt;
* Erk! What does that all mean? Lets break it down:&lt;br /&gt;
 /home/workshop/gisdata/za/brits/SAExplorer - go to our data directory&lt;br /&gt;
 shp2pgsql - an application that loads shapefiles into a PostGIS database&lt;br /&gt;
 -I - an option to shp2pgsql telling it to create a spatial index&lt;br /&gt;
 -s - the coordinate reference system to use, expressed as an EPSG number. 4326 is the same as Lat/Long WGS84&lt;br /&gt;
 Damsp.shp - the filename of the shapefile to load&lt;br /&gt;
 dams - the table name that the data should be loaded into&lt;br /&gt;
 | psql workshop - send the results of the shp2pgsql into the psql application, workshop database&lt;br /&gt;
&lt;br /&gt;
* Lets take a peek inside our database now and see what we have&lt;br /&gt;
&lt;br /&gt;
  '''GRAEME GO ON FROM HERE USING PGADMIN III''' ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
'''Load''' the following layers (also from the /home/workshop/gisdata/za/brits/SAExplorer/ directory)&lt;br /&gt;
&lt;br /&gt;
 Hydrology_DWAFRivers.shp -&amp;gt; call the table 'rivers'&lt;br /&gt;
 Transport_Mainroads.shp -&amp;gt; call the table 'roads'&lt;br /&gt;
 RSATowns.shp -&amp;gt; call the table 'towns'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL is an enterprise ready relational database management system - and its Free and Open Source Software&lt;br /&gt;
* You can create a new database using the '''createdb''' command.&lt;br /&gt;
* '''PostGIS''' is a add on to PostgreSQL that lets you store spatial data and carry out spatial analysis within the database.&lt;br /&gt;
* In order to set up PostGIS you need to run a couple of SQL scripts&lt;br /&gt;
* '''shp2pgsql''' is a command line application that lets you load shapefiles into your spatial datastore&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using PostGIS data from QGIS ==&lt;br /&gt;
&lt;br /&gt;
Once your data is in PostGIS, its easy to share across your organisation. Because it's in a database you get row level locking (instead of file locking in a shapefile), so many users can be editing and viewing data at the same time. There are many clients that let you visualise your PostGIS data..lets take a look at how we do it in QGIS.&lt;br /&gt;
&lt;br /&gt;
* Open QGIS&lt;br /&gt;
* Start a new project&lt;br /&gt;
  File -&amp;gt; New Project&lt;br /&gt;
* Add a PostGIS layer&lt;br /&gt;
  Layer -&amp;gt; Add PostGIS Layer&lt;br /&gt;
* From the connections list, choose '''workshop'''&lt;br /&gt;
  Click connect&lt;br /&gt;
* In the table list, click on '''dams'''&lt;br /&gt;
  Click Add&lt;br /&gt;
&lt;br /&gt;
=== Now you try! ===&lt;br /&gt;
&lt;br /&gt;
* Add the following layers from your database&lt;br /&gt;
 rivers&lt;br /&gt;
 roads&lt;br /&gt;
 towns&lt;br /&gt;
&lt;br /&gt;
* set some nice colors for your layers - notice how the process is exactly the same as when setting colours for a shapefile.&lt;br /&gt;
&lt;br /&gt;
* save your project into&lt;br /&gt;
&lt;br /&gt;
 /home/workshop/gisdata/brits_pg.qgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What have I learned? ===&lt;br /&gt;
&lt;br /&gt;
* You can '''visualise''' PostGIS spatial database tables inside QGIS&lt;br /&gt;
* To add a PostGIS layer, use the '''Layer -&amp;gt; Add PostGIS Layer''' menu option.&lt;br /&gt;
* Once a PostGIS layer, you can treat it just like any other (e.g. shapefile) layer&lt;br /&gt;
* Your presenters are truly amazing....however would I have figured this stuff out for my self :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32003</id>
		<title>AfricaEvents29November2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=AfricaEvents29November2008&amp;diff=32003"/>
		<updated>2008-11-11T05:57:16Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= What? =&lt;br /&gt;
&lt;br /&gt;
Our first OSGEO local chapter meet up! We will chew the cud, show you some cool stuff and start to get people familiar with the brilliant FOSS GeoSpatial products out there!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Where? =&lt;br /&gt;
&lt;br /&gt;
Gavin can you add travel details + lat/lon for the location? Embed an openlayers map here?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= When? =&lt;br /&gt;
&lt;br /&gt;
 * November 29th&lt;br /&gt;
 * Presentation and workshop segment: 10am to 1pm&lt;br /&gt;
 * QGIS Bug Party!&lt;br /&gt;
&lt;br /&gt;
= Who =&lt;br /&gt;
&lt;br /&gt;
Your friendly presenters for the day will be:&lt;br /&gt;
&lt;br /&gt;
 * Tim Sutton (tim at linfiniti.com) - QGIS hacker and FOSS GIS junkie extraordinaire. Tim eats Weetbix for breakfast because it sounds like Linux. He once rewrote Nkosi Sikileli in C++ because he was feeling patriotic.&lt;br /&gt;
 * Graeme McFerren - (graeme.mcferren at gmail.com) - GIS researcher and FOSS4G user. Mmm, aspire to be like Tim then.&lt;br /&gt;
 * Gavin Fleming - add your email and witty bio here&lt;br /&gt;
&lt;br /&gt;
= Presentation and workshop segment =&lt;br /&gt;
&lt;br /&gt;
* Install postgis   :   Gavin&lt;br /&gt;
 * create user account&lt;br /&gt;
 * create a db&lt;br /&gt;
 * load plpgsql, lwpostgis, spatial_ref_sys&lt;br /&gt;
 * use shp2pgsql to load a shapefile&lt;br /&gt;
 * perform some basic spatial queries&lt;br /&gt;
 * show inserting geometries&lt;br /&gt;
 * show extracting geometries&lt;br /&gt;
&lt;br /&gt;
* Install geoserver :  Graeme&lt;br /&gt;
 * install java 1.6 from apt&lt;br /&gt;
 * grab standalone geoserver binary&lt;br /&gt;
 * extract to opt&lt;br /&gt;
 * export JAVA_HOME=/usr&lt;br /&gt;
 * start geoserver&lt;br /&gt;
 * create a datastore&lt;br /&gt;
 * create a couple of feature types using pg backend&lt;br /&gt;
 * create a WMS layergroup with a few layers&lt;br /&gt;
 * demonstrate the result in geoserver browser&lt;br /&gt;
&lt;br /&gt;
* Install uDig :  Gavin&lt;br /&gt;
 * Connect to Geoserver wfs&lt;br /&gt;
 * create nice sld for layer&lt;br /&gt;
 * paste into geoserver and reload&lt;br /&gt;
&lt;br /&gt;
* Install QGIS: Tim&lt;br /&gt;
 * Pull in WMS layer from geoserver&lt;br /&gt;
 * Pull up postgis layer&lt;br /&gt;
 * Demonstrate editing and topological editing&lt;br /&gt;
 * Demonstrate thematic mapping options&lt;br /&gt;
 * Demonstrate attribute actions&lt;br /&gt;
 * Demonstrate plugin manager&lt;br /&gt;
&lt;br /&gt;
= QGIS Bug Party =&lt;br /&gt;
&lt;br /&gt;
Each person attending will get a free copy of QGIS 1.0.0 Preview 2 absolutely free of charge! Sorry no shrink wrap copies available. Preview 2 is the second in a series of preview releases we are making before we release the Stable QGIS 1.0.0 with long term support. We need your help to:&lt;br /&gt;
&lt;br /&gt;
 * file bugs (after first checking that no matching bug exists)&lt;br /&gt;
 * verify open bugs are still valid&lt;br /&gt;
 * mark bugs that seem to be fixed&lt;br /&gt;
 * test on different machine configurations (bring your laptops!)&lt;br /&gt;
&lt;br /&gt;
The idea is not to try to *fix* the bugs, but rather to do a QA session on the bugs in the bug tracker. In the process you will learn how to interact with an Open Source project the Right Way i.e. filing good quality bug reports.&lt;br /&gt;
&lt;br /&gt;
I will start off with a simple show and tell covering:&lt;br /&gt;
 * where to find the QGIS (and other OSGEO projects bug tracking sites)&lt;br /&gt;
 * creating an account so you can file non-anonymous bugs and feedback on any OSGEO project bug tracker&lt;br /&gt;
 * how the bug tracking system works - what the various input fields in the QGIS tracker mean&lt;br /&gt;
&lt;br /&gt;
After that I will turn you lose on the queue and a shiny copy of QGIS preview 2 and let you have it. Part is over when the last man falls asleep at the keyboard! Ok probably we will finish at between 4:30pm and 5pm if my wife has anything to do with it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Local Chapters]]&lt;br /&gt;
[[Category:Africa]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31175</id>
		<title>FOSS4G2008 Lessons Learned</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31175"/>
		<updated>2008-10-20T10:13:51Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Ranking and Decisions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Conference_Committee]]&lt;br /&gt;
&lt;br /&gt;
This page is a collection of information, comments, and suggestions, based on the planning, organizing, and hosting of the FOSS4G 2008 conference. The intent is to provide a resource that can be used by organizers of future FOSS4G conferences. This is not a forum for conference attendees to comment on the conference. Use [[FOSS4G2008_Comments]] for that.&lt;br /&gt;
&lt;br /&gt;
= Bidding =&lt;br /&gt;
&lt;br /&gt;
= Timetable =&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
&lt;br /&gt;
== Sponsorships ==&lt;br /&gt;
&lt;br /&gt;
== Complimentary Registrations and Volunteers ==&lt;br /&gt;
&lt;br /&gt;
== Workshop Pricing ==&lt;br /&gt;
&lt;br /&gt;
= Registration =&lt;br /&gt;
&lt;br /&gt;
== Support For Some Attendees ==&lt;br /&gt;
&lt;br /&gt;
== Scams ==&lt;br /&gt;
&lt;br /&gt;
== Discounts ==&lt;br /&gt;
&lt;br /&gt;
== Breakdown by Country ==&lt;br /&gt;
&lt;br /&gt;
== Attendance ==&lt;br /&gt;
&lt;br /&gt;
=== At the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Code Sprint ===&lt;br /&gt;
&lt;br /&gt;
= Marketing =&lt;br /&gt;
&lt;br /&gt;
== The Mail-out ==&lt;br /&gt;
&lt;br /&gt;
== How People Heard about FOSS4G2007 ==&lt;br /&gt;
&lt;br /&gt;
== Local / Regional / International ==&lt;br /&gt;
&lt;br /&gt;
== Use Proxies ==&lt;br /&gt;
&lt;br /&gt;
== Local Marketing is Key ==&lt;br /&gt;
&lt;br /&gt;
== Web Site &amp;amp; Program ==&lt;br /&gt;
&lt;br /&gt;
== Lists are Important ==&lt;br /&gt;
&lt;br /&gt;
== Press Releases ==&lt;br /&gt;
&lt;br /&gt;
= Social Venues =&lt;br /&gt;
&lt;br /&gt;
= Conference Venue =&lt;br /&gt;
&lt;br /&gt;
== Audio-Visual ==&lt;br /&gt;
&lt;br /&gt;
== Quirks ==&lt;br /&gt;
&lt;br /&gt;
= Accommodations =&lt;br /&gt;
&lt;br /&gt;
= Transportation =&lt;br /&gt;
&lt;br /&gt;
= Workshops and Labs =&lt;br /&gt;
&lt;br /&gt;
Workshops and labs were again very popular. In Cape Town, it presented a chance for many people to shake off their fears of working with FOSS. There is some talk of not running the 1.5 hour labs in 2009. Consider that some of the labs had over 70 people attending. There is certainly a demand. This needs to be balanced though.  2008 had '''too many''' workshops and labs - 15 workshops and 20 labs in total. This became difficult to manage logistically and technically - there are so many factors that can go wrong!&lt;br /&gt;
&lt;br /&gt;
== Workshop Committee ==&lt;br /&gt;
&lt;br /&gt;
This is a big task, even if at 2009, Sydney decides to scale back on the workshops and labs.&lt;br /&gt;
&lt;br /&gt;
We had it roughly break out as follows:&lt;br /&gt;
&lt;br /&gt;
A person responsible for the technical side of the workshops and labs (software, computer setup etc)&lt;br /&gt;
A person responsible for the logistical side (comms with the IT suppliers, other suppliers)&lt;br /&gt;
Advisor from 2007/ OSGeo&lt;br /&gt;
2008 Conference Chair, to ensure integration with the rest of the conference&lt;br /&gt;
&lt;br /&gt;
For the scale of 2008, we probably needed another LOC member technically involved. &lt;br /&gt;
&lt;br /&gt;
We used formal conference volunteers to an extent, but if we had more more of them, they could have been put to work quite happily on doing tests and installs.&lt;br /&gt;
&lt;br /&gt;
The amazing part was the willingness to help out evident in the FOSS4G community. A gang of helpers made sure that we were all systems go for Monday by spending most of their Sunday helping to install, configure, test stuff. No complaining, just doing. Brilliant! Ideally, this spirit should not need to be tested though. Early preparation will avoid this to some extent.&lt;br /&gt;
&lt;br /&gt;
== Terminology ==&lt;br /&gt;
&lt;br /&gt;
== Call for Workshops ==&lt;br /&gt;
&lt;br /&gt;
=== Timing ===&lt;br /&gt;
&lt;br /&gt;
As early as possible to allow maximum time for instructors and workshop committee to prepare (though some instructors will always leave things to the last - human nature!). It should go out in a month or two's time from now - preferably before year end.&lt;br /&gt;
&lt;br /&gt;
=== Format of the Call ===&lt;br /&gt;
&lt;br /&gt;
We put out a document in pdf, odt and word that required instructors to fill out a bunch of info that would help us to assess the session. Best to read it at [http://conference.osgeo.org/index.php/foss4g/index/manager/files/schedConfs/foss4g2008/files/docs/FOSS4G2008WorkshopLabSubmissionFormv2.odt].&lt;br /&gt;
&lt;br /&gt;
=== Results of the Call ===&lt;br /&gt;
&lt;br /&gt;
We received 45 submissions, 27 for 3 hour workshops, 18 for labs.&lt;br /&gt;
&lt;br /&gt;
== Selection Process ==&lt;br /&gt;
&lt;br /&gt;
=== Philosophy===&lt;br /&gt;
&lt;br /&gt;
Do you want to cater for the most established projects, in the hope of filling up rooms, at the risk of becoming stale? Do you wish to introduce new software tools to the audience and give a chance to emerging projects? Well, a mix of both seems appropriate, but one has to judge the potential audience a bit. For Cape Town we had local knowledge, for example, that MapWindow GIS was gaining some popularity in certain circles. As a result, we made sure that this project had several slots in the programme. The risk of having less well known projects as workshops is that attendance might be lower, affecting the conference bottom line. Labs are an opportunity to showcase such projects.&lt;br /&gt;
&lt;br /&gt;
=== Ranking and Decisions ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Google Docs was a neat way to do things. We each ranked each proposal on a scale of 1 to 5, based on importance to the FOSS4G community, likely interest, likely audience size and stated requirements, We added comments and then compared scores, imparted some local knowledge and gave an initial rank sort. We also considered whether some of the workshop proposals could be undertaken as labs.&lt;br /&gt;
&lt;br /&gt;
Ot of this came a second rank, which ended up close to the eventual program. Instructors were then invited and given time to consider how serious they were about participating, which included registering on the conference site. Some on the list pulled out and were replaced from the next in line from the rankings.&lt;br /&gt;
&lt;br /&gt;
== Communication with Instructors ==&lt;br /&gt;
&lt;br /&gt;
Instructors should be *forced* onto the workshop-dev mail list - at 2008, some instructors did not join the list and were a bit incommunicado. Personal communications cannot be underestimated too.&lt;br /&gt;
&lt;br /&gt;
== Preparation Process ==&lt;br /&gt;
&lt;br /&gt;
Actually there is probably some sense in having a few stages to the workshop/lab development process. Probably difficult to do, but perhaps ensure that the material to be presented (software, data, printouts, slides etc) are ready at least a month before the time. Some projects want to show the latest and greatest features at the workshop or lab, but this creates stress and risk. We had workshop / lab presenters compiling their code for their session the night before. All in the spirit of things, but very stressful indeed. Avoid. Determinedly.&lt;br /&gt;
&lt;br /&gt;
== Venues ==&lt;br /&gt;
&lt;br /&gt;
At Cape Town, we had 2 big, dedicated venues at the main conference centre plus the main auditorium for one workshop, one venue at the hotel where most delegates were staying and two venues at the University, 15 minutes drive away.&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Venue Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Pro's&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Con's&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Large dedicated rooms at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Control! We could put in freshly imaged computers, our own LAN, good AV facilities, nice desks. Their size allowed us to hold large workshops and labs (capability for 100 pax, but max attendance was somewhere in the region of 80 folk). These rooms also acted (unintentionally) as places where folk could go and catch up on e-mail, have some quiet time, etc, when they were not in use&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A little bit soulless, especially if not full. Some instructors felt un-engaged by the audience in these large venues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auditorium at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ummm, an extra venue at no extra cost?&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Power supply problems, network issues, cavernous place to instruct a few dozen folk. Not sure if it was a success to have a workshop where people had to supply their own notebooks - created config issues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hotel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;This was pretty much the same as the main venues: we had control, access and pleasant environment, plus the advantage of not being too huge. Plus, tea and snacks were thrown in as part of the price.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A 5 minute walk from the CTICC, not a big problem, but causes delays&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;University&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The venues were a bit more intimate - instructors could engage with attendees more easily. Felt a lot less &amp;quot;corporate&amp;quot;. Nice opportunity to raise awareness of FOSS4G. Lab owners were very enthusiastic and helpful&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;No Control! We had to work with PC's with no idea what was on them, other than the OS, and no ability to clear the environment. Who knows what students are doing on lab PC's? Network access and internet connectivity was THE major issue. The university bandwidth was limited such that one workshop in particular did not really work. Also, Internet access was controlled by a proxy, which required usernames and passwords, which the network admins were not too keen to hand out and which caused great annoyance for Firefox users. Transport to the venues was problematic, particularly if folk missed the buses&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The logistical and control hurdles of having workshops at a University were big. Much better to keep venues in one place if possible, or otherwise have them in close walking distance of each other. &lt;br /&gt;
There is a lot to be said for having 'clean' venues, where you have control over how things work. &lt;br /&gt;
Try to encourage more interaction through careful choice and setup of venue&lt;br /&gt;
&lt;br /&gt;
== Computers and Networks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rule number 1: Work with a good technology supplier. We had the most amazing experience with our main IT suppliers - they were flexible, helpful, committed and technically sound. Okay, so the bandwidth was used up at times, but that had more to do with the cost of connectivity than the IT team.&lt;br /&gt;
&lt;br /&gt;
Our approach was to allow several ways to present a workshop or lab. Instructors could build a LiveDVD / LiveUSB and run the session from that. Alternatively, instructors could prepare a VMWare image and run the session from VMWare Player. Thirdly, and most commonly, instructors could provide some software (and data) and provide setup instructions. We then ran through the setup on 2 slightly different machines, and then our IT supplier imaged this setup over the 98 other machines.&lt;br /&gt;
&lt;br /&gt;
The LiveDVD/LiveUSB approach worked pretty well, putting all the onus onto the instructors to be ready. this approach incurs a higher hardware cost, as one needs more RAM. &lt;br /&gt;
&lt;br /&gt;
The VMWare approach was mixed. It was most successful when a thin Linux image was used. Windows based images were '''huge''', and thus difficult to upload/download in preparation. Also, the VMWare approach definitely requires more punchy machines - minimum 2Gb RAM. With enough preparation time and upload/download bandwidth, this is a very solid approach though one needs to be careful to make sure networking is setup properly. &lt;br /&gt;
&lt;br /&gt;
The third approach worked well on the whole. We could prepare the environment quite well if instructors came to the party early with their requirements and instructions. One thing that we tried to a limited extent was opening up a VNC/Remote Desktop Connection to the machines that we were preparing. Given more time, we could have had a slot where each instructor made sure that their setup worked. Agreement on port numbers beforehand was useful for this approach. This approach came a bit unstuck when instructors were not prepared well in advance. Installing a bunch of software across 50 machines the night before a workshop or lab is not conducive to good heart health. If this approach is followed, one thing that worked really well was having an identical network share on each machine. This allowed us to rapidly install software in-situ through an almost peer-to-peer method. &lt;br /&gt;
&lt;br /&gt;
Whichever approach is followed, it is well worth having a conference Server, where last minute things can be served from, whether they be a patch, a set of data or a set of documents.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
We ran Windows XP as a base install. This worked quite well for the South African environment and for the particular conference, which included a lot of folk who were less exposed to Linux. I feel that this choice was determined by our audience in the end. Some FOSS4G attendees were annoyed by the use of Win XP in this way, but it was a pragmatic approach that worked, and also allowed certain FOSS4G projects that are Windows based to gain exposure. We needed to introduce many people to FOSS4G, not necessarily the whole FOSS universe out there. Perhaps the audience will be different in Sydney, but the choice does need to be carefully weighed up. We chose to offer a bridge into FOSS for the most people.&lt;br /&gt;
&lt;br /&gt;
MS4W, OSGeo4W, PostGIS, Java, Tomcat, Firefox, Google Earth covered a lot of bases and were all easy to install and work with on Win XP.&lt;br /&gt;
&lt;br /&gt;
== Printed Handouts ==&lt;br /&gt;
&lt;br /&gt;
2008 provided printed handouts where instructors wished them to be provided. One issue is that for labs it is difficult to know how many to print, for the labs are essentially walk in affairs. Feedback from attendees at labs and workshops suggests that, on the whole, printed material is desirable. One downside to having printed material is that attendees often tend to race ahead of the instructor, which can be problematic if the workshop or lab content is complex or likely to cause problems if an attendee misses a step.&lt;br /&gt;
&lt;br /&gt;
We found a very helpful professional printshop near (i.e. 2 minutes walk) to the conference venue. They were flexible, accommodating and very professional. We organised a kind of printing &amp;quot;slush fund&amp;quot; at the printshop, which was capped at a certain level.&lt;br /&gt;
&lt;br /&gt;
On another track, printed material offers a sponsorship opportunity...&lt;br /&gt;
&lt;br /&gt;
= Presentations =&lt;br /&gt;
&lt;br /&gt;
== Call for Papers ==&lt;br /&gt;
&lt;br /&gt;
=== Academic track ===&lt;br /&gt;
The call for papers did not include a request for number of words. This lead to some minimalistic, say useless, abstracts for the proceedings.&lt;br /&gt;
A reasonable abstract and 3 keywords will also help to categorise the submissions more easily for the individual sessions.&lt;br /&gt;
&lt;br /&gt;
Suggestions for 2009:&lt;br /&gt;
* abstract number of words (300-500 words + 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
=== General track ===&lt;br /&gt;
* abstract number of words (150-300 words + optionally 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
== Submission Process ==&lt;br /&gt;
&lt;br /&gt;
== Community Ranking Process ==&lt;br /&gt;
&lt;br /&gt;
=== Building Sessions ===&lt;br /&gt;
&lt;br /&gt;
== Cancellations ==&lt;br /&gt;
&lt;br /&gt;
== Posters ==&lt;br /&gt;
&lt;br /&gt;
= Wiki =&lt;br /&gt;
&lt;br /&gt;
= Conference Evaluation =&lt;br /&gt;
&lt;br /&gt;
== Workshop Evaluations ==&lt;br /&gt;
&lt;br /&gt;
= Onsite Staff =&lt;br /&gt;
&lt;br /&gt;
= Program handouts etc =&lt;br /&gt;
&lt;br /&gt;
* convenient small flyer, nice to carry around&lt;br /&gt;
* presenter names would be desired (small font)&lt;br /&gt;
&lt;br /&gt;
= Conference website software =&lt;br /&gt;
For the first time, OSGeo is making use of the [http://pkp.sfu.ca/ocs/ Open Conference Systems (OCS)] software to 'manage' a FOSS4G conference.&lt;br /&gt;
&lt;br /&gt;
* See [[FOSS4G2008_Site_Upgrade]]&lt;br /&gt;
* and [[FOSS4G2008_Committee_Issues#OCS_website_management]]&lt;br /&gt;
* Limitations (to be fixed for 2009):&lt;br /&gt;
** No list of participants easily extractable&lt;br /&gt;
** No online session navigation (as supported Indico, see www.foss4g2006.org)&lt;br /&gt;
&lt;br /&gt;
[[Category:FOSS4G2008]]&lt;br /&gt;
[[Category:FOSS4G]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31174</id>
		<title>FOSS4G2008 Lessons Learned</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31174"/>
		<updated>2008-10-20T10:12:47Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Workshops and Labs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Conference_Committee]]&lt;br /&gt;
&lt;br /&gt;
This page is a collection of information, comments, and suggestions, based on the planning, organizing, and hosting of the FOSS4G 2008 conference. The intent is to provide a resource that can be used by organizers of future FOSS4G conferences. This is not a forum for conference attendees to comment on the conference. Use [[FOSS4G2008_Comments]] for that.&lt;br /&gt;
&lt;br /&gt;
= Bidding =&lt;br /&gt;
&lt;br /&gt;
= Timetable =&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
&lt;br /&gt;
== Sponsorships ==&lt;br /&gt;
&lt;br /&gt;
== Complimentary Registrations and Volunteers ==&lt;br /&gt;
&lt;br /&gt;
== Workshop Pricing ==&lt;br /&gt;
&lt;br /&gt;
= Registration =&lt;br /&gt;
&lt;br /&gt;
== Support For Some Attendees ==&lt;br /&gt;
&lt;br /&gt;
== Scams ==&lt;br /&gt;
&lt;br /&gt;
== Discounts ==&lt;br /&gt;
&lt;br /&gt;
== Breakdown by Country ==&lt;br /&gt;
&lt;br /&gt;
== Attendance ==&lt;br /&gt;
&lt;br /&gt;
=== At the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Code Sprint ===&lt;br /&gt;
&lt;br /&gt;
= Marketing =&lt;br /&gt;
&lt;br /&gt;
== The Mail-out ==&lt;br /&gt;
&lt;br /&gt;
== How People Heard about FOSS4G2007 ==&lt;br /&gt;
&lt;br /&gt;
== Local / Regional / International ==&lt;br /&gt;
&lt;br /&gt;
== Use Proxies ==&lt;br /&gt;
&lt;br /&gt;
== Local Marketing is Key ==&lt;br /&gt;
&lt;br /&gt;
== Web Site &amp;amp; Program ==&lt;br /&gt;
&lt;br /&gt;
== Lists are Important ==&lt;br /&gt;
&lt;br /&gt;
== Press Releases ==&lt;br /&gt;
&lt;br /&gt;
= Social Venues =&lt;br /&gt;
&lt;br /&gt;
= Conference Venue =&lt;br /&gt;
&lt;br /&gt;
== Audio-Visual ==&lt;br /&gt;
&lt;br /&gt;
== Quirks ==&lt;br /&gt;
&lt;br /&gt;
= Accommodations =&lt;br /&gt;
&lt;br /&gt;
= Transportation =&lt;br /&gt;
&lt;br /&gt;
= Workshops and Labs =&lt;br /&gt;
&lt;br /&gt;
Workshops and labs were again very popular. In Cape Town, it presented a chance for many people to shake off their fears of working with FOSS. There is some talk of not running the 1.5 hour labs in 2009. Consider that some of the labs had over 70 people attending. There is certainly a demand. This needs to be balanced though.  2008 had '''too many''' workshops and labs - 15 workshops and 20 labs in total. This became difficult to manage logistically and technically - there are so many factors that can go wrong!&lt;br /&gt;
&lt;br /&gt;
== Workshop Committee ==&lt;br /&gt;
&lt;br /&gt;
This is a big task, even if at 2009, Sydney decides to scale back on the workshops and labs.&lt;br /&gt;
&lt;br /&gt;
We had it roughly break out as follows:&lt;br /&gt;
&lt;br /&gt;
A person responsible for the technical side of the workshops and labs (software, computer setup etc)&lt;br /&gt;
A person responsible for the logistical side (comms with the IT suppliers, other suppliers)&lt;br /&gt;
Advisor from 2007/ OSGeo&lt;br /&gt;
2008 Conference Chair, to ensure integration with the rest of the conference&lt;br /&gt;
&lt;br /&gt;
For the scale of 2008, we probably needed another LOC member technically involved. &lt;br /&gt;
&lt;br /&gt;
We used formal conference volunteers to an extent, but if we had more more of them, they could have been put to work quite happily on doing tests and installs.&lt;br /&gt;
&lt;br /&gt;
The amazing part was the willingness to help out evident in the FOSS4G community. A gang of helpers made sure that we were all systems go for Monday by spending most of their Sunday helping to install, configure, test stuff. No complaining, just doing. Brilliant! Ideally, this spirit should not need to be tested though. Early preparation will avoid this to some extent.&lt;br /&gt;
&lt;br /&gt;
== Terminology ==&lt;br /&gt;
&lt;br /&gt;
== Call for Workshops ==&lt;br /&gt;
&lt;br /&gt;
=== Timing ===&lt;br /&gt;
&lt;br /&gt;
As early as possible to allow maximum time for instructors and workshop committee to prepare (though some instructors will always leave things to the last - human nature!). It should go out in a month or two's time from now - preferably before year end.&lt;br /&gt;
&lt;br /&gt;
=== Format of the Call ===&lt;br /&gt;
&lt;br /&gt;
We put out a document in pdf, odt and word that required instructors to fill out a bunch of info that would help us to assess the session. Best to read it at [http://conference.osgeo.org/index.php/foss4g/index/manager/files/schedConfs/foss4g2008/files/docs/FOSS4G2008WorkshopLabSubmissionFormv2.odt].&lt;br /&gt;
&lt;br /&gt;
=== Results of the Call ===&lt;br /&gt;
&lt;br /&gt;
We received 45 submissions, 27 for 3 hour workshops, 18 for labs.&lt;br /&gt;
&lt;br /&gt;
== Selection Process ==&lt;br /&gt;
&lt;br /&gt;
=== Philosophy===&lt;br /&gt;
&lt;br /&gt;
Do you want to cater for the most established projects, in the hope of filling up rooms, at the risk of becoming stale? Do you wish to introduce new software tools to the audience and give a chance to emerging projects? Well, a mix of both seems appropriate, but one has to judge the potential audience a bit. For Cape Town we had local knowledge, for example, that MapWindow GIS was gaining some popularity in certain circles. As a result, we made sure that this project had several slots in the programme. The risk of having less well known projects as workshops is that attendance might be lower, affecting the conference bottom line. Labs are an opportunity to showcase such projects.&lt;br /&gt;
&lt;br /&gt;
=== Ranking and Decisions ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Google Docs was a neat way to do things. We each ranked each proposal on a scale of 1 to 5, based on importance to the FOSS4G community, likely interest, likely audience size and stated requirements, We added comments and then compared scores, imparted some local knowledge and gave an initial rank sort. We also considered whether some of the workshop proposals could be undertaken as labs.&lt;br /&gt;
&lt;br /&gt;
Ot of this came a second rank, which ended up close to the eventual program. Instructors were then invited and given time to consider how serious they were about participating. Some on the list pulled out and were replaced from the next in line from the rankings.&lt;br /&gt;
&lt;br /&gt;
== Communication with Instructors ==&lt;br /&gt;
&lt;br /&gt;
Instructors should be *forced* onto the workshop-dev mail list - at 2008, some instructors did not join the list and were a bit incommunicado. Personal communications cannot be underestimated too.&lt;br /&gt;
&lt;br /&gt;
== Preparation Process ==&lt;br /&gt;
&lt;br /&gt;
Actually there is probably some sense in having a few stages to the workshop/lab development process. Probably difficult to do, but perhaps ensure that the material to be presented (software, data, printouts, slides etc) are ready at least a month before the time. Some projects want to show the latest and greatest features at the workshop or lab, but this creates stress and risk. We had workshop / lab presenters compiling their code for their session the night before. All in the spirit of things, but very stressful indeed. Avoid. Determinedly.&lt;br /&gt;
&lt;br /&gt;
== Venues ==&lt;br /&gt;
&lt;br /&gt;
At Cape Town, we had 2 big, dedicated venues at the main conference centre plus the main auditorium for one workshop, one venue at the hotel where most delegates were staying and two venues at the University, 15 minutes drive away.&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Venue Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Pro's&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Con's&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Large dedicated rooms at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Control! We could put in freshly imaged computers, our own LAN, good AV facilities, nice desks. Their size allowed us to hold large workshops and labs (capability for 100 pax, but max attendance was somewhere in the region of 80 folk). These rooms also acted (unintentionally) as places where folk could go and catch up on e-mail, have some quiet time, etc, when they were not in use&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A little bit soulless, especially if not full. Some instructors felt un-engaged by the audience in these large venues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auditorium at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ummm, an extra venue at no extra cost?&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Power supply problems, network issues, cavernous place to instruct a few dozen folk. Not sure if it was a success to have a workshop where people had to supply their own notebooks - created config issues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hotel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;This was pretty much the same as the main venues: we had control, access and pleasant environment, plus the advantage of not being too huge. Plus, tea and snacks were thrown in as part of the price.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A 5 minute walk from the CTICC, not a big problem, but causes delays&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;University&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The venues were a bit more intimate - instructors could engage with attendees more easily. Felt a lot less &amp;quot;corporate&amp;quot;. Nice opportunity to raise awareness of FOSS4G. Lab owners were very enthusiastic and helpful&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;No Control! We had to work with PC's with no idea what was on them, other than the OS, and no ability to clear the environment. Who knows what students are doing on lab PC's? Network access and internet connectivity was THE major issue. The university bandwidth was limited such that one workshop in particular did not really work. Also, Internet access was controlled by a proxy, which required usernames and passwords, which the network admins were not too keen to hand out and which caused great annoyance for Firefox users. Transport to the venues was problematic, particularly if folk missed the buses&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The logistical and control hurdles of having workshops at a University were big. Much better to keep venues in one place if possible, or otherwise have them in close walking distance of each other. &lt;br /&gt;
There is a lot to be said for having 'clean' venues, where you have control over how things work. &lt;br /&gt;
Try to encourage more interaction through careful choice and setup of venue&lt;br /&gt;
&lt;br /&gt;
== Computers and Networks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rule number 1: Work with a good technology supplier. We had the most amazing experience with our main IT suppliers - they were flexible, helpful, committed and technically sound. Okay, so the bandwidth was used up at times, but that had more to do with the cost of connectivity than the IT team.&lt;br /&gt;
&lt;br /&gt;
Our approach was to allow several ways to present a workshop or lab. Instructors could build a LiveDVD / LiveUSB and run the session from that. Alternatively, instructors could prepare a VMWare image and run the session from VMWare Player. Thirdly, and most commonly, instructors could provide some software (and data) and provide setup instructions. We then ran through the setup on 2 slightly different machines, and then our IT supplier imaged this setup over the 98 other machines.&lt;br /&gt;
&lt;br /&gt;
The LiveDVD/LiveUSB approach worked pretty well, putting all the onus onto the instructors to be ready. this approach incurs a higher hardware cost, as one needs more RAM. &lt;br /&gt;
&lt;br /&gt;
The VMWare approach was mixed. It was most successful when a thin Linux image was used. Windows based images were '''huge''', and thus difficult to upload/download in preparation. Also, the VMWare approach definitely requires more punchy machines - minimum 2Gb RAM. With enough preparation time and upload/download bandwidth, this is a very solid approach though one needs to be careful to make sure networking is setup properly. &lt;br /&gt;
&lt;br /&gt;
The third approach worked well on the whole. We could prepare the environment quite well if instructors came to the party early with their requirements and instructions. One thing that we tried to a limited extent was opening up a VNC/Remote Desktop Connection to the machines that we were preparing. Given more time, we could have had a slot where each instructor made sure that their setup worked. Agreement on port numbers beforehand was useful for this approach. This approach came a bit unstuck when instructors were not prepared well in advance. Installing a bunch of software across 50 machines the night before a workshop or lab is not conducive to good heart health. If this approach is followed, one thing that worked really well was having an identical network share on each machine. This allowed us to rapidly install software in-situ through an almost peer-to-peer method. &lt;br /&gt;
&lt;br /&gt;
Whichever approach is followed, it is well worth having a conference Server, where last minute things can be served from, whether they be a patch, a set of data or a set of documents.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
We ran Windows XP as a base install. This worked quite well for the South African environment and for the particular conference, which included a lot of folk who were less exposed to Linux. I feel that this choice was determined by our audience in the end. Some FOSS4G attendees were annoyed by the use of Win XP in this way, but it was a pragmatic approach that worked, and also allowed certain FOSS4G projects that are Windows based to gain exposure. We needed to introduce many people to FOSS4G, not necessarily the whole FOSS universe out there. Perhaps the audience will be different in Sydney, but the choice does need to be carefully weighed up. We chose to offer a bridge into FOSS for the most people.&lt;br /&gt;
&lt;br /&gt;
MS4W, OSGeo4W, PostGIS, Java, Tomcat, Firefox, Google Earth covered a lot of bases and were all easy to install and work with on Win XP.&lt;br /&gt;
&lt;br /&gt;
== Printed Handouts ==&lt;br /&gt;
&lt;br /&gt;
2008 provided printed handouts where instructors wished them to be provided. One issue is that for labs it is difficult to know how many to print, for the labs are essentially walk in affairs. Feedback from attendees at labs and workshops suggests that, on the whole, printed material is desirable. One downside to having printed material is that attendees often tend to race ahead of the instructor, which can be problematic if the workshop or lab content is complex or likely to cause problems if an attendee misses a step.&lt;br /&gt;
&lt;br /&gt;
We found a very helpful professional printshop near (i.e. 2 minutes walk) to the conference venue. They were flexible, accommodating and very professional. We organised a kind of printing &amp;quot;slush fund&amp;quot; at the printshop, which was capped at a certain level.&lt;br /&gt;
&lt;br /&gt;
On another track, printed material offers a sponsorship opportunity...&lt;br /&gt;
&lt;br /&gt;
= Presentations =&lt;br /&gt;
&lt;br /&gt;
== Call for Papers ==&lt;br /&gt;
&lt;br /&gt;
=== Academic track ===&lt;br /&gt;
The call for papers did not include a request for number of words. This lead to some minimalistic, say useless, abstracts for the proceedings.&lt;br /&gt;
A reasonable abstract and 3 keywords will also help to categorise the submissions more easily for the individual sessions.&lt;br /&gt;
&lt;br /&gt;
Suggestions for 2009:&lt;br /&gt;
* abstract number of words (300-500 words + 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
=== General track ===&lt;br /&gt;
* abstract number of words (150-300 words + optionally 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
== Submission Process ==&lt;br /&gt;
&lt;br /&gt;
== Community Ranking Process ==&lt;br /&gt;
&lt;br /&gt;
=== Building Sessions ===&lt;br /&gt;
&lt;br /&gt;
== Cancellations ==&lt;br /&gt;
&lt;br /&gt;
== Posters ==&lt;br /&gt;
&lt;br /&gt;
= Wiki =&lt;br /&gt;
&lt;br /&gt;
= Conference Evaluation =&lt;br /&gt;
&lt;br /&gt;
== Workshop Evaluations ==&lt;br /&gt;
&lt;br /&gt;
= Onsite Staff =&lt;br /&gt;
&lt;br /&gt;
= Program handouts etc =&lt;br /&gt;
&lt;br /&gt;
* convenient small flyer, nice to carry around&lt;br /&gt;
* presenter names would be desired (small font)&lt;br /&gt;
&lt;br /&gt;
= Conference website software =&lt;br /&gt;
For the first time, OSGeo is making use of the [http://pkp.sfu.ca/ocs/ Open Conference Systems (OCS)] software to 'manage' a FOSS4G conference.&lt;br /&gt;
&lt;br /&gt;
* See [[FOSS4G2008_Site_Upgrade]]&lt;br /&gt;
* and [[FOSS4G2008_Committee_Issues#OCS_website_management]]&lt;br /&gt;
* Limitations (to be fixed for 2009):&lt;br /&gt;
** No list of participants easily extractable&lt;br /&gt;
** No online session navigation (as supported Indico, see www.foss4g2006.org)&lt;br /&gt;
&lt;br /&gt;
[[Category:FOSS4G2008]]&lt;br /&gt;
[[Category:FOSS4G]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31173</id>
		<title>FOSS4G2008 Lessons Learned</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31173"/>
		<updated>2008-10-20T10:11:49Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Results of the Call */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Conference_Committee]]&lt;br /&gt;
&lt;br /&gt;
This page is a collection of information, comments, and suggestions, based on the planning, organizing, and hosting of the FOSS4G 2008 conference. The intent is to provide a resource that can be used by organizers of future FOSS4G conferences. This is not a forum for conference attendees to comment on the conference. Use [[FOSS4G2008_Comments]] for that.&lt;br /&gt;
&lt;br /&gt;
= Bidding =&lt;br /&gt;
&lt;br /&gt;
= Timetable =&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
&lt;br /&gt;
== Sponsorships ==&lt;br /&gt;
&lt;br /&gt;
== Complimentary Registrations and Volunteers ==&lt;br /&gt;
&lt;br /&gt;
== Workshop Pricing ==&lt;br /&gt;
&lt;br /&gt;
= Registration =&lt;br /&gt;
&lt;br /&gt;
== Support For Some Attendees ==&lt;br /&gt;
&lt;br /&gt;
== Scams ==&lt;br /&gt;
&lt;br /&gt;
== Discounts ==&lt;br /&gt;
&lt;br /&gt;
== Breakdown by Country ==&lt;br /&gt;
&lt;br /&gt;
== Attendance ==&lt;br /&gt;
&lt;br /&gt;
=== At the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Code Sprint ===&lt;br /&gt;
&lt;br /&gt;
= Marketing =&lt;br /&gt;
&lt;br /&gt;
== The Mail-out ==&lt;br /&gt;
&lt;br /&gt;
== How People Heard about FOSS4G2007 ==&lt;br /&gt;
&lt;br /&gt;
== Local / Regional / International ==&lt;br /&gt;
&lt;br /&gt;
== Use Proxies ==&lt;br /&gt;
&lt;br /&gt;
== Local Marketing is Key ==&lt;br /&gt;
&lt;br /&gt;
== Web Site &amp;amp; Program ==&lt;br /&gt;
&lt;br /&gt;
== Lists are Important ==&lt;br /&gt;
&lt;br /&gt;
== Press Releases ==&lt;br /&gt;
&lt;br /&gt;
= Social Venues =&lt;br /&gt;
&lt;br /&gt;
= Conference Venue =&lt;br /&gt;
&lt;br /&gt;
== Audio-Visual ==&lt;br /&gt;
&lt;br /&gt;
== Quirks ==&lt;br /&gt;
&lt;br /&gt;
= Accommodations =&lt;br /&gt;
&lt;br /&gt;
= Transportation =&lt;br /&gt;
&lt;br /&gt;
= Workshops and Labs =&lt;br /&gt;
&lt;br /&gt;
Workshops and labs were again very popular. In Cape Town, it presented a chance for many people to shake off their fears of working with FOSS. There is some talk of not running the 1.5 hour labs in 2009. Consider that some of the labs had over 70 people attending. There is certainly a demand. This needs to be balanced though.  2008 had '''too many''' workshops and labs - 15 workshops and 20 labs in total. This became difficult to manage logistically and technically - there are so many factors that can go wrong!&lt;br /&gt;
&lt;br /&gt;
== Workshop Committee ==&lt;br /&gt;
&lt;br /&gt;
This is a big task, even if at 2009, Sydney decides to scale back on the workshops and labs.&lt;br /&gt;
&lt;br /&gt;
We had it roughly break out as follows:&lt;br /&gt;
&lt;br /&gt;
A person responsible for the technical side of the workshops and labs (software, computer setup etc)&lt;br /&gt;
A person responsible for the logistical side (comms with the IT suppliers, other suppliers)&lt;br /&gt;
Advisor from 2007/ OSGeo&lt;br /&gt;
2008 Conference Chair, to ensure integration with the rest of the conference&lt;br /&gt;
&lt;br /&gt;
For the scale of 2008, we probably needed another LOC member technically involved. &lt;br /&gt;
&lt;br /&gt;
We used formal conference volunteers to an extent, but if we had more more of them, they could have been put to work quite happily on doing tests and installs.&lt;br /&gt;
&lt;br /&gt;
The amazing part was the willingness to help out evident in the FOSS4G community. A gang of helpers made sure that we were all systems go for Monday by spending most of their Sunday helping to install, configure, test stuff. No complaining, just doing. Brilliant! Ideally, this sprit should not need to be tested though. Early preparation will avoid this to some extent.&lt;br /&gt;
&lt;br /&gt;
== Terminology ==&lt;br /&gt;
&lt;br /&gt;
== Call for Workshops ==&lt;br /&gt;
&lt;br /&gt;
=== Timing ===&lt;br /&gt;
&lt;br /&gt;
As early as possible to allow maximum time for instructors and workshop committee to prepare (though some instructors will always leave things to the last - human nature!). It should go out in a month or two's time from now - preferably before year end.&lt;br /&gt;
&lt;br /&gt;
=== Format of the Call ===&lt;br /&gt;
&lt;br /&gt;
We put out a document in pdf, odt and word that required instructors to fill out a bunch of info that would help us to assess the session. Best to read it at [http://conference.osgeo.org/index.php/foss4g/index/manager/files/schedConfs/foss4g2008/files/docs/FOSS4G2008WorkshopLabSubmissionFormv2.odt].&lt;br /&gt;
&lt;br /&gt;
=== Results of the Call ===&lt;br /&gt;
&lt;br /&gt;
We received 45 submissions, 27 for 3 hour workshops, 18 for labs.&lt;br /&gt;
&lt;br /&gt;
== Selection Process ==&lt;br /&gt;
&lt;br /&gt;
=== Philosophy===&lt;br /&gt;
&lt;br /&gt;
Do you want to cater for the most established projects, in the hope of filling up rooms, at the risk of becoming stale? Do you wish to introduce new software tools to the audience and give a chance to emerging projects? Well, a mix of both seems appropriate, but one has to judge the potential audience a bit. For Cape Town we had local knowledge, for example, that MapWindow GIS was gaining some popularity in certain circles. As a result, we made sure that this project had several slots in the programme. The risk of having less well known projects as workshops is that attendance might be lower, affecting the conference bottom line. Labs are an opportunity to showcase such projects.&lt;br /&gt;
&lt;br /&gt;
=== Ranking and Decisions ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Google Docs was a neat way to do things. We each ranked each proposal on a scale of 1 to 5, based on importance to the FOSS4G community, likely interest, likely audience size and stated requirements, We added comments and then compared scores, imparted some local knowledge and gave an initial rank sort. We also considered whether some of the workshop proposals could be undertaken as labs.&lt;br /&gt;
&lt;br /&gt;
Ot of this came a second rank, which ended up close to the eventual program. Instructors were then invited and given time to consider how serious they were about participating. Some on the list pulled out and were replaced from the next in line from the rankings.&lt;br /&gt;
&lt;br /&gt;
== Communication with Instructors ==&lt;br /&gt;
&lt;br /&gt;
Instructors should be *forced* onto the workshop-dev mail list - at 2008, some instructors did not join the list and were a bit incommunicado. Personal communications cannot be underestimated too.&lt;br /&gt;
&lt;br /&gt;
== Preparation Process ==&lt;br /&gt;
&lt;br /&gt;
Actually there is probably some sense in having a few stages to the workshop/lab development process. Probably difficult to do, but perhaps ensure that the material to be presented (software, data, printouts, slides etc) are ready at least a month before the time. Some projects want to show the latest and greatest features at the workshop or lab, but this creates stress and risk. We had workshop / lab presenters compiling their code for their session the night before. All in the spirit of things, but very stressful indeed. Avoid. Determinedly.&lt;br /&gt;
&lt;br /&gt;
== Venues ==&lt;br /&gt;
&lt;br /&gt;
At Cape Town, we had 2 big, dedicated venues at the main conference centre plus the main auditorium for one workshop, one venue at the hotel where most delegates were staying and two venues at the University, 15 minutes drive away.&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Venue Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Pro's&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Con's&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Large dedicated rooms at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Control! We could put in freshly imaged computers, our own LAN, good AV facilities, nice desks. Their size allowed us to hold large workshops and labs (capability for 100 pax, but max attendance was somewhere in the region of 80 folk). These rooms also acted (unintentionally) as places where folk could go and catch up on e-mail, have some quiet time, etc, when they were not in use&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A little bit soulless, especially if not full. Some instructors felt un-engaged by the audience in these large venues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auditorium at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ummm, an extra venue at no extra cost?&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Power supply problems, network issues, cavernous place to instruct a few dozen folk. Not sure if it was a success to have a workshop where people had to supply their own notebooks - created config issues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hotel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;This was pretty much the same as the main venues: we had control, access and pleasant environment, plus the advantage of not being too huge. Plus, tea and snacks were thrown in as part of the price.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A 5 minute walk from the CTICC, not a big problem, but causes delays&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;University&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The venues were a bit more intimate - instructors could engage with attendees more easily. Felt a lot less &amp;quot;corporate&amp;quot;. Nice opportunity to raise awareness of FOSS4G. Lab owners were very enthusiastic and helpful&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;No Control! We had to work with PC's with no idea what was on them, other than the OS, and no ability to clear the environment. Who knows what students are doing on lab PC's? Network access and internet connectivity was THE major issue. The university bandwidth was limited such that one workshop in particular did not really work. Also, Internet access was controlled by a proxy, which required usernames and passwords, which the network admins were not too keen to hand out and which caused great annoyance for Firefox users. Transport to the venues was problematic, particularly if folk missed the buses&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The logistical and control hurdles of having workshops at a University were big. Much better to keep venues in one place if possible, or otherwise have them in close walking distance of each other. &lt;br /&gt;
There is a lot to be said for having 'clean' venues, where you have control over how things work. &lt;br /&gt;
Try to encourage more interaction through careful choice and setup of venue&lt;br /&gt;
&lt;br /&gt;
== Computers and Networks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rule number 1: Work with a good technology supplier. We had the most amazing experience with our main IT suppliers - they were flexible, helpful, committed and technically sound. Okay, so the bandwidth was used up at times, but that had more to do with the cost of connectivity than the IT team.&lt;br /&gt;
&lt;br /&gt;
Our approach was to allow several ways to present a workshop or lab. Instructors could build a LiveDVD / LiveUSB and run the session from that. Alternatively, instructors could prepare a VMWare image and run the session from VMWare Player. Thirdly, and most commonly, instructors could provide some software (and data) and provide setup instructions. We then ran through the setup on 2 slightly different machines, and then our IT supplier imaged this setup over the 98 other machines.&lt;br /&gt;
&lt;br /&gt;
The LiveDVD/LiveUSB approach worked pretty well, putting all the onus onto the instructors to be ready. this approach incurs a higher hardware cost, as one needs more RAM. &lt;br /&gt;
&lt;br /&gt;
The VMWare approach was mixed. It was most successful when a thin Linux image was used. Windows based images were '''huge''', and thus difficult to upload/download in preparation. Also, the VMWare approach definitely requires more punchy machines - minimum 2Gb RAM. With enough preparation time and upload/download bandwidth, this is a very solid approach though one needs to be careful to make sure networking is setup properly. &lt;br /&gt;
&lt;br /&gt;
The third approach worked well on the whole. We could prepare the environment quite well if instructors came to the party early with their requirements and instructions. One thing that we tried to a limited extent was opening up a VNC/Remote Desktop Connection to the machines that we were preparing. Given more time, we could have had a slot where each instructor made sure that their setup worked. Agreement on port numbers beforehand was useful for this approach. This approach came a bit unstuck when instructors were not prepared well in advance. Installing a bunch of software across 50 machines the night before a workshop or lab is not conducive to good heart health. If this approach is followed, one thing that worked really well was having an identical network share on each machine. This allowed us to rapidly install software in-situ through an almost peer-to-peer method. &lt;br /&gt;
&lt;br /&gt;
Whichever approach is followed, it is well worth having a conference Server, where last minute things can be served from, whether they be a patch, a set of data or a set of documents.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
We ran Windows XP as a base install. This worked quite well for the South African environment and for the particular conference, which included a lot of folk who were less exposed to Linux. I feel that this choice was determined by our audience in the end. Some FOSS4G attendees were annoyed by the use of Win XP in this way, but it was a pragmatic approach that worked, and also allowed certain FOSS4G projects that are Windows based to gain exposure. We needed to introduce many people to FOSS4G, not necessarily the whole FOSS universe out there. Perhaps the audience will be different in Sydney, but the choice does need to be carefully weighed up. We chose to offer a bridge into FOSS for the most people.&lt;br /&gt;
&lt;br /&gt;
MS4W, OSGeo4W, PostGIS, Java, Tomcat, Firefox, Google Earth covered a lot of bases and were all easy to install and work with on Win XP.&lt;br /&gt;
&lt;br /&gt;
== Printed Handouts ==&lt;br /&gt;
&lt;br /&gt;
2008 provided printed handouts where instructors wished them to be provided. One issue is that for labs it is difficult to know how many to print, for the labs are essentially walk in affairs. Feedback from attendees at labs and workshops suggests that, on the whole, printed material is desirable. One downside to having printed material is that attendees often tend to race ahead of the instructor, which can be problematic if the workshop or lab content is complex or likely to cause problems if an attendee misses a step.&lt;br /&gt;
&lt;br /&gt;
We found a very helpful professional printshop near (i.e. 2 minutes walk) to the conference venue. They were flexible, accommodating and very professional. We organised a kind of printing &amp;quot;slush fund&amp;quot; at the printshop, which was capped at a certain level.&lt;br /&gt;
&lt;br /&gt;
On another track, printed material offers a sponsorship opportunity...&lt;br /&gt;
&lt;br /&gt;
= Presentations =&lt;br /&gt;
&lt;br /&gt;
== Call for Papers ==&lt;br /&gt;
&lt;br /&gt;
=== Academic track ===&lt;br /&gt;
The call for papers did not include a request for number of words. This lead to some minimalistic, say useless, abstracts for the proceedings.&lt;br /&gt;
A reasonable abstract and 3 keywords will also help to categorise the submissions more easily for the individual sessions.&lt;br /&gt;
&lt;br /&gt;
Suggestions for 2009:&lt;br /&gt;
* abstract number of words (300-500 words + 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
=== General track ===&lt;br /&gt;
* abstract number of words (150-300 words + optionally 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
== Submission Process ==&lt;br /&gt;
&lt;br /&gt;
== Community Ranking Process ==&lt;br /&gt;
&lt;br /&gt;
=== Building Sessions ===&lt;br /&gt;
&lt;br /&gt;
== Cancellations ==&lt;br /&gt;
&lt;br /&gt;
== Posters ==&lt;br /&gt;
&lt;br /&gt;
= Wiki =&lt;br /&gt;
&lt;br /&gt;
= Conference Evaluation =&lt;br /&gt;
&lt;br /&gt;
== Workshop Evaluations ==&lt;br /&gt;
&lt;br /&gt;
= Onsite Staff =&lt;br /&gt;
&lt;br /&gt;
= Program handouts etc =&lt;br /&gt;
&lt;br /&gt;
* convenient small flyer, nice to carry around&lt;br /&gt;
* presenter names would be desired (small font)&lt;br /&gt;
&lt;br /&gt;
= Conference website software =&lt;br /&gt;
For the first time, OSGeo is making use of the [http://pkp.sfu.ca/ocs/ Open Conference Systems (OCS)] software to 'manage' a FOSS4G conference.&lt;br /&gt;
&lt;br /&gt;
* See [[FOSS4G2008_Site_Upgrade]]&lt;br /&gt;
* and [[FOSS4G2008_Committee_Issues#OCS_website_management]]&lt;br /&gt;
* Limitations (to be fixed for 2009):&lt;br /&gt;
** No list of participants easily extractable&lt;br /&gt;
** No online session navigation (as supported Indico, see www.foss4g2006.org)&lt;br /&gt;
&lt;br /&gt;
[[Category:FOSS4G2008]]&lt;br /&gt;
[[Category:FOSS4G]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31172</id>
		<title>FOSS4G2008 Lessons Learned</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31172"/>
		<updated>2008-10-20T10:08:27Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Format of the Call */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Conference_Committee]]&lt;br /&gt;
&lt;br /&gt;
This page is a collection of information, comments, and suggestions, based on the planning, organizing, and hosting of the FOSS4G 2008 conference. The intent is to provide a resource that can be used by organizers of future FOSS4G conferences. This is not a forum for conference attendees to comment on the conference. Use [[FOSS4G2008_Comments]] for that.&lt;br /&gt;
&lt;br /&gt;
= Bidding =&lt;br /&gt;
&lt;br /&gt;
= Timetable =&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
&lt;br /&gt;
== Sponsorships ==&lt;br /&gt;
&lt;br /&gt;
== Complimentary Registrations and Volunteers ==&lt;br /&gt;
&lt;br /&gt;
== Workshop Pricing ==&lt;br /&gt;
&lt;br /&gt;
= Registration =&lt;br /&gt;
&lt;br /&gt;
== Support For Some Attendees ==&lt;br /&gt;
&lt;br /&gt;
== Scams ==&lt;br /&gt;
&lt;br /&gt;
== Discounts ==&lt;br /&gt;
&lt;br /&gt;
== Breakdown by Country ==&lt;br /&gt;
&lt;br /&gt;
== Attendance ==&lt;br /&gt;
&lt;br /&gt;
=== At the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Code Sprint ===&lt;br /&gt;
&lt;br /&gt;
= Marketing =&lt;br /&gt;
&lt;br /&gt;
== The Mail-out ==&lt;br /&gt;
&lt;br /&gt;
== How People Heard about FOSS4G2007 ==&lt;br /&gt;
&lt;br /&gt;
== Local / Regional / International ==&lt;br /&gt;
&lt;br /&gt;
== Use Proxies ==&lt;br /&gt;
&lt;br /&gt;
== Local Marketing is Key ==&lt;br /&gt;
&lt;br /&gt;
== Web Site &amp;amp; Program ==&lt;br /&gt;
&lt;br /&gt;
== Lists are Important ==&lt;br /&gt;
&lt;br /&gt;
== Press Releases ==&lt;br /&gt;
&lt;br /&gt;
= Social Venues =&lt;br /&gt;
&lt;br /&gt;
= Conference Venue =&lt;br /&gt;
&lt;br /&gt;
== Audio-Visual ==&lt;br /&gt;
&lt;br /&gt;
== Quirks ==&lt;br /&gt;
&lt;br /&gt;
= Accommodations =&lt;br /&gt;
&lt;br /&gt;
= Transportation =&lt;br /&gt;
&lt;br /&gt;
= Workshops and Labs =&lt;br /&gt;
&lt;br /&gt;
Workshops and labs were again very popular. In Cape Town, it presented a chance for many people to shake off their fears of working with FOSS. There is some talk of not running the 1.5 hour labs in 2009. Consider that some of the labs had over 70 people attending. There is certainly a demand. This needs to be balanced though.  2008 had '''too many''' workshops and labs - 15 workshops and 20 labs in total. This became difficult to manage logistically and technically - there are so many factors that can go wrong!&lt;br /&gt;
&lt;br /&gt;
== Workshop Committee ==&lt;br /&gt;
&lt;br /&gt;
This is a big task, even if at 2009, Sydney decides to scale back on the workshops and labs.&lt;br /&gt;
&lt;br /&gt;
We had it roughly break out as follows:&lt;br /&gt;
&lt;br /&gt;
A person responsible for the technical side of the workshops and labs (software, computer setup etc)&lt;br /&gt;
A person responsible for the logistical side (comms with the IT suppliers, other suppliers)&lt;br /&gt;
Advisor from 2007/ OSGeo&lt;br /&gt;
2008 Conference Chair, to ensure integration with the rest of the conference&lt;br /&gt;
&lt;br /&gt;
For the scale of 2008, we probably needed another LOC member technically involved. &lt;br /&gt;
&lt;br /&gt;
We used formal conference volunteers to an extent, but if we had more more of them, they could have been put to work quite happily on doing tests and installs.&lt;br /&gt;
&lt;br /&gt;
The amazing part was the willingness to help out evident in the FOSS4G community. A gang of helpers made sure that we were all systems go for Monday by spending most of their Sunday helping to install, configure, test stuff. No complaining, just doing. Brilliant! Ideally, this sprit should not need to be tested though. Early preparation will avoid this to some extent.&lt;br /&gt;
&lt;br /&gt;
== Terminology ==&lt;br /&gt;
&lt;br /&gt;
== Call for Workshops ==&lt;br /&gt;
&lt;br /&gt;
=== Timing ===&lt;br /&gt;
&lt;br /&gt;
As early as possible to allow maximum time for instructors and workshop committee to prepare (though some instructors will always leave things to the last - human nature!). It should go out in a month or two's time from now - preferably before year end.&lt;br /&gt;
&lt;br /&gt;
=== Format of the Call ===&lt;br /&gt;
&lt;br /&gt;
We put out a document in pdf, odt and word that required instructors to fill out a bunch of info that would help us to assess the session. Best to read it at [http://conference.osgeo.org/index.php/foss4g/index/manager/files/schedConfs/foss4g2008/files/docs/FOSS4G2008WorkshopLabSubmissionFormv2.odt].&lt;br /&gt;
&lt;br /&gt;
=== Results of the Call ===&lt;br /&gt;
&lt;br /&gt;
== Selection Process ==&lt;br /&gt;
&lt;br /&gt;
=== Philosophy===&lt;br /&gt;
&lt;br /&gt;
Do you want to cater for the most established projects, in the hope of filling up rooms, at the risk of becoming stale? Do you wish to introduce new software tools to the audience and give a chance to emerging projects? Well, a mix of both seems appropriate, but one has to judge the potential audience a bit. For Cape Town we had local knowledge, for example, that MapWindow GIS was gaining some popularity in certain circles. As a result, we made sure that this project had several slots in the programme. The risk of having less well known projects as workshops is that attendance might be lower, affecting the conference bottom line. Labs are an opportunity to showcase such projects.&lt;br /&gt;
&lt;br /&gt;
=== Ranking and Decisions ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Google Docs was a neat way to do things. We each ranked each proposal on a scale of 1 to 5, based on importance to the FOSS4G community, likely interest, likely audience size and stated requirements, We added comments and then compared scores, imparted some local knowledge and gave an initial rank sort. We also considered whether some of the workshop proposals could be undertaken as labs.&lt;br /&gt;
&lt;br /&gt;
Ot of this came a second rank, which ended up close to the eventual program. Instructors were then invited and given time to consider how serious they were about participating. Some on the list pulled out and were replaced from the next in line from the rankings.&lt;br /&gt;
&lt;br /&gt;
== Communication with Instructors ==&lt;br /&gt;
&lt;br /&gt;
Instructors should be *forced* onto the workshop-dev mail list - at 2008, some instructors did not join the list and were a bit incommunicado. Personal communications cannot be underestimated too.&lt;br /&gt;
&lt;br /&gt;
== Preparation Process ==&lt;br /&gt;
&lt;br /&gt;
Actually there is probably some sense in having a few stages to the workshop/lab development process. Probably difficult to do, but perhaps ensure that the material to be presented (software, data, printouts, slides etc) are ready at least a month before the time. Some projects want to show the latest and greatest features at the workshop or lab, but this creates stress and risk. We had workshop / lab presenters compiling their code for their session the night before. All in the spirit of things, but very stressful indeed. Avoid. Determinedly.&lt;br /&gt;
&lt;br /&gt;
== Venues ==&lt;br /&gt;
&lt;br /&gt;
At Cape Town, we had 2 big, dedicated venues at the main conference centre plus the main auditorium for one workshop, one venue at the hotel where most delegates were staying and two venues at the University, 15 minutes drive away.&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Venue Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Pro's&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Con's&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Large dedicated rooms at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Control! We could put in freshly imaged computers, our own LAN, good AV facilities, nice desks. Their size allowed us to hold large workshops and labs (capability for 100 pax, but max attendance was somewhere in the region of 80 folk). These rooms also acted (unintentionally) as places where folk could go and catch up on e-mail, have some quiet time, etc, when they were not in use&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A little bit soulless, especially if not full. Some instructors felt un-engaged by the audience in these large venues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auditorium at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ummm, an extra venue at no extra cost?&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Power supply problems, network issues, cavernous place to instruct a few dozen folk. Not sure if it was a success to have a workshop where people had to supply their own notebooks - created config issues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hotel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;This was pretty much the same as the main venues: we had control, access and pleasant environment, plus the advantage of not being too huge. Plus, tea and snacks were thrown in as part of the price.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A 5 minute walk from the CTICC, not a big problem, but causes delays&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;University&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The venues were a bit more intimate - instructors could engage with attendees more easily. Felt a lot less &amp;quot;corporate&amp;quot;. Nice opportunity to raise awareness of FOSS4G. Lab owners were very enthusiastic and helpful&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;No Control! We had to work with PC's with no idea what was on them, other than the OS, and no ability to clear the environment. Who knows what students are doing on lab PC's? Network access and internet connectivity was THE major issue. The university bandwidth was limited such that one workshop in particular did not really work. Also, Internet access was controlled by a proxy, which required usernames and passwords, which the network admins were not too keen to hand out and which caused great annoyance for Firefox users. Transport to the venues was problematic, particularly if folk missed the buses&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The logistical and control hurdles of having workshops at a University were big. Much better to keep venues in one place if possible, or otherwise have them in close walking distance of each other. &lt;br /&gt;
There is a lot to be said for having 'clean' venues, where you have control over how things work. &lt;br /&gt;
Try to encourage more interaction through careful choice and setup of venue&lt;br /&gt;
&lt;br /&gt;
== Computers and Networks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rule number 1: Work with a good technology supplier. We had the most amazing experience with our main IT suppliers - they were flexible, helpful, committed and technically sound. Okay, so the bandwidth was used up at times, but that had more to do with the cost of connectivity than the IT team.&lt;br /&gt;
&lt;br /&gt;
Our approach was to allow several ways to present a workshop or lab. Instructors could build a LiveDVD / LiveUSB and run the session from that. Alternatively, instructors could prepare a VMWare image and run the session from VMWare Player. Thirdly, and most commonly, instructors could provide some software (and data) and provide setup instructions. We then ran through the setup on 2 slightly different machines, and then our IT supplier imaged this setup over the 98 other machines.&lt;br /&gt;
&lt;br /&gt;
The LiveDVD/LiveUSB approach worked pretty well, putting all the onus onto the instructors to be ready. this approach incurs a higher hardware cost, as one needs more RAM. &lt;br /&gt;
&lt;br /&gt;
The VMWare approach was mixed. It was most successful when a thin Linux image was used. Windows based images were '''huge''', and thus difficult to upload/download in preparation. Also, the VMWare approach definitely requires more punchy machines - minimum 2Gb RAM. With enough preparation time and upload/download bandwidth, this is a very solid approach though one needs to be careful to make sure networking is setup properly. &lt;br /&gt;
&lt;br /&gt;
The third approach worked well on the whole. We could prepare the environment quite well if instructors came to the party early with their requirements and instructions. One thing that we tried to a limited extent was opening up a VNC/Remote Desktop Connection to the machines that we were preparing. Given more time, we could have had a slot where each instructor made sure that their setup worked. Agreement on port numbers beforehand was useful for this approach. This approach came a bit unstuck when instructors were not prepared well in advance. Installing a bunch of software across 50 machines the night before a workshop or lab is not conducive to good heart health. If this approach is followed, one thing that worked really well was having an identical network share on each machine. This allowed us to rapidly install software in-situ through an almost peer-to-peer method. &lt;br /&gt;
&lt;br /&gt;
Whichever approach is followed, it is well worth having a conference Server, where last minute things can be served from, whether they be a patch, a set of data or a set of documents.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
We ran Windows XP as a base install. This worked quite well for the South African environment and for the particular conference, which included a lot of folk who were less exposed to Linux. I feel that this choice was determined by our audience in the end. Some FOSS4G attendees were annoyed by the use of Win XP in this way, but it was a pragmatic approach that worked, and also allowed certain FOSS4G projects that are Windows based to gain exposure. We needed to introduce many people to FOSS4G, not necessarily the whole FOSS universe out there. Perhaps the audience will be different in Sydney, but the choice does need to be carefully weighed up. We chose to offer a bridge into FOSS for the most people.&lt;br /&gt;
&lt;br /&gt;
MS4W, OSGeo4W, PostGIS, Java, Tomcat, Firefox, Google Earth covered a lot of bases and were all easy to install and work with on Win XP.&lt;br /&gt;
&lt;br /&gt;
== Printed Handouts ==&lt;br /&gt;
&lt;br /&gt;
2008 provided printed handouts where instructors wished them to be provided. One issue is that for labs it is difficult to know how many to print, for the labs are essentially walk in affairs. Feedback from attendees at labs and workshops suggests that, on the whole, printed material is desirable. One downside to having printed material is that attendees often tend to race ahead of the instructor, which can be problematic if the workshop or lab content is complex or likely to cause problems if an attendee misses a step.&lt;br /&gt;
&lt;br /&gt;
We found a very helpful professional printshop near (i.e. 2 minutes walk) to the conference venue. They were flexible, accommodating and very professional. We organised a kind of printing &amp;quot;slush fund&amp;quot; at the printshop, which was capped at a certain level.&lt;br /&gt;
&lt;br /&gt;
On another track, printed material offers a sponsorship opportunity...&lt;br /&gt;
&lt;br /&gt;
= Presentations =&lt;br /&gt;
&lt;br /&gt;
== Call for Papers ==&lt;br /&gt;
&lt;br /&gt;
=== Academic track ===&lt;br /&gt;
The call for papers did not include a request for number of words. This lead to some minimalistic, say useless, abstracts for the proceedings.&lt;br /&gt;
A reasonable abstract and 3 keywords will also help to categorise the submissions more easily for the individual sessions.&lt;br /&gt;
&lt;br /&gt;
Suggestions for 2009:&lt;br /&gt;
* abstract number of words (300-500 words + 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
=== General track ===&lt;br /&gt;
* abstract number of words (150-300 words + optionally 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
== Submission Process ==&lt;br /&gt;
&lt;br /&gt;
== Community Ranking Process ==&lt;br /&gt;
&lt;br /&gt;
=== Building Sessions ===&lt;br /&gt;
&lt;br /&gt;
== Cancellations ==&lt;br /&gt;
&lt;br /&gt;
== Posters ==&lt;br /&gt;
&lt;br /&gt;
= Wiki =&lt;br /&gt;
&lt;br /&gt;
= Conference Evaluation =&lt;br /&gt;
&lt;br /&gt;
== Workshop Evaluations ==&lt;br /&gt;
&lt;br /&gt;
= Onsite Staff =&lt;br /&gt;
&lt;br /&gt;
= Program handouts etc =&lt;br /&gt;
&lt;br /&gt;
* convenient small flyer, nice to carry around&lt;br /&gt;
* presenter names would be desired (small font)&lt;br /&gt;
&lt;br /&gt;
= Conference website software =&lt;br /&gt;
For the first time, OSGeo is making use of the [http://pkp.sfu.ca/ocs/ Open Conference Systems (OCS)] software to 'manage' a FOSS4G conference.&lt;br /&gt;
&lt;br /&gt;
* See [[FOSS4G2008_Site_Upgrade]]&lt;br /&gt;
* and [[FOSS4G2008_Committee_Issues#OCS_website_management]]&lt;br /&gt;
* Limitations (to be fixed for 2009):&lt;br /&gt;
** No list of participants easily extractable&lt;br /&gt;
** No online session navigation (as supported Indico, see www.foss4g2006.org)&lt;br /&gt;
&lt;br /&gt;
[[Category:FOSS4G2008]]&lt;br /&gt;
[[Category:FOSS4G]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31171</id>
		<title>FOSS4G2008 Lessons Learned</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31171"/>
		<updated>2008-10-20T09:54:08Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Selection Process */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Conference_Committee]]&lt;br /&gt;
&lt;br /&gt;
This page is a collection of information, comments, and suggestions, based on the planning, organizing, and hosting of the FOSS4G 2008 conference. The intent is to provide a resource that can be used by organizers of future FOSS4G conferences. This is not a forum for conference attendees to comment on the conference. Use [[FOSS4G2008_Comments]] for that.&lt;br /&gt;
&lt;br /&gt;
= Bidding =&lt;br /&gt;
&lt;br /&gt;
= Timetable =&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
&lt;br /&gt;
== Sponsorships ==&lt;br /&gt;
&lt;br /&gt;
== Complimentary Registrations and Volunteers ==&lt;br /&gt;
&lt;br /&gt;
== Workshop Pricing ==&lt;br /&gt;
&lt;br /&gt;
= Registration =&lt;br /&gt;
&lt;br /&gt;
== Support For Some Attendees ==&lt;br /&gt;
&lt;br /&gt;
== Scams ==&lt;br /&gt;
&lt;br /&gt;
== Discounts ==&lt;br /&gt;
&lt;br /&gt;
== Breakdown by Country ==&lt;br /&gt;
&lt;br /&gt;
== Attendance ==&lt;br /&gt;
&lt;br /&gt;
=== At the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Code Sprint ===&lt;br /&gt;
&lt;br /&gt;
= Marketing =&lt;br /&gt;
&lt;br /&gt;
== The Mail-out ==&lt;br /&gt;
&lt;br /&gt;
== How People Heard about FOSS4G2007 ==&lt;br /&gt;
&lt;br /&gt;
== Local / Regional / International ==&lt;br /&gt;
&lt;br /&gt;
== Use Proxies ==&lt;br /&gt;
&lt;br /&gt;
== Local Marketing is Key ==&lt;br /&gt;
&lt;br /&gt;
== Web Site &amp;amp; Program ==&lt;br /&gt;
&lt;br /&gt;
== Lists are Important ==&lt;br /&gt;
&lt;br /&gt;
== Press Releases ==&lt;br /&gt;
&lt;br /&gt;
= Social Venues =&lt;br /&gt;
&lt;br /&gt;
= Conference Venue =&lt;br /&gt;
&lt;br /&gt;
== Audio-Visual ==&lt;br /&gt;
&lt;br /&gt;
== Quirks ==&lt;br /&gt;
&lt;br /&gt;
= Accommodations =&lt;br /&gt;
&lt;br /&gt;
= Transportation =&lt;br /&gt;
&lt;br /&gt;
= Workshops and Labs =&lt;br /&gt;
&lt;br /&gt;
Workshops and labs were again very popular. In Cape Town, it presented a chance for many people to shake off their fears of working with FOSS. There is some talk of not running the 1.5 hour labs in 2009. Consider that some of the labs had over 70 people attending. There is certainly a demand. This needs to be balanced though.  2008 had '''too many''' workshops and labs - 15 workshops and 20 labs in total. This became difficult to manage logistically and technically - there are so many factors that can go wrong!&lt;br /&gt;
&lt;br /&gt;
== Workshop Committee ==&lt;br /&gt;
&lt;br /&gt;
This is a big task, even if at 2009, Sydney decides to scale back on the workshops and labs.&lt;br /&gt;
&lt;br /&gt;
We had it roughly break out as follows:&lt;br /&gt;
&lt;br /&gt;
A person responsible for the technical side of the workshops and labs (software, computer setup etc)&lt;br /&gt;
A person responsible for the logistical side (comms with the IT suppliers, other suppliers)&lt;br /&gt;
Advisor from 2007/ OSGeo&lt;br /&gt;
2008 Conference Chair, to ensure integration with the rest of the conference&lt;br /&gt;
&lt;br /&gt;
For the scale of 2008, we probably needed another LOC member technically involved. &lt;br /&gt;
&lt;br /&gt;
We used formal conference volunteers to an extent, but if we had more more of them, they could have been put to work quite happily on doing tests and installs.&lt;br /&gt;
&lt;br /&gt;
The amazing part was the willingness to help out evident in the FOSS4G community. A gang of helpers made sure that we were all systems go for Monday by spending most of their Sunday helping to install, configure, test stuff. No complaining, just doing. Brilliant! Ideally, this sprit should not need to be tested though. Early preparation will avoid this to some extent.&lt;br /&gt;
&lt;br /&gt;
== Terminology ==&lt;br /&gt;
&lt;br /&gt;
== Call for Workshops ==&lt;br /&gt;
&lt;br /&gt;
=== Timing ===&lt;br /&gt;
&lt;br /&gt;
As early as possible to allow maximum time for instructors and workshop committee to prepare (though some instructors will always leave things to the last - human nature!). It should go out in a month or two's time from now - preferably before year end.&lt;br /&gt;
&lt;br /&gt;
=== Format of the Call ===&lt;br /&gt;
&lt;br /&gt;
=== Results of the Call ===&lt;br /&gt;
&lt;br /&gt;
== Selection Process ==&lt;br /&gt;
&lt;br /&gt;
=== Philosophy===&lt;br /&gt;
&lt;br /&gt;
Do you want to cater for the most established projects, in the hope of filling up rooms, at the risk of becoming stale? Do you wish to introduce new software tools to the audience and give a chance to emerging projects? Well, a mix of both seems appropriate, but one has to judge the potential audience a bit. For Cape Town we had local knowledge, for example, that MapWindow GIS was gaining some popularity in certain circles. As a result, we made sure that this project had several slots in the programme. The risk of having less well known projects as workshops is that attendance might be lower, affecting the conference bottom line. Labs are an opportunity to showcase such projects.&lt;br /&gt;
&lt;br /&gt;
=== Ranking and Decisions ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Google Docs was a neat way to do things. We each ranked each proposal on a scale of 1 to 5, based on importance to the FOSS4G community, likely interest, likely audience size and stated requirements, We added comments and then compared scores, imparted some local knowledge and gave an initial rank sort. We also considered whether some of the workshop proposals could be undertaken as labs.&lt;br /&gt;
&lt;br /&gt;
Ot of this came a second rank, which ended up close to the eventual program. Instructors were then invited and given time to consider how serious they were about participating. Some on the list pulled out and were replaced from the next in line from the rankings.&lt;br /&gt;
&lt;br /&gt;
== Communication with Instructors ==&lt;br /&gt;
&lt;br /&gt;
Instructors should be *forced* onto the workshop-dev mail list - at 2008, some instructors did not join the list and were a bit incommunicado. Personal communications cannot be underestimated too.&lt;br /&gt;
&lt;br /&gt;
== Preparation Process ==&lt;br /&gt;
&lt;br /&gt;
Actually there is probably some sense in having a few stages to the workshop/lab development process. Probably difficult to do, but perhaps ensure that the material to be presented (software, data, printouts, slides etc) are ready at least a month before the time. Some projects want to show the latest and greatest features at the workshop or lab, but this creates stress and risk. We had workshop / lab presenters compiling their code for their session the night before. All in the spirit of things, but very stressful indeed. Avoid. Determinedly.&lt;br /&gt;
&lt;br /&gt;
== Venues ==&lt;br /&gt;
&lt;br /&gt;
At Cape Town, we had 2 big, dedicated venues at the main conference centre plus the main auditorium for one workshop, one venue at the hotel where most delegates were staying and two venues at the University, 15 minutes drive away.&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Venue Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Pro's&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Con's&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Large dedicated rooms at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Control! We could put in freshly imaged computers, our own LAN, good AV facilities, nice desks. Their size allowed us to hold large workshops and labs (capability for 100 pax, but max attendance was somewhere in the region of 80 folk). These rooms also acted (unintentionally) as places where folk could go and catch up on e-mail, have some quiet time, etc, when they were not in use&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A little bit soulless, especially if not full. Some instructors felt un-engaged by the audience in these large venues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auditorium at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ummm, an extra venue at no extra cost?&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Power supply problems, network issues, cavernous place to instruct a few dozen folk. Not sure if it was a success to have a workshop where people had to supply their own notebooks - created config issues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hotel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;This was pretty much the same as the main venues: we had control, access and pleasant environment, plus the advantage of not being too huge. Plus, tea and snacks were thrown in as part of the price.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A 5 minute walk from the CTICC, not a big problem, but causes delays&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;University&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The venues were a bit more intimate - instructors could engage with attendees more easily. Felt a lot less &amp;quot;corporate&amp;quot;. Nice opportunity to raise awareness of FOSS4G. Lab owners were very enthusiastic and helpful&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;No Control! We had to work with PC's with no idea what was on them, other than the OS, and no ability to clear the environment. Who knows what students are doing on lab PC's? Network access and internet connectivity was THE major issue. The university bandwidth was limited such that one workshop in particular did not really work. Also, Internet access was controlled by a proxy, which required usernames and passwords, which the network admins were not too keen to hand out and which caused great annoyance for Firefox users. Transport to the venues was problematic, particularly if folk missed the buses&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The logistical and control hurdles of having workshops at a University were big. Much better to keep venues in one place if possible, or otherwise have them in close walking distance of each other. &lt;br /&gt;
There is a lot to be said for having 'clean' venues, where you have control over how things work. &lt;br /&gt;
Try to encourage more interaction through careful choice and setup of venue&lt;br /&gt;
&lt;br /&gt;
== Computers and Networks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rule number 1: Work with a good technology supplier. We had the most amazing experience with our main IT suppliers - they were flexible, helpful, committed and technically sound. Okay, so the bandwidth was used up at times, but that had more to do with the cost of connectivity than the IT team.&lt;br /&gt;
&lt;br /&gt;
Our approach was to allow several ways to present a workshop or lab. Instructors could build a LiveDVD / LiveUSB and run the session from that. Alternatively, instructors could prepare a VMWare image and run the session from VMWare Player. Thirdly, and most commonly, instructors could provide some software (and data) and provide setup instructions. We then ran through the setup on 2 slightly different machines, and then our IT supplier imaged this setup over the 98 other machines.&lt;br /&gt;
&lt;br /&gt;
The LiveDVD/LiveUSB approach worked pretty well, putting all the onus onto the instructors to be ready. this approach incurs a higher hardware cost, as one needs more RAM. &lt;br /&gt;
&lt;br /&gt;
The VMWare approach was mixed. It was most successful when a thin Linux image was used. Windows based images were '''huge''', and thus difficult to upload/download in preparation. Also, the VMWare approach definitely requires more punchy machines - minimum 2Gb RAM. With enough preparation time and upload/download bandwidth, this is a very solid approach though one needs to be careful to make sure networking is setup properly. &lt;br /&gt;
&lt;br /&gt;
The third approach worked well on the whole. We could prepare the environment quite well if instructors came to the party early with their requirements and instructions. One thing that we tried to a limited extent was opening up a VNC/Remote Desktop Connection to the machines that we were preparing. Given more time, we could have had a slot where each instructor made sure that their setup worked. Agreement on port numbers beforehand was useful for this approach. This approach came a bit unstuck when instructors were not prepared well in advance. Installing a bunch of software across 50 machines the night before a workshop or lab is not conducive to good heart health. If this approach is followed, one thing that worked really well was having an identical network share on each machine. This allowed us to rapidly install software in-situ through an almost peer-to-peer method. &lt;br /&gt;
&lt;br /&gt;
Whichever approach is followed, it is well worth having a conference Server, where last minute things can be served from, whether they be a patch, a set of data or a set of documents.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
We ran Windows XP as a base install. This worked quite well for the South African environment and for the particular conference, which included a lot of folk who were less exposed to Linux. I feel that this choice was determined by our audience in the end. Some FOSS4G attendees were annoyed by the use of Win XP in this way, but it was a pragmatic approach that worked, and also allowed certain FOSS4G projects that are Windows based to gain exposure. We needed to introduce many people to FOSS4G, not necessarily the whole FOSS universe out there. Perhaps the audience will be different in Sydney, but the choice does need to be carefully weighed up. We chose to offer a bridge into FOSS for the most people.&lt;br /&gt;
&lt;br /&gt;
MS4W, OSGeo4W, PostGIS, Java, Tomcat, Firefox, Google Earth covered a lot of bases and were all easy to install and work with on Win XP.&lt;br /&gt;
&lt;br /&gt;
== Printed Handouts ==&lt;br /&gt;
&lt;br /&gt;
2008 provided printed handouts where instructors wished them to be provided. One issue is that for labs it is difficult to know how many to print, for the labs are essentially walk in affairs. Feedback from attendees at labs and workshops suggests that, on the whole, printed material is desirable. One downside to having printed material is that attendees often tend to race ahead of the instructor, which can be problematic if the workshop or lab content is complex or likely to cause problems if an attendee misses a step.&lt;br /&gt;
&lt;br /&gt;
We found a very helpful professional printshop near (i.e. 2 minutes walk) to the conference venue. They were flexible, accommodating and very professional. We organised a kind of printing &amp;quot;slush fund&amp;quot; at the printshop, which was capped at a certain level.&lt;br /&gt;
&lt;br /&gt;
On another track, printed material offers a sponsorship opportunity...&lt;br /&gt;
&lt;br /&gt;
= Presentations =&lt;br /&gt;
&lt;br /&gt;
== Call for Papers ==&lt;br /&gt;
&lt;br /&gt;
=== Academic track ===&lt;br /&gt;
The call for papers did not include a request for number of words. This lead to some minimalistic, say useless, abstracts for the proceedings.&lt;br /&gt;
A reasonable abstract and 3 keywords will also help to categorise the submissions more easily for the individual sessions.&lt;br /&gt;
&lt;br /&gt;
Suggestions for 2009:&lt;br /&gt;
* abstract number of words (300-500 words + 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
=== General track ===&lt;br /&gt;
* abstract number of words (150-300 words + optionally 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
== Submission Process ==&lt;br /&gt;
&lt;br /&gt;
== Community Ranking Process ==&lt;br /&gt;
&lt;br /&gt;
=== Building Sessions ===&lt;br /&gt;
&lt;br /&gt;
== Cancellations ==&lt;br /&gt;
&lt;br /&gt;
== Posters ==&lt;br /&gt;
&lt;br /&gt;
= Wiki =&lt;br /&gt;
&lt;br /&gt;
= Conference Evaluation =&lt;br /&gt;
&lt;br /&gt;
== Workshop Evaluations ==&lt;br /&gt;
&lt;br /&gt;
= Onsite Staff =&lt;br /&gt;
&lt;br /&gt;
= Program handouts etc =&lt;br /&gt;
&lt;br /&gt;
* convenient small flyer, nice to carry around&lt;br /&gt;
* presenter names would be desired (small font)&lt;br /&gt;
&lt;br /&gt;
= Conference website software =&lt;br /&gt;
For the first time, OSGeo is making use of the [http://pkp.sfu.ca/ocs/ Open Conference Systems (OCS)] software to 'manage' a FOSS4G conference.&lt;br /&gt;
&lt;br /&gt;
* See [[FOSS4G2008_Site_Upgrade]]&lt;br /&gt;
* and [[FOSS4G2008_Committee_Issues#OCS_website_management]]&lt;br /&gt;
* Limitations (to be fixed for 2009):&lt;br /&gt;
** No list of participants easily extractable&lt;br /&gt;
** No online session navigation (as supported Indico, see www.foss4g2006.org)&lt;br /&gt;
&lt;br /&gt;
[[Category:FOSS4G2008]]&lt;br /&gt;
[[Category:FOSS4G]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31170</id>
		<title>FOSS4G2008 Lessons Learned</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31170"/>
		<updated>2008-10-20T09:53:48Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Ranking */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Conference_Committee]]&lt;br /&gt;
&lt;br /&gt;
This page is a collection of information, comments, and suggestions, based on the planning, organizing, and hosting of the FOSS4G 2008 conference. The intent is to provide a resource that can be used by organizers of future FOSS4G conferences. This is not a forum for conference attendees to comment on the conference. Use [[FOSS4G2008_Comments]] for that.&lt;br /&gt;
&lt;br /&gt;
= Bidding =&lt;br /&gt;
&lt;br /&gt;
= Timetable =&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
&lt;br /&gt;
== Sponsorships ==&lt;br /&gt;
&lt;br /&gt;
== Complimentary Registrations and Volunteers ==&lt;br /&gt;
&lt;br /&gt;
== Workshop Pricing ==&lt;br /&gt;
&lt;br /&gt;
= Registration =&lt;br /&gt;
&lt;br /&gt;
== Support For Some Attendees ==&lt;br /&gt;
&lt;br /&gt;
== Scams ==&lt;br /&gt;
&lt;br /&gt;
== Discounts ==&lt;br /&gt;
&lt;br /&gt;
== Breakdown by Country ==&lt;br /&gt;
&lt;br /&gt;
== Attendance ==&lt;br /&gt;
&lt;br /&gt;
=== At the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Code Sprint ===&lt;br /&gt;
&lt;br /&gt;
= Marketing =&lt;br /&gt;
&lt;br /&gt;
== The Mail-out ==&lt;br /&gt;
&lt;br /&gt;
== How People Heard about FOSS4G2007 ==&lt;br /&gt;
&lt;br /&gt;
== Local / Regional / International ==&lt;br /&gt;
&lt;br /&gt;
== Use Proxies ==&lt;br /&gt;
&lt;br /&gt;
== Local Marketing is Key ==&lt;br /&gt;
&lt;br /&gt;
== Web Site &amp;amp; Program ==&lt;br /&gt;
&lt;br /&gt;
== Lists are Important ==&lt;br /&gt;
&lt;br /&gt;
== Press Releases ==&lt;br /&gt;
&lt;br /&gt;
= Social Venues =&lt;br /&gt;
&lt;br /&gt;
= Conference Venue =&lt;br /&gt;
&lt;br /&gt;
== Audio-Visual ==&lt;br /&gt;
&lt;br /&gt;
== Quirks ==&lt;br /&gt;
&lt;br /&gt;
= Accommodations =&lt;br /&gt;
&lt;br /&gt;
= Transportation =&lt;br /&gt;
&lt;br /&gt;
= Workshops and Labs =&lt;br /&gt;
&lt;br /&gt;
Workshops and labs were again very popular. In Cape Town, it presented a chance for many people to shake off their fears of working with FOSS. There is some talk of not running the 1.5 hour labs in 2009. Consider that some of the labs had over 70 people attending. There is certainly a demand. This needs to be balanced though.  2008 had '''too many''' workshops and labs - 15 workshops and 20 labs in total. This became difficult to manage logistically and technically - there are so many factors that can go wrong!&lt;br /&gt;
&lt;br /&gt;
== Workshop Committee ==&lt;br /&gt;
&lt;br /&gt;
This is a big task, even if at 2009, Sydney decides to scale back on the workshops and labs.&lt;br /&gt;
&lt;br /&gt;
We had it roughly break out as follows:&lt;br /&gt;
&lt;br /&gt;
A person responsible for the technical side of the workshops and labs (software, computer setup etc)&lt;br /&gt;
A person responsible for the logistical side (comms with the IT suppliers, other suppliers)&lt;br /&gt;
Advisor from 2007/ OSGeo&lt;br /&gt;
2008 Conference Chair, to ensure integration with the rest of the conference&lt;br /&gt;
&lt;br /&gt;
For the scale of 2008, we probably needed another LOC member technically involved. &lt;br /&gt;
&lt;br /&gt;
We used formal conference volunteers to an extent, but if we had more more of them, they could have been put to work quite happily on doing tests and installs.&lt;br /&gt;
&lt;br /&gt;
The amazing part was the willingness to help out evident in the FOSS4G community. A gang of helpers made sure that we were all systems go for Monday by spending most of their Sunday helping to install, configure, test stuff. No complaining, just doing. Brilliant! Ideally, this sprit should not need to be tested though. Early preparation will avoid this to some extent.&lt;br /&gt;
&lt;br /&gt;
== Terminology ==&lt;br /&gt;
&lt;br /&gt;
== Call for Workshops ==&lt;br /&gt;
&lt;br /&gt;
=== Timing ===&lt;br /&gt;
&lt;br /&gt;
As early as possible to allow maximum time for instructors and workshop committee to prepare (though some instructors will always leave things to the last - human nature!). It should go out in a month or two's time from now - preferably before year end.&lt;br /&gt;
&lt;br /&gt;
=== Format of the Call ===&lt;br /&gt;
&lt;br /&gt;
=== Results of the Call ===&lt;br /&gt;
&lt;br /&gt;
== Selection Process ==&lt;br /&gt;
&lt;br /&gt;
=== Philosophy===&lt;br /&gt;
&lt;br /&gt;
Do you want to cater for the most established projects, in the hope of filling up rooms, at the risk of becoming stale? Do you wish to introduce new software tools to the audience and give a chance to emerging projects? Well, a mix of both seems appropriate, but one has to judge the potential audience a bit. For Cape Town we had local knowledge, for example, that MapWindow GIS was gaining some popularity in certain circles. As a result, we made sure that this project had several slots in the programme. The risk of having less well known projects as workshops is that attendance might be lower, affecting the conference bottom line. Labs are an opportunity to showcase such projects.&lt;br /&gt;
&lt;br /&gt;
=== Ranking and Decisions ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Google Docs was a neat way to do things. We each ranked each proposal on a scale of 1 to 5, based on importance to the FOSS4G community, likely interest, likely audience size and stated requirements, We added comments and then compared scores, imparted some local knowledge and gave an initial rank sort. We also considered whether some of the workshop proposals could be undertaken as labs.&lt;br /&gt;
&lt;br /&gt;
Ot of this came a second rank, which ended up close to the eventual program. Instructors were then invited and given time to consider how serious they were about participating. Some on the list pulled out and were replaced from the next in line from the rankings.&lt;br /&gt;
&lt;br /&gt;
=== Decisions ===&lt;br /&gt;
&lt;br /&gt;
== Communication with Instructors ==&lt;br /&gt;
&lt;br /&gt;
Instructors should be *forced* onto the workshop-dev mail list - at 2008, some instructors did not join the list and were a bit incommunicado. Personal communications cannot be underestimated too.&lt;br /&gt;
&lt;br /&gt;
== Preparation Process ==&lt;br /&gt;
&lt;br /&gt;
Actually there is probably some sense in having a few stages to the workshop/lab development process. Probably difficult to do, but perhaps ensure that the material to be presented (software, data, printouts, slides etc) are ready at least a month before the time. Some projects want to show the latest and greatest features at the workshop or lab, but this creates stress and risk. We had workshop / lab presenters compiling their code for their session the night before. All in the spirit of things, but very stressful indeed. Avoid. Determinedly.&lt;br /&gt;
&lt;br /&gt;
== Venues ==&lt;br /&gt;
&lt;br /&gt;
At Cape Town, we had 2 big, dedicated venues at the main conference centre plus the main auditorium for one workshop, one venue at the hotel where most delegates were staying and two venues at the University, 15 minutes drive away.&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Venue Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Pro's&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Con's&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Large dedicated rooms at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Control! We could put in freshly imaged computers, our own LAN, good AV facilities, nice desks. Their size allowed us to hold large workshops and labs (capability for 100 pax, but max attendance was somewhere in the region of 80 folk). These rooms also acted (unintentionally) as places where folk could go and catch up on e-mail, have some quiet time, etc, when they were not in use&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A little bit soulless, especially if not full. Some instructors felt un-engaged by the audience in these large venues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auditorium at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ummm, an extra venue at no extra cost?&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Power supply problems, network issues, cavernous place to instruct a few dozen folk. Not sure if it was a success to have a workshop where people had to supply their own notebooks - created config issues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hotel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;This was pretty much the same as the main venues: we had control, access and pleasant environment, plus the advantage of not being too huge. Plus, tea and snacks were thrown in as part of the price.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A 5 minute walk from the CTICC, not a big problem, but causes delays&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;University&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The venues were a bit more intimate - instructors could engage with attendees more easily. Felt a lot less &amp;quot;corporate&amp;quot;. Nice opportunity to raise awareness of FOSS4G. Lab owners were very enthusiastic and helpful&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;No Control! We had to work with PC's with no idea what was on them, other than the OS, and no ability to clear the environment. Who knows what students are doing on lab PC's? Network access and internet connectivity was THE major issue. The university bandwidth was limited such that one workshop in particular did not really work. Also, Internet access was controlled by a proxy, which required usernames and passwords, which the network admins were not too keen to hand out and which caused great annoyance for Firefox users. Transport to the venues was problematic, particularly if folk missed the buses&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The logistical and control hurdles of having workshops at a University were big. Much better to keep venues in one place if possible, or otherwise have them in close walking distance of each other. &lt;br /&gt;
There is a lot to be said for having 'clean' venues, where you have control over how things work. &lt;br /&gt;
Try to encourage more interaction through careful choice and setup of venue&lt;br /&gt;
&lt;br /&gt;
== Computers and Networks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rule number 1: Work with a good technology supplier. We had the most amazing experience with our main IT suppliers - they were flexible, helpful, committed and technically sound. Okay, so the bandwidth was used up at times, but that had more to do with the cost of connectivity than the IT team.&lt;br /&gt;
&lt;br /&gt;
Our approach was to allow several ways to present a workshop or lab. Instructors could build a LiveDVD / LiveUSB and run the session from that. Alternatively, instructors could prepare a VMWare image and run the session from VMWare Player. Thirdly, and most commonly, instructors could provide some software (and data) and provide setup instructions. We then ran through the setup on 2 slightly different machines, and then our IT supplier imaged this setup over the 98 other machines.&lt;br /&gt;
&lt;br /&gt;
The LiveDVD/LiveUSB approach worked pretty well, putting all the onus onto the instructors to be ready. this approach incurs a higher hardware cost, as one needs more RAM. &lt;br /&gt;
&lt;br /&gt;
The VMWare approach was mixed. It was most successful when a thin Linux image was used. Windows based images were '''huge''', and thus difficult to upload/download in preparation. Also, the VMWare approach definitely requires more punchy machines - minimum 2Gb RAM. With enough preparation time and upload/download bandwidth, this is a very solid approach though one needs to be careful to make sure networking is setup properly. &lt;br /&gt;
&lt;br /&gt;
The third approach worked well on the whole. We could prepare the environment quite well if instructors came to the party early with their requirements and instructions. One thing that we tried to a limited extent was opening up a VNC/Remote Desktop Connection to the machines that we were preparing. Given more time, we could have had a slot where each instructor made sure that their setup worked. Agreement on port numbers beforehand was useful for this approach. This approach came a bit unstuck when instructors were not prepared well in advance. Installing a bunch of software across 50 machines the night before a workshop or lab is not conducive to good heart health. If this approach is followed, one thing that worked really well was having an identical network share on each machine. This allowed us to rapidly install software in-situ through an almost peer-to-peer method. &lt;br /&gt;
&lt;br /&gt;
Whichever approach is followed, it is well worth having a conference Server, where last minute things can be served from, whether they be a patch, a set of data or a set of documents.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
We ran Windows XP as a base install. This worked quite well for the South African environment and for the particular conference, which included a lot of folk who were less exposed to Linux. I feel that this choice was determined by our audience in the end. Some FOSS4G attendees were annoyed by the use of Win XP in this way, but it was a pragmatic approach that worked, and also allowed certain FOSS4G projects that are Windows based to gain exposure. We needed to introduce many people to FOSS4G, not necessarily the whole FOSS universe out there. Perhaps the audience will be different in Sydney, but the choice does need to be carefully weighed up. We chose to offer a bridge into FOSS for the most people.&lt;br /&gt;
&lt;br /&gt;
MS4W, OSGeo4W, PostGIS, Java, Tomcat, Firefox, Google Earth covered a lot of bases and were all easy to install and work with on Win XP.&lt;br /&gt;
&lt;br /&gt;
== Printed Handouts ==&lt;br /&gt;
&lt;br /&gt;
2008 provided printed handouts where instructors wished them to be provided. One issue is that for labs it is difficult to know how many to print, for the labs are essentially walk in affairs. Feedback from attendees at labs and workshops suggests that, on the whole, printed material is desirable. One downside to having printed material is that attendees often tend to race ahead of the instructor, which can be problematic if the workshop or lab content is complex or likely to cause problems if an attendee misses a step.&lt;br /&gt;
&lt;br /&gt;
We found a very helpful professional printshop near (i.e. 2 minutes walk) to the conference venue. They were flexible, accommodating and very professional. We organised a kind of printing &amp;quot;slush fund&amp;quot; at the printshop, which was capped at a certain level.&lt;br /&gt;
&lt;br /&gt;
On another track, printed material offers a sponsorship opportunity...&lt;br /&gt;
&lt;br /&gt;
= Presentations =&lt;br /&gt;
&lt;br /&gt;
== Call for Papers ==&lt;br /&gt;
&lt;br /&gt;
=== Academic track ===&lt;br /&gt;
The call for papers did not include a request for number of words. This lead to some minimalistic, say useless, abstracts for the proceedings.&lt;br /&gt;
A reasonable abstract and 3 keywords will also help to categorise the submissions more easily for the individual sessions.&lt;br /&gt;
&lt;br /&gt;
Suggestions for 2009:&lt;br /&gt;
* abstract number of words (300-500 words + 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
=== General track ===&lt;br /&gt;
* abstract number of words (150-300 words + optionally 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
== Submission Process ==&lt;br /&gt;
&lt;br /&gt;
== Community Ranking Process ==&lt;br /&gt;
&lt;br /&gt;
=== Building Sessions ===&lt;br /&gt;
&lt;br /&gt;
== Cancellations ==&lt;br /&gt;
&lt;br /&gt;
== Posters ==&lt;br /&gt;
&lt;br /&gt;
= Wiki =&lt;br /&gt;
&lt;br /&gt;
= Conference Evaluation =&lt;br /&gt;
&lt;br /&gt;
== Workshop Evaluations ==&lt;br /&gt;
&lt;br /&gt;
= Onsite Staff =&lt;br /&gt;
&lt;br /&gt;
= Program handouts etc =&lt;br /&gt;
&lt;br /&gt;
* convenient small flyer, nice to carry around&lt;br /&gt;
* presenter names would be desired (small font)&lt;br /&gt;
&lt;br /&gt;
= Conference website software =&lt;br /&gt;
For the first time, OSGeo is making use of the [http://pkp.sfu.ca/ocs/ Open Conference Systems (OCS)] software to 'manage' a FOSS4G conference.&lt;br /&gt;
&lt;br /&gt;
* See [[FOSS4G2008_Site_Upgrade]]&lt;br /&gt;
* and [[FOSS4G2008_Committee_Issues#OCS_website_management]]&lt;br /&gt;
* Limitations (to be fixed for 2009):&lt;br /&gt;
** No list of participants easily extractable&lt;br /&gt;
** No online session navigation (as supported Indico, see www.foss4g2006.org)&lt;br /&gt;
&lt;br /&gt;
[[Category:FOSS4G2008]]&lt;br /&gt;
[[Category:FOSS4G]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31169</id>
		<title>FOSS4G2008 Lessons Learned</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31169"/>
		<updated>2008-10-20T09:39:49Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Workshop Committee */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Conference_Committee]]&lt;br /&gt;
&lt;br /&gt;
This page is a collection of information, comments, and suggestions, based on the planning, organizing, and hosting of the FOSS4G 2008 conference. The intent is to provide a resource that can be used by organizers of future FOSS4G conferences. This is not a forum for conference attendees to comment on the conference. Use [[FOSS4G2008_Comments]] for that.&lt;br /&gt;
&lt;br /&gt;
= Bidding =&lt;br /&gt;
&lt;br /&gt;
= Timetable =&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
&lt;br /&gt;
== Sponsorships ==&lt;br /&gt;
&lt;br /&gt;
== Complimentary Registrations and Volunteers ==&lt;br /&gt;
&lt;br /&gt;
== Workshop Pricing ==&lt;br /&gt;
&lt;br /&gt;
= Registration =&lt;br /&gt;
&lt;br /&gt;
== Support For Some Attendees ==&lt;br /&gt;
&lt;br /&gt;
== Scams ==&lt;br /&gt;
&lt;br /&gt;
== Discounts ==&lt;br /&gt;
&lt;br /&gt;
== Breakdown by Country ==&lt;br /&gt;
&lt;br /&gt;
== Attendance ==&lt;br /&gt;
&lt;br /&gt;
=== At the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Code Sprint ===&lt;br /&gt;
&lt;br /&gt;
= Marketing =&lt;br /&gt;
&lt;br /&gt;
== The Mail-out ==&lt;br /&gt;
&lt;br /&gt;
== How People Heard about FOSS4G2007 ==&lt;br /&gt;
&lt;br /&gt;
== Local / Regional / International ==&lt;br /&gt;
&lt;br /&gt;
== Use Proxies ==&lt;br /&gt;
&lt;br /&gt;
== Local Marketing is Key ==&lt;br /&gt;
&lt;br /&gt;
== Web Site &amp;amp; Program ==&lt;br /&gt;
&lt;br /&gt;
== Lists are Important ==&lt;br /&gt;
&lt;br /&gt;
== Press Releases ==&lt;br /&gt;
&lt;br /&gt;
= Social Venues =&lt;br /&gt;
&lt;br /&gt;
= Conference Venue =&lt;br /&gt;
&lt;br /&gt;
== Audio-Visual ==&lt;br /&gt;
&lt;br /&gt;
== Quirks ==&lt;br /&gt;
&lt;br /&gt;
= Accommodations =&lt;br /&gt;
&lt;br /&gt;
= Transportation =&lt;br /&gt;
&lt;br /&gt;
= Workshops and Labs =&lt;br /&gt;
&lt;br /&gt;
Workshops and labs were again very popular. In Cape Town, it presented a chance for many people to shake off their fears of working with FOSS. There is some talk of not running the 1.5 hour labs in 2009. Consider that some of the labs had over 70 people attending. There is certainly a demand. This needs to be balanced though.  2008 had '''too many''' workshops and labs - 15 workshops and 20 labs in total. This became difficult to manage logistically and technically - there are so many factors that can go wrong!&lt;br /&gt;
&lt;br /&gt;
== Workshop Committee ==&lt;br /&gt;
&lt;br /&gt;
This is a big task, even if at 2009, Sydney decides to scale back on the workshops and labs.&lt;br /&gt;
&lt;br /&gt;
We had it roughly break out as follows:&lt;br /&gt;
&lt;br /&gt;
A person responsible for the technical side of the workshops and labs (software, computer setup etc)&lt;br /&gt;
A person responsible for the logistical side (comms with the IT suppliers, other suppliers)&lt;br /&gt;
Advisor from 2007/ OSGeo&lt;br /&gt;
2008 Conference Chair, to ensure integration with the rest of the conference&lt;br /&gt;
&lt;br /&gt;
For the scale of 2008, we probably needed another LOC member technically involved. &lt;br /&gt;
&lt;br /&gt;
We used formal conference volunteers to an extent, but if we had more more of them, they could have been put to work quite happily on doing tests and installs.&lt;br /&gt;
&lt;br /&gt;
The amazing part was the willingness to help out evident in the FOSS4G community. A gang of helpers made sure that we were all systems go for Monday by spending most of their Sunday helping to install, configure, test stuff. No complaining, just doing. Brilliant! Ideally, this sprit should not need to be tested though. Early preparation will avoid this to some extent.&lt;br /&gt;
&lt;br /&gt;
== Terminology ==&lt;br /&gt;
&lt;br /&gt;
== Call for Workshops ==&lt;br /&gt;
&lt;br /&gt;
=== Timing ===&lt;br /&gt;
&lt;br /&gt;
As early as possible to allow maximum time for instructors and workshop committee to prepare (though some instructors will always leave things to the last - human nature!). It should go out in a month or two's time from now - preferably before year end.&lt;br /&gt;
&lt;br /&gt;
=== Format of the Call ===&lt;br /&gt;
&lt;br /&gt;
=== Results of the Call ===&lt;br /&gt;
&lt;br /&gt;
== Selection Process ==&lt;br /&gt;
&lt;br /&gt;
=== Philosophy===&lt;br /&gt;
&lt;br /&gt;
Do you want to cater for the most established projects, in the hope of filling up rooms, at the risk of becoming stale? Do you wish to introduce new software tools to the audience and give a chance to emerging projects? Well, a mix of both seems appropriate, but one has to judge the potential audience a bit. For Cape Town we had local knowledge, for example, that MapWindow GIS was gaining some popularity in certain circles. As a result, we made sure that this project had several slots in the programme. The risk of having less well known projects as workshops is that attendance might be lower, affecting the conference bottom line. Labs are an opportunity to showcase such projects.&lt;br /&gt;
&lt;br /&gt;
=== Ranking ===&lt;br /&gt;
&lt;br /&gt;
=== Decisions ===&lt;br /&gt;
&lt;br /&gt;
== Communication with Instructors ==&lt;br /&gt;
&lt;br /&gt;
Instructors should be *forced* onto the workshop-dev mail list - at 2008, some instructors did not join the list and were a bit incommunicado. Personal communications cannot be underestimated too.&lt;br /&gt;
&lt;br /&gt;
== Preparation Process ==&lt;br /&gt;
&lt;br /&gt;
Actually there is probably some sense in having a few stages to the workshop/lab development process. Probably difficult to do, but perhaps ensure that the material to be presented (software, data, printouts, slides etc) are ready at least a month before the time. Some projects want to show the latest and greatest features at the workshop or lab, but this creates stress and risk. We had workshop / lab presenters compiling their code for their session the night before. All in the spirit of things, but very stressful indeed. Avoid. Determinedly.&lt;br /&gt;
&lt;br /&gt;
== Venues ==&lt;br /&gt;
&lt;br /&gt;
At Cape Town, we had 2 big, dedicated venues at the main conference centre plus the main auditorium for one workshop, one venue at the hotel where most delegates were staying and two venues at the University, 15 minutes drive away.&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Venue Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Pro's&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Con's&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Large dedicated rooms at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Control! We could put in freshly imaged computers, our own LAN, good AV facilities, nice desks. Their size allowed us to hold large workshops and labs (capability for 100 pax, but max attendance was somewhere in the region of 80 folk). These rooms also acted (unintentionally) as places where folk could go and catch up on e-mail, have some quiet time, etc, when they were not in use&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A little bit soulless, especially if not full. Some instructors felt un-engaged by the audience in these large venues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auditorium at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ummm, an extra venue at no extra cost?&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Power supply problems, network issues, cavernous place to instruct a few dozen folk. Not sure if it was a success to have a workshop where people had to supply their own notebooks - created config issues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hotel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;This was pretty much the same as the main venues: we had control, access and pleasant environment, plus the advantage of not being too huge. Plus, tea and snacks were thrown in as part of the price.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A 5 minute walk from the CTICC, not a big problem, but causes delays&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;University&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The venues were a bit more intimate - instructors could engage with attendees more easily. Felt a lot less &amp;quot;corporate&amp;quot;. Nice opportunity to raise awareness of FOSS4G. Lab owners were very enthusiastic and helpful&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;No Control! We had to work with PC's with no idea what was on them, other than the OS, and no ability to clear the environment. Who knows what students are doing on lab PC's? Network access and internet connectivity was THE major issue. The university bandwidth was limited such that one workshop in particular did not really work. Also, Internet access was controlled by a proxy, which required usernames and passwords, which the network admins were not too keen to hand out and which caused great annoyance for Firefox users. Transport to the venues was problematic, particularly if folk missed the buses&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The logistical and control hurdles of having workshops at a University were big. Much better to keep venues in one place if possible, or otherwise have them in close walking distance of each other. &lt;br /&gt;
There is a lot to be said for having 'clean' venues, where you have control over how things work. &lt;br /&gt;
Try to encourage more interaction through careful choice and setup of venue&lt;br /&gt;
&lt;br /&gt;
== Computers and Networks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rule number 1: Work with a good technology supplier. We had the most amazing experience with our main IT suppliers - they were flexible, helpful, committed and technically sound. Okay, so the bandwidth was used up at times, but that had more to do with the cost of connectivity than the IT team.&lt;br /&gt;
&lt;br /&gt;
Our approach was to allow several ways to present a workshop or lab. Instructors could build a LiveDVD / LiveUSB and run the session from that. Alternatively, instructors could prepare a VMWare image and run the session from VMWare Player. Thirdly, and most commonly, instructors could provide some software (and data) and provide setup instructions. We then ran through the setup on 2 slightly different machines, and then our IT supplier imaged this setup over the 98 other machines.&lt;br /&gt;
&lt;br /&gt;
The LiveDVD/LiveUSB approach worked pretty well, putting all the onus onto the instructors to be ready. this approach incurs a higher hardware cost, as one needs more RAM. &lt;br /&gt;
&lt;br /&gt;
The VMWare approach was mixed. It was most successful when a thin Linux image was used. Windows based images were '''huge''', and thus difficult to upload/download in preparation. Also, the VMWare approach definitely requires more punchy machines - minimum 2Gb RAM. With enough preparation time and upload/download bandwidth, this is a very solid approach though one needs to be careful to make sure networking is setup properly. &lt;br /&gt;
&lt;br /&gt;
The third approach worked well on the whole. We could prepare the environment quite well if instructors came to the party early with their requirements and instructions. One thing that we tried to a limited extent was opening up a VNC/Remote Desktop Connection to the machines that we were preparing. Given more time, we could have had a slot where each instructor made sure that their setup worked. Agreement on port numbers beforehand was useful for this approach. This approach came a bit unstuck when instructors were not prepared well in advance. Installing a bunch of software across 50 machines the night before a workshop or lab is not conducive to good heart health. If this approach is followed, one thing that worked really well was having an identical network share on each machine. This allowed us to rapidly install software in-situ through an almost peer-to-peer method. &lt;br /&gt;
&lt;br /&gt;
Whichever approach is followed, it is well worth having a conference Server, where last minute things can be served from, whether they be a patch, a set of data or a set of documents.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
We ran Windows XP as a base install. This worked quite well for the South African environment and for the particular conference, which included a lot of folk who were less exposed to Linux. I feel that this choice was determined by our audience in the end. Some FOSS4G attendees were annoyed by the use of Win XP in this way, but it was a pragmatic approach that worked, and also allowed certain FOSS4G projects that are Windows based to gain exposure. We needed to introduce many people to FOSS4G, not necessarily the whole FOSS universe out there. Perhaps the audience will be different in Sydney, but the choice does need to be carefully weighed up. We chose to offer a bridge into FOSS for the most people.&lt;br /&gt;
&lt;br /&gt;
MS4W, OSGeo4W, PostGIS, Java, Tomcat, Firefox, Google Earth covered a lot of bases and were all easy to install and work with on Win XP.&lt;br /&gt;
&lt;br /&gt;
== Printed Handouts ==&lt;br /&gt;
&lt;br /&gt;
2008 provided printed handouts where instructors wished them to be provided. One issue is that for labs it is difficult to know how many to print, for the labs are essentially walk in affairs. Feedback from attendees at labs and workshops suggests that, on the whole, printed material is desirable. One downside to having printed material is that attendees often tend to race ahead of the instructor, which can be problematic if the workshop or lab content is complex or likely to cause problems if an attendee misses a step.&lt;br /&gt;
&lt;br /&gt;
We found a very helpful professional printshop near (i.e. 2 minutes walk) to the conference venue. They were flexible, accommodating and very professional. We organised a kind of printing &amp;quot;slush fund&amp;quot; at the printshop, which was capped at a certain level.&lt;br /&gt;
&lt;br /&gt;
On another track, printed material offers a sponsorship opportunity...&lt;br /&gt;
&lt;br /&gt;
= Presentations =&lt;br /&gt;
&lt;br /&gt;
== Call for Papers ==&lt;br /&gt;
&lt;br /&gt;
=== Academic track ===&lt;br /&gt;
The call for papers did not include a request for number of words. This lead to some minimalistic, say useless, abstracts for the proceedings.&lt;br /&gt;
A reasonable abstract and 3 keywords will also help to categorise the submissions more easily for the individual sessions.&lt;br /&gt;
&lt;br /&gt;
Suggestions for 2009:&lt;br /&gt;
* abstract number of words (300-500 words + 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
=== General track ===&lt;br /&gt;
* abstract number of words (150-300 words + optionally 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
== Submission Process ==&lt;br /&gt;
&lt;br /&gt;
== Community Ranking Process ==&lt;br /&gt;
&lt;br /&gt;
=== Building Sessions ===&lt;br /&gt;
&lt;br /&gt;
== Cancellations ==&lt;br /&gt;
&lt;br /&gt;
== Posters ==&lt;br /&gt;
&lt;br /&gt;
= Wiki =&lt;br /&gt;
&lt;br /&gt;
= Conference Evaluation =&lt;br /&gt;
&lt;br /&gt;
== Workshop Evaluations ==&lt;br /&gt;
&lt;br /&gt;
= Onsite Staff =&lt;br /&gt;
&lt;br /&gt;
= Program handouts etc =&lt;br /&gt;
&lt;br /&gt;
* convenient small flyer, nice to carry around&lt;br /&gt;
* presenter names would be desired (small font)&lt;br /&gt;
&lt;br /&gt;
= Conference website software =&lt;br /&gt;
For the first time, OSGeo is making use of the [http://pkp.sfu.ca/ocs/ Open Conference Systems (OCS)] software to 'manage' a FOSS4G conference.&lt;br /&gt;
&lt;br /&gt;
* See [[FOSS4G2008_Site_Upgrade]]&lt;br /&gt;
* and [[FOSS4G2008_Committee_Issues#OCS_website_management]]&lt;br /&gt;
* Limitations (to be fixed for 2009):&lt;br /&gt;
** No list of participants easily extractable&lt;br /&gt;
** No online session navigation (as supported Indico, see www.foss4g2006.org)&lt;br /&gt;
&lt;br /&gt;
[[Category:FOSS4G2008]]&lt;br /&gt;
[[Category:FOSS4G]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31168</id>
		<title>FOSS4G2008 Lessons Learned</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31168"/>
		<updated>2008-10-20T09:39:15Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Workshop Committee */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Conference_Committee]]&lt;br /&gt;
&lt;br /&gt;
This page is a collection of information, comments, and suggestions, based on the planning, organizing, and hosting of the FOSS4G 2008 conference. The intent is to provide a resource that can be used by organizers of future FOSS4G conferences. This is not a forum for conference attendees to comment on the conference. Use [[FOSS4G2008_Comments]] for that.&lt;br /&gt;
&lt;br /&gt;
= Bidding =&lt;br /&gt;
&lt;br /&gt;
= Timetable =&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
&lt;br /&gt;
== Sponsorships ==&lt;br /&gt;
&lt;br /&gt;
== Complimentary Registrations and Volunteers ==&lt;br /&gt;
&lt;br /&gt;
== Workshop Pricing ==&lt;br /&gt;
&lt;br /&gt;
= Registration =&lt;br /&gt;
&lt;br /&gt;
== Support For Some Attendees ==&lt;br /&gt;
&lt;br /&gt;
== Scams ==&lt;br /&gt;
&lt;br /&gt;
== Discounts ==&lt;br /&gt;
&lt;br /&gt;
== Breakdown by Country ==&lt;br /&gt;
&lt;br /&gt;
== Attendance ==&lt;br /&gt;
&lt;br /&gt;
=== At the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Code Sprint ===&lt;br /&gt;
&lt;br /&gt;
= Marketing =&lt;br /&gt;
&lt;br /&gt;
== The Mail-out ==&lt;br /&gt;
&lt;br /&gt;
== How People Heard about FOSS4G2007 ==&lt;br /&gt;
&lt;br /&gt;
== Local / Regional / International ==&lt;br /&gt;
&lt;br /&gt;
== Use Proxies ==&lt;br /&gt;
&lt;br /&gt;
== Local Marketing is Key ==&lt;br /&gt;
&lt;br /&gt;
== Web Site &amp;amp; Program ==&lt;br /&gt;
&lt;br /&gt;
== Lists are Important ==&lt;br /&gt;
&lt;br /&gt;
== Press Releases ==&lt;br /&gt;
&lt;br /&gt;
= Social Venues =&lt;br /&gt;
&lt;br /&gt;
= Conference Venue =&lt;br /&gt;
&lt;br /&gt;
== Audio-Visual ==&lt;br /&gt;
&lt;br /&gt;
== Quirks ==&lt;br /&gt;
&lt;br /&gt;
= Accommodations =&lt;br /&gt;
&lt;br /&gt;
= Transportation =&lt;br /&gt;
&lt;br /&gt;
= Workshops and Labs =&lt;br /&gt;
&lt;br /&gt;
Workshops and labs were again very popular. In Cape Town, it presented a chance for many people to shake off their fears of working with FOSS. There is some talk of not running the 1.5 hour labs in 2009. Consider that some of the labs had over 70 people attending. There is certainly a demand. This needs to be balanced though.  2008 had '''too many''' workshops and labs - 15 workshops and 20 labs in total. This became difficult to manage logistically and technically - there are so many factors that can go wrong!&lt;br /&gt;
&lt;br /&gt;
== Workshop Committee ==&lt;br /&gt;
&lt;br /&gt;
This is a big task, even if at 2009, Sydney decides to scale back on the workshops and labs.&lt;br /&gt;
&lt;br /&gt;
We had it roughly break out as follows:&lt;br /&gt;
&lt;br /&gt;
- A person responsible for the technical side of the workshops and labs (software, computer setup etc)&lt;br /&gt;
- A person responsible for the logistical side (comms with the IT suppliers, other suppliers)&lt;br /&gt;
- Advisor from 2007/ OSGeo&lt;br /&gt;
- 2008 Conference Chair, to ensure integration with the rest of the conference&lt;br /&gt;
&lt;br /&gt;
For the scale of 2008, we probably needed another LOC member technically involved. &lt;br /&gt;
&lt;br /&gt;
We used formal conference volunteers to an extent, but if we had more more of them, they could have been put to work quite happily on doing tests and installs.&lt;br /&gt;
&lt;br /&gt;
The amazing part was the willingness to help out evident in the FOSS4G community. A gang of helpers made sure that we were all systems go for Monday by spending most of their Sunday helping to install, configure, test stuff. No complaining, just doing. Brilliant! Ideally, this sprit should not need to be tested though. Early preparation will avoid this to some extent.&lt;br /&gt;
&lt;br /&gt;
== Terminology ==&lt;br /&gt;
&lt;br /&gt;
== Call for Workshops ==&lt;br /&gt;
&lt;br /&gt;
=== Timing ===&lt;br /&gt;
&lt;br /&gt;
As early as possible to allow maximum time for instructors and workshop committee to prepare (though some instructors will always leave things to the last - human nature!). It should go out in a month or two's time from now - preferably before year end.&lt;br /&gt;
&lt;br /&gt;
=== Format of the Call ===&lt;br /&gt;
&lt;br /&gt;
=== Results of the Call ===&lt;br /&gt;
&lt;br /&gt;
== Selection Process ==&lt;br /&gt;
&lt;br /&gt;
=== Philosophy===&lt;br /&gt;
&lt;br /&gt;
Do you want to cater for the most established projects, in the hope of filling up rooms, at the risk of becoming stale? Do you wish to introduce new software tools to the audience and give a chance to emerging projects? Well, a mix of both seems appropriate, but one has to judge the potential audience a bit. For Cape Town we had local knowledge, for example, that MapWindow GIS was gaining some popularity in certain circles. As a result, we made sure that this project had several slots in the programme. The risk of having less well known projects as workshops is that attendance might be lower, affecting the conference bottom line. Labs are an opportunity to showcase such projects.&lt;br /&gt;
&lt;br /&gt;
=== Ranking ===&lt;br /&gt;
&lt;br /&gt;
=== Decisions ===&lt;br /&gt;
&lt;br /&gt;
== Communication with Instructors ==&lt;br /&gt;
&lt;br /&gt;
Instructors should be *forced* onto the workshop-dev mail list - at 2008, some instructors did not join the list and were a bit incommunicado. Personal communications cannot be underestimated too.&lt;br /&gt;
&lt;br /&gt;
== Preparation Process ==&lt;br /&gt;
&lt;br /&gt;
Actually there is probably some sense in having a few stages to the workshop/lab development process. Probably difficult to do, but perhaps ensure that the material to be presented (software, data, printouts, slides etc) are ready at least a month before the time. Some projects want to show the latest and greatest features at the workshop or lab, but this creates stress and risk. We had workshop / lab presenters compiling their code for their session the night before. All in the spirit of things, but very stressful indeed. Avoid. Determinedly.&lt;br /&gt;
&lt;br /&gt;
== Venues ==&lt;br /&gt;
&lt;br /&gt;
At Cape Town, we had 2 big, dedicated venues at the main conference centre plus the main auditorium for one workshop, one venue at the hotel where most delegates were staying and two venues at the University, 15 minutes drive away.&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Venue Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Pro's&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Con's&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Large dedicated rooms at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Control! We could put in freshly imaged computers, our own LAN, good AV facilities, nice desks. Their size allowed us to hold large workshops and labs (capability for 100 pax, but max attendance was somewhere in the region of 80 folk). These rooms also acted (unintentionally) as places where folk could go and catch up on e-mail, have some quiet time, etc, when they were not in use&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A little bit soulless, especially if not full. Some instructors felt un-engaged by the audience in these large venues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auditorium at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ummm, an extra venue at no extra cost?&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Power supply problems, network issues, cavernous place to instruct a few dozen folk. Not sure if it was a success to have a workshop where people had to supply their own notebooks - created config issues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hotel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;This was pretty much the same as the main venues: we had control, access and pleasant environment, plus the advantage of not being too huge. Plus, tea and snacks were thrown in as part of the price.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A 5 minute walk from the CTICC, not a big problem, but causes delays&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;University&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The venues were a bit more intimate - instructors could engage with attendees more easily. Felt a lot less &amp;quot;corporate&amp;quot;. Nice opportunity to raise awareness of FOSS4G. Lab owners were very enthusiastic and helpful&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;No Control! We had to work with PC's with no idea what was on them, other than the OS, and no ability to clear the environment. Who knows what students are doing on lab PC's? Network access and internet connectivity was THE major issue. The university bandwidth was limited such that one workshop in particular did not really work. Also, Internet access was controlled by a proxy, which required usernames and passwords, which the network admins were not too keen to hand out and which caused great annoyance for Firefox users. Transport to the venues was problematic, particularly if folk missed the buses&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The logistical and control hurdles of having workshops at a University were big. Much better to keep venues in one place if possible, or otherwise have them in close walking distance of each other. &lt;br /&gt;
There is a lot to be said for having 'clean' venues, where you have control over how things work. &lt;br /&gt;
Try to encourage more interaction through careful choice and setup of venue&lt;br /&gt;
&lt;br /&gt;
== Computers and Networks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rule number 1: Work with a good technology supplier. We had the most amazing experience with our main IT suppliers - they were flexible, helpful, committed and technically sound. Okay, so the bandwidth was used up at times, but that had more to do with the cost of connectivity than the IT team.&lt;br /&gt;
&lt;br /&gt;
Our approach was to allow several ways to present a workshop or lab. Instructors could build a LiveDVD / LiveUSB and run the session from that. Alternatively, instructors could prepare a VMWare image and run the session from VMWare Player. Thirdly, and most commonly, instructors could provide some software (and data) and provide setup instructions. We then ran through the setup on 2 slightly different machines, and then our IT supplier imaged this setup over the 98 other machines.&lt;br /&gt;
&lt;br /&gt;
The LiveDVD/LiveUSB approach worked pretty well, putting all the onus onto the instructors to be ready. this approach incurs a higher hardware cost, as one needs more RAM. &lt;br /&gt;
&lt;br /&gt;
The VMWare approach was mixed. It was most successful when a thin Linux image was used. Windows based images were '''huge''', and thus difficult to upload/download in preparation. Also, the VMWare approach definitely requires more punchy machines - minimum 2Gb RAM. With enough preparation time and upload/download bandwidth, this is a very solid approach though one needs to be careful to make sure networking is setup properly. &lt;br /&gt;
&lt;br /&gt;
The third approach worked well on the whole. We could prepare the environment quite well if instructors came to the party early with their requirements and instructions. One thing that we tried to a limited extent was opening up a VNC/Remote Desktop Connection to the machines that we were preparing. Given more time, we could have had a slot where each instructor made sure that their setup worked. Agreement on port numbers beforehand was useful for this approach. This approach came a bit unstuck when instructors were not prepared well in advance. Installing a bunch of software across 50 machines the night before a workshop or lab is not conducive to good heart health. If this approach is followed, one thing that worked really well was having an identical network share on each machine. This allowed us to rapidly install software in-situ through an almost peer-to-peer method. &lt;br /&gt;
&lt;br /&gt;
Whichever approach is followed, it is well worth having a conference Server, where last minute things can be served from, whether they be a patch, a set of data or a set of documents.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
We ran Windows XP as a base install. This worked quite well for the South African environment and for the particular conference, which included a lot of folk who were less exposed to Linux. I feel that this choice was determined by our audience in the end. Some FOSS4G attendees were annoyed by the use of Win XP in this way, but it was a pragmatic approach that worked, and also allowed certain FOSS4G projects that are Windows based to gain exposure. We needed to introduce many people to FOSS4G, not necessarily the whole FOSS universe out there. Perhaps the audience will be different in Sydney, but the choice does need to be carefully weighed up. We chose to offer a bridge into FOSS for the most people.&lt;br /&gt;
&lt;br /&gt;
MS4W, OSGeo4W, PostGIS, Java, Tomcat, Firefox, Google Earth covered a lot of bases and were all easy to install and work with on Win XP.&lt;br /&gt;
&lt;br /&gt;
== Printed Handouts ==&lt;br /&gt;
&lt;br /&gt;
2008 provided printed handouts where instructors wished them to be provided. One issue is that for labs it is difficult to know how many to print, for the labs are essentially walk in affairs. Feedback from attendees at labs and workshops suggests that, on the whole, printed material is desirable. One downside to having printed material is that attendees often tend to race ahead of the instructor, which can be problematic if the workshop or lab content is complex or likely to cause problems if an attendee misses a step.&lt;br /&gt;
&lt;br /&gt;
We found a very helpful professional printshop near (i.e. 2 minutes walk) to the conference venue. They were flexible, accommodating and very professional. We organised a kind of printing &amp;quot;slush fund&amp;quot; at the printshop, which was capped at a certain level.&lt;br /&gt;
&lt;br /&gt;
On another track, printed material offers a sponsorship opportunity...&lt;br /&gt;
&lt;br /&gt;
= Presentations =&lt;br /&gt;
&lt;br /&gt;
== Call for Papers ==&lt;br /&gt;
&lt;br /&gt;
=== Academic track ===&lt;br /&gt;
The call for papers did not include a request for number of words. This lead to some minimalistic, say useless, abstracts for the proceedings.&lt;br /&gt;
A reasonable abstract and 3 keywords will also help to categorise the submissions more easily for the individual sessions.&lt;br /&gt;
&lt;br /&gt;
Suggestions for 2009:&lt;br /&gt;
* abstract number of words (300-500 words + 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
=== General track ===&lt;br /&gt;
* abstract number of words (150-300 words + optionally 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
== Submission Process ==&lt;br /&gt;
&lt;br /&gt;
== Community Ranking Process ==&lt;br /&gt;
&lt;br /&gt;
=== Building Sessions ===&lt;br /&gt;
&lt;br /&gt;
== Cancellations ==&lt;br /&gt;
&lt;br /&gt;
== Posters ==&lt;br /&gt;
&lt;br /&gt;
= Wiki =&lt;br /&gt;
&lt;br /&gt;
= Conference Evaluation =&lt;br /&gt;
&lt;br /&gt;
== Workshop Evaluations ==&lt;br /&gt;
&lt;br /&gt;
= Onsite Staff =&lt;br /&gt;
&lt;br /&gt;
= Program handouts etc =&lt;br /&gt;
&lt;br /&gt;
* convenient small flyer, nice to carry around&lt;br /&gt;
* presenter names would be desired (small font)&lt;br /&gt;
&lt;br /&gt;
= Conference website software =&lt;br /&gt;
For the first time, OSGeo is making use of the [http://pkp.sfu.ca/ocs/ Open Conference Systems (OCS)] software to 'manage' a FOSS4G conference.&lt;br /&gt;
&lt;br /&gt;
* See [[FOSS4G2008_Site_Upgrade]]&lt;br /&gt;
* and [[FOSS4G2008_Committee_Issues#OCS_website_management]]&lt;br /&gt;
* Limitations (to be fixed for 2009):&lt;br /&gt;
** No list of participants easily extractable&lt;br /&gt;
** No online session navigation (as supported Indico, see www.foss4g2006.org)&lt;br /&gt;
&lt;br /&gt;
[[Category:FOSS4G2008]]&lt;br /&gt;
[[Category:FOSS4G]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31167</id>
		<title>FOSS4G2008 Lessons Learned</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31167"/>
		<updated>2008-10-20T09:37:55Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Venues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Conference_Committee]]&lt;br /&gt;
&lt;br /&gt;
This page is a collection of information, comments, and suggestions, based on the planning, organizing, and hosting of the FOSS4G 2008 conference. The intent is to provide a resource that can be used by organizers of future FOSS4G conferences. This is not a forum for conference attendees to comment on the conference. Use [[FOSS4G2008_Comments]] for that.&lt;br /&gt;
&lt;br /&gt;
= Bidding =&lt;br /&gt;
&lt;br /&gt;
= Timetable =&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
&lt;br /&gt;
== Sponsorships ==&lt;br /&gt;
&lt;br /&gt;
== Complimentary Registrations and Volunteers ==&lt;br /&gt;
&lt;br /&gt;
== Workshop Pricing ==&lt;br /&gt;
&lt;br /&gt;
= Registration =&lt;br /&gt;
&lt;br /&gt;
== Support For Some Attendees ==&lt;br /&gt;
&lt;br /&gt;
== Scams ==&lt;br /&gt;
&lt;br /&gt;
== Discounts ==&lt;br /&gt;
&lt;br /&gt;
== Breakdown by Country ==&lt;br /&gt;
&lt;br /&gt;
== Attendance ==&lt;br /&gt;
&lt;br /&gt;
=== At the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Code Sprint ===&lt;br /&gt;
&lt;br /&gt;
= Marketing =&lt;br /&gt;
&lt;br /&gt;
== The Mail-out ==&lt;br /&gt;
&lt;br /&gt;
== How People Heard about FOSS4G2007 ==&lt;br /&gt;
&lt;br /&gt;
== Local / Regional / International ==&lt;br /&gt;
&lt;br /&gt;
== Use Proxies ==&lt;br /&gt;
&lt;br /&gt;
== Local Marketing is Key ==&lt;br /&gt;
&lt;br /&gt;
== Web Site &amp;amp; Program ==&lt;br /&gt;
&lt;br /&gt;
== Lists are Important ==&lt;br /&gt;
&lt;br /&gt;
== Press Releases ==&lt;br /&gt;
&lt;br /&gt;
= Social Venues =&lt;br /&gt;
&lt;br /&gt;
= Conference Venue =&lt;br /&gt;
&lt;br /&gt;
== Audio-Visual ==&lt;br /&gt;
&lt;br /&gt;
== Quirks ==&lt;br /&gt;
&lt;br /&gt;
= Accommodations =&lt;br /&gt;
&lt;br /&gt;
= Transportation =&lt;br /&gt;
&lt;br /&gt;
= Workshops and Labs =&lt;br /&gt;
&lt;br /&gt;
Workshops and labs were again very popular. In Cape Town, it presented a chance for many people to shake off their fears of working with FOSS. There is some talk of not running the 1.5 hour labs in 2009. Consider that some of the labs had over 70 people attending. There is certainly a demand. This needs to be balanced though.  2008 had '''too many''' workshops and labs - 15 workshops and 20 labs in total. This became difficult to manage logistically and technically - there are so many factors that can go wrong!&lt;br /&gt;
&lt;br /&gt;
== Workshop Committee ==&lt;br /&gt;
&lt;br /&gt;
This is a big task, even if at 2009, Sydney decides to scale back on the workshops and labs.&lt;br /&gt;
&lt;br /&gt;
We had it roughly break out as follows:&lt;br /&gt;
&lt;br /&gt;
A person responsible for the technical side of the workshops and labs (software, computer setup etc)&lt;br /&gt;
A person responsible for the logistical side (comms with the IT suppliers, other suppliers)&lt;br /&gt;
Advisor from 2007/ OSGeo&lt;br /&gt;
2008 Conference Chair, to ensure integration with the rest of the conference&lt;br /&gt;
&lt;br /&gt;
For the scale of 2008, we probably needed another LOC member technically involved. &lt;br /&gt;
&lt;br /&gt;
We used formal conference volunteers to an extent, but if we had more more of them, they could have been put to work quite happily on doing tests and installs.&lt;br /&gt;
&lt;br /&gt;
The amazing part was the willingness to help out evident in the FOSS4G community. A gang of helpers made sure that we were all systems go for Monday by spending most of their Sunday helping to install, configure, test stuff. No complaining, just doing. Brilliant! Ideally, this sprit should not need to be tested though. Early preparation will avoid this to some extent.&lt;br /&gt;
&lt;br /&gt;
== Terminology ==&lt;br /&gt;
&lt;br /&gt;
== Call for Workshops ==&lt;br /&gt;
&lt;br /&gt;
=== Timing ===&lt;br /&gt;
&lt;br /&gt;
As early as possible to allow maximum time for instructors and workshop committee to prepare (though some instructors will always leave things to the last - human nature!). It should go out in a month or two's time from now - preferably before year end.&lt;br /&gt;
&lt;br /&gt;
=== Format of the Call ===&lt;br /&gt;
&lt;br /&gt;
=== Results of the Call ===&lt;br /&gt;
&lt;br /&gt;
== Selection Process ==&lt;br /&gt;
&lt;br /&gt;
=== Philosophy===&lt;br /&gt;
&lt;br /&gt;
Do you want to cater for the most established projects, in the hope of filling up rooms, at the risk of becoming stale? Do you wish to introduce new software tools to the audience and give a chance to emerging projects? Well, a mix of both seems appropriate, but one has to judge the potential audience a bit. For Cape Town we had local knowledge, for example, that MapWindow GIS was gaining some popularity in certain circles. As a result, we made sure that this project had several slots in the programme. The risk of having less well known projects as workshops is that attendance might be lower, affecting the conference bottom line. Labs are an opportunity to showcase such projects.&lt;br /&gt;
&lt;br /&gt;
=== Ranking ===&lt;br /&gt;
&lt;br /&gt;
=== Decisions ===&lt;br /&gt;
&lt;br /&gt;
== Communication with Instructors ==&lt;br /&gt;
&lt;br /&gt;
Instructors should be *forced* onto the workshop-dev mail list - at 2008, some instructors did not join the list and were a bit incommunicado. Personal communications cannot be underestimated too.&lt;br /&gt;
&lt;br /&gt;
== Preparation Process ==&lt;br /&gt;
&lt;br /&gt;
Actually there is probably some sense in having a few stages to the workshop/lab development process. Probably difficult to do, but perhaps ensure that the material to be presented (software, data, printouts, slides etc) are ready at least a month before the time. Some projects want to show the latest and greatest features at the workshop or lab, but this creates stress and risk. We had workshop / lab presenters compiling their code for their session the night before. All in the spirit of things, but very stressful indeed. Avoid. Determinedly.&lt;br /&gt;
&lt;br /&gt;
== Venues ==&lt;br /&gt;
&lt;br /&gt;
At Cape Town, we had 2 big, dedicated venues at the main conference centre plus the main auditorium for one workshop, one venue at the hotel where most delegates were staying and two venues at the University, 15 minutes drive away.&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Venue Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Pro's&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Con's&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Large dedicated rooms at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Control! We could put in freshly imaged computers, our own LAN, good AV facilities, nice desks. Their size allowed us to hold large workshops and labs (capability for 100 pax, but max attendance was somewhere in the region of 80 folk). These rooms also acted (unintentionally) as places where folk could go and catch up on e-mail, have some quiet time, etc, when they were not in use&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A little bit soulless, especially if not full. Some instructors felt un-engaged by the audience in these large venues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auditorium at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ummm, an extra venue at no extra cost?&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Power supply problems, network issues, cavernous place to instruct a few dozen folk. Not sure if it was a success to have a workshop where people had to supply their own notebooks - created config issues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hotel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;This was pretty much the same as the main venues: we had control, access and pleasant environment, plus the advantage of not being too huge. Plus, tea and snacks were thrown in as part of the price.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A 5 minute walk from the CTICC, not a big problem, but causes delays&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;University&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The venues were a bit more intimate - instructors could engage with attendees more easily. Felt a lot less &amp;quot;corporate&amp;quot;. Nice opportunity to raise awareness of FOSS4G. Lab owners were very enthusiastic and helpful&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;No Control! We had to work with PC's with no idea what was on them, other than the OS, and no ability to clear the environment. Who knows what students are doing on lab PC's? Network access and internet connectivity was THE major issue. The university bandwidth was limited such that one workshop in particular did not really work. Also, Internet access was controlled by a proxy, which required usernames and passwords, which the network admins were not too keen to hand out and which caused great annoyance for Firefox users. Transport to the venues was problematic, particularly if folk missed the buses&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The logistical and control hurdles of having workshops at a University were big. Much better to keep venues in one place if possible, or otherwise have them in close walking distance of each other. &lt;br /&gt;
There is a lot to be said for having 'clean' venues, where you have control over how things work. &lt;br /&gt;
Try to encourage more interaction through careful choice and setup of venue&lt;br /&gt;
&lt;br /&gt;
== Computers and Networks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rule number 1: Work with a good technology supplier. We had the most amazing experience with our main IT suppliers - they were flexible, helpful, committed and technically sound. Okay, so the bandwidth was used up at times, but that had more to do with the cost of connectivity than the IT team.&lt;br /&gt;
&lt;br /&gt;
Our approach was to allow several ways to present a workshop or lab. Instructors could build a LiveDVD / LiveUSB and run the session from that. Alternatively, instructors could prepare a VMWare image and run the session from VMWare Player. Thirdly, and most commonly, instructors could provide some software (and data) and provide setup instructions. We then ran through the setup on 2 slightly different machines, and then our IT supplier imaged this setup over the 98 other machines.&lt;br /&gt;
&lt;br /&gt;
The LiveDVD/LiveUSB approach worked pretty well, putting all the onus onto the instructors to be ready. this approach incurs a higher hardware cost, as one needs more RAM. &lt;br /&gt;
&lt;br /&gt;
The VMWare approach was mixed. It was most successful when a thin Linux image was used. Windows based images were '''huge''', and thus difficult to upload/download in preparation. Also, the VMWare approach definitely requires more punchy machines - minimum 2Gb RAM. With enough preparation time and upload/download bandwidth, this is a very solid approach though one needs to be careful to make sure networking is setup properly. &lt;br /&gt;
&lt;br /&gt;
The third approach worked well on the whole. We could prepare the environment quite well if instructors came to the party early with their requirements and instructions. One thing that we tried to a limited extent was opening up a VNC/Remote Desktop Connection to the machines that we were preparing. Given more time, we could have had a slot where each instructor made sure that their setup worked. Agreement on port numbers beforehand was useful for this approach. This approach came a bit unstuck when instructors were not prepared well in advance. Installing a bunch of software across 50 machines the night before a workshop or lab is not conducive to good heart health. If this approach is followed, one thing that worked really well was having an identical network share on each machine. This allowed us to rapidly install software in-situ through an almost peer-to-peer method. &lt;br /&gt;
&lt;br /&gt;
Whichever approach is followed, it is well worth having a conference Server, where last minute things can be served from, whether they be a patch, a set of data or a set of documents.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
We ran Windows XP as a base install. This worked quite well for the South African environment and for the particular conference, which included a lot of folk who were less exposed to Linux. I feel that this choice was determined by our audience in the end. Some FOSS4G attendees were annoyed by the use of Win XP in this way, but it was a pragmatic approach that worked, and also allowed certain FOSS4G projects that are Windows based to gain exposure. We needed to introduce many people to FOSS4G, not necessarily the whole FOSS universe out there. Perhaps the audience will be different in Sydney, but the choice does need to be carefully weighed up. We chose to offer a bridge into FOSS for the most people.&lt;br /&gt;
&lt;br /&gt;
MS4W, OSGeo4W, PostGIS, Java, Tomcat, Firefox, Google Earth covered a lot of bases and were all easy to install and work with on Win XP.&lt;br /&gt;
&lt;br /&gt;
== Printed Handouts ==&lt;br /&gt;
&lt;br /&gt;
2008 provided printed handouts where instructors wished them to be provided. One issue is that for labs it is difficult to know how many to print, for the labs are essentially walk in affairs. Feedback from attendees at labs and workshops suggests that, on the whole, printed material is desirable. One downside to having printed material is that attendees often tend to race ahead of the instructor, which can be problematic if the workshop or lab content is complex or likely to cause problems if an attendee misses a step.&lt;br /&gt;
&lt;br /&gt;
We found a very helpful professional printshop near (i.e. 2 minutes walk) to the conference venue. They were flexible, accommodating and very professional. We organised a kind of printing &amp;quot;slush fund&amp;quot; at the printshop, which was capped at a certain level.&lt;br /&gt;
&lt;br /&gt;
On another track, printed material offers a sponsorship opportunity...&lt;br /&gt;
&lt;br /&gt;
= Presentations =&lt;br /&gt;
&lt;br /&gt;
== Call for Papers ==&lt;br /&gt;
&lt;br /&gt;
=== Academic track ===&lt;br /&gt;
The call for papers did not include a request for number of words. This lead to some minimalistic, say useless, abstracts for the proceedings.&lt;br /&gt;
A reasonable abstract and 3 keywords will also help to categorise the submissions more easily for the individual sessions.&lt;br /&gt;
&lt;br /&gt;
Suggestions for 2009:&lt;br /&gt;
* abstract number of words (300-500 words + 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
=== General track ===&lt;br /&gt;
* abstract number of words (150-300 words + optionally 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
== Submission Process ==&lt;br /&gt;
&lt;br /&gt;
== Community Ranking Process ==&lt;br /&gt;
&lt;br /&gt;
=== Building Sessions ===&lt;br /&gt;
&lt;br /&gt;
== Cancellations ==&lt;br /&gt;
&lt;br /&gt;
== Posters ==&lt;br /&gt;
&lt;br /&gt;
= Wiki =&lt;br /&gt;
&lt;br /&gt;
= Conference Evaluation =&lt;br /&gt;
&lt;br /&gt;
== Workshop Evaluations ==&lt;br /&gt;
&lt;br /&gt;
= Onsite Staff =&lt;br /&gt;
&lt;br /&gt;
= Program handouts etc =&lt;br /&gt;
&lt;br /&gt;
* convenient small flyer, nice to carry around&lt;br /&gt;
* presenter names would be desired (small font)&lt;br /&gt;
&lt;br /&gt;
= Conference website software =&lt;br /&gt;
For the first time, OSGeo is making use of the [http://pkp.sfu.ca/ocs/ Open Conference Systems (OCS)] software to 'manage' a FOSS4G conference.&lt;br /&gt;
&lt;br /&gt;
* See [[FOSS4G2008_Site_Upgrade]]&lt;br /&gt;
* and [[FOSS4G2008_Committee_Issues#OCS_website_management]]&lt;br /&gt;
* Limitations (to be fixed for 2009):&lt;br /&gt;
** No list of participants easily extractable&lt;br /&gt;
** No online session navigation (as supported Indico, see www.foss4g2006.org)&lt;br /&gt;
&lt;br /&gt;
[[Category:FOSS4G2008]]&lt;br /&gt;
[[Category:FOSS4G]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31166</id>
		<title>FOSS4G2008 Lessons Learned</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31166"/>
		<updated>2008-10-20T09:14:45Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Workshop Committee */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Conference_Committee]]&lt;br /&gt;
&lt;br /&gt;
This page is a collection of information, comments, and suggestions, based on the planning, organizing, and hosting of the FOSS4G 2008 conference. The intent is to provide a resource that can be used by organizers of future FOSS4G conferences. This is not a forum for conference attendees to comment on the conference. Use [[FOSS4G2008_Comments]] for that.&lt;br /&gt;
&lt;br /&gt;
= Bidding =&lt;br /&gt;
&lt;br /&gt;
= Timetable =&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
&lt;br /&gt;
== Sponsorships ==&lt;br /&gt;
&lt;br /&gt;
== Complimentary Registrations and Volunteers ==&lt;br /&gt;
&lt;br /&gt;
== Workshop Pricing ==&lt;br /&gt;
&lt;br /&gt;
= Registration =&lt;br /&gt;
&lt;br /&gt;
== Support For Some Attendees ==&lt;br /&gt;
&lt;br /&gt;
== Scams ==&lt;br /&gt;
&lt;br /&gt;
== Discounts ==&lt;br /&gt;
&lt;br /&gt;
== Breakdown by Country ==&lt;br /&gt;
&lt;br /&gt;
== Attendance ==&lt;br /&gt;
&lt;br /&gt;
=== At the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Code Sprint ===&lt;br /&gt;
&lt;br /&gt;
= Marketing =&lt;br /&gt;
&lt;br /&gt;
== The Mail-out ==&lt;br /&gt;
&lt;br /&gt;
== How People Heard about FOSS4G2007 ==&lt;br /&gt;
&lt;br /&gt;
== Local / Regional / International ==&lt;br /&gt;
&lt;br /&gt;
== Use Proxies ==&lt;br /&gt;
&lt;br /&gt;
== Local Marketing is Key ==&lt;br /&gt;
&lt;br /&gt;
== Web Site &amp;amp; Program ==&lt;br /&gt;
&lt;br /&gt;
== Lists are Important ==&lt;br /&gt;
&lt;br /&gt;
== Press Releases ==&lt;br /&gt;
&lt;br /&gt;
= Social Venues =&lt;br /&gt;
&lt;br /&gt;
= Conference Venue =&lt;br /&gt;
&lt;br /&gt;
== Audio-Visual ==&lt;br /&gt;
&lt;br /&gt;
== Quirks ==&lt;br /&gt;
&lt;br /&gt;
= Accommodations =&lt;br /&gt;
&lt;br /&gt;
= Transportation =&lt;br /&gt;
&lt;br /&gt;
= Workshops and Labs =&lt;br /&gt;
&lt;br /&gt;
Workshops and labs were again very popular. In Cape Town, it presented a chance for many people to shake off their fears of working with FOSS. There is some talk of not running the 1.5 hour labs in 2009. Consider that some of the labs had over 70 people attending. There is certainly a demand. This needs to be balanced though.  2008 had '''too many''' workshops and labs - 15 workshops and 20 labs in total. This became difficult to manage logistically and technically - there are so many factors that can go wrong!&lt;br /&gt;
&lt;br /&gt;
== Workshop Committee ==&lt;br /&gt;
&lt;br /&gt;
This is a big task, even if at 2009, Sydney decides to scale back on the workshops and labs.&lt;br /&gt;
&lt;br /&gt;
We had it roughly break out as follows:&lt;br /&gt;
&lt;br /&gt;
A person responsible for the technical side of the workshops and labs (software, computer setup etc)&lt;br /&gt;
A person responsible for the logistical side (comms with the IT suppliers, other suppliers)&lt;br /&gt;
Advisor from 2007/ OSGeo&lt;br /&gt;
2008 Conference Chair, to ensure integration with the rest of the conference&lt;br /&gt;
&lt;br /&gt;
For the scale of 2008, we probably needed another LOC member technically involved. &lt;br /&gt;
&lt;br /&gt;
We used formal conference volunteers to an extent, but if we had more more of them, they could have been put to work quite happily on doing tests and installs.&lt;br /&gt;
&lt;br /&gt;
The amazing part was the willingness to help out evident in the FOSS4G community. A gang of helpers made sure that we were all systems go for Monday by spending most of their Sunday helping to install, configure, test stuff. No complaining, just doing. Brilliant! Ideally, this sprit should not need to be tested though. Early preparation will avoid this to some extent.&lt;br /&gt;
&lt;br /&gt;
== Terminology ==&lt;br /&gt;
&lt;br /&gt;
== Call for Workshops ==&lt;br /&gt;
&lt;br /&gt;
=== Timing ===&lt;br /&gt;
&lt;br /&gt;
As early as possible to allow maximum time for instructors and workshop committee to prepare (though some instructors will always leave things to the last - human nature!). It should go out in a month or two's time from now - preferably before year end.&lt;br /&gt;
&lt;br /&gt;
=== Format of the Call ===&lt;br /&gt;
&lt;br /&gt;
=== Results of the Call ===&lt;br /&gt;
&lt;br /&gt;
== Selection Process ==&lt;br /&gt;
&lt;br /&gt;
=== Philosophy===&lt;br /&gt;
&lt;br /&gt;
Do you want to cater for the most established projects, in the hope of filling up rooms, at the risk of becoming stale? Do you wish to introduce new software tools to the audience and give a chance to emerging projects? Well, a mix of both seems appropriate, but one has to judge the potential audience a bit. For Cape Town we had local knowledge, for example, that MapWindow GIS was gaining some popularity in certain circles. As a result, we made sure that this project had several slots in the programme. The risk of having less well known projects as workshops is that attendance might be lower, affecting the conference bottom line. Labs are an opportunity to showcase such projects.&lt;br /&gt;
&lt;br /&gt;
=== Ranking ===&lt;br /&gt;
&lt;br /&gt;
=== Decisions ===&lt;br /&gt;
&lt;br /&gt;
== Communication with Instructors ==&lt;br /&gt;
&lt;br /&gt;
Instructors should be *forced* onto the workshop-dev mail list - at 2008, some instructors did not join the list and were a bit incommunicado. Personal communications cannot be underestimated too.&lt;br /&gt;
&lt;br /&gt;
== Preparation Process ==&lt;br /&gt;
&lt;br /&gt;
Actually there is probably some sense in having a few stages to the workshop/lab development process. Probably difficult to do, but perhaps ensure that the material to be presented (software, data, printouts, slides etc) are ready at least a month before the time. Some projects want to show the latest and greatest features at the workshop or lab, but this creates stress and risk. We had workshop / lab presenters compiling their code for their session the night before. All in the spirit of things, but very stressful indeed. Avoid. Determinedly.&lt;br /&gt;
&lt;br /&gt;
== Venues ==&lt;br /&gt;
&lt;br /&gt;
At Cape Town, we had 2 big, dedicated venues at the main conference centre plus the main auditorium for one workshop, one venue at the hotel where most delegates were staying and two venues at the University, 15 minutes drive away.&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Venue Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Pro's&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Con's&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Large dedicated rooms at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Control! We could put in freshly imaged computers, our own LAN, good AV facilities, nice desks. Their size allowed us to hold large workshops and labs (capability for 100 pax, but max attendance was somewhere in the region of 80 folk). These rooms also acted (unintentionally) as places where folk could go and catch up on e-mail, have some quiet time, etc, when they were not in use&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A little bit soulless, especially if not full. Some instructors felt un-engaged by the audience in these large venues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auditorium at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ummm, an extra venue at no extra cost?&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Power supply problems, network issues, cavernous place to instruct a few dozen folk. Not sure if it was a success to have a workshop where people had to supply their own notebooks - created config issues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hotel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;This was pretty much the same as the main venues: we had control, access and pleasant environment, plus the advantage of not being too huge. Plus, tea and snacks were thrown in as part of the price.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A 5 minute walk from the CTICC, not a big problem, but causes delays&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;University&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The venues were a bit more intimate - instructors could engage with attendees more easily. Felt a lot less &amp;quot;corporate&amp;quot;. Nice opportunity to raise awareness of FOSS4G. Lab owners were very enthusiastic and helpful&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;No Control! We had to work with PC's with no idea what was on them, other than the OS, and no ability to clear the environment. Who knows what students are doing on lab PC's? Network access and internet connectivity was THE major issue. The university bandwidth was limited such that one workshop in particular did not really work. Also, Internet access was controlled by a proxy, which required usernames and passwords, which the network admins were not too keen to hand out and which caused great annoyance for Firefox users. Transport to the venues was problematic, particularly if folk missed the buses&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Computers and Networks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rule number 1: Work with a good technology supplier. We had the most amazing experience with our main IT suppliers - they were flexible, helpful, committed and technically sound. Okay, so the bandwidth was used up at times, but that had more to do with the cost of connectivity than the IT team.&lt;br /&gt;
&lt;br /&gt;
Our approach was to allow several ways to present a workshop or lab. Instructors could build a LiveDVD / LiveUSB and run the session from that. Alternatively, instructors could prepare a VMWare image and run the session from VMWare Player. Thirdly, and most commonly, instructors could provide some software (and data) and provide setup instructions. We then ran through the setup on 2 slightly different machines, and then our IT supplier imaged this setup over the 98 other machines.&lt;br /&gt;
&lt;br /&gt;
The LiveDVD/LiveUSB approach worked pretty well, putting all the onus onto the instructors to be ready. this approach incurs a higher hardware cost, as one needs more RAM. &lt;br /&gt;
&lt;br /&gt;
The VMWare approach was mixed. It was most successful when a thin Linux image was used. Windows based images were '''huge''', and thus difficult to upload/download in preparation. Also, the VMWare approach definitely requires more punchy machines - minimum 2Gb RAM. With enough preparation time and upload/download bandwidth, this is a very solid approach though one needs to be careful to make sure networking is setup properly. &lt;br /&gt;
&lt;br /&gt;
The third approach worked well on the whole. We could prepare the environment quite well if instructors came to the party early with their requirements and instructions. One thing that we tried to a limited extent was opening up a VNC/Remote Desktop Connection to the machines that we were preparing. Given more time, we could have had a slot where each instructor made sure that their setup worked. Agreement on port numbers beforehand was useful for this approach. This approach came a bit unstuck when instructors were not prepared well in advance. Installing a bunch of software across 50 machines the night before a workshop or lab is not conducive to good heart health. If this approach is followed, one thing that worked really well was having an identical network share on each machine. This allowed us to rapidly install software in-situ through an almost peer-to-peer method. &lt;br /&gt;
&lt;br /&gt;
Whichever approach is followed, it is well worth having a conference Server, where last minute things can be served from, whether they be a patch, a set of data or a set of documents.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
We ran Windows XP as a base install. This worked quite well for the South African environment and for the particular conference, which included a lot of folk who were less exposed to Linux. I feel that this choice was determined by our audience in the end. Some FOSS4G attendees were annoyed by the use of Win XP in this way, but it was a pragmatic approach that worked, and also allowed certain FOSS4G projects that are Windows based to gain exposure. We needed to introduce many people to FOSS4G, not necessarily the whole FOSS universe out there. Perhaps the audience will be different in Sydney, but the choice does need to be carefully weighed up. We chose to offer a bridge into FOSS for the most people.&lt;br /&gt;
&lt;br /&gt;
MS4W, OSGeo4W, PostGIS, Java, Tomcat, Firefox, Google Earth covered a lot of bases and were all easy to install and work with on Win XP.&lt;br /&gt;
&lt;br /&gt;
== Printed Handouts ==&lt;br /&gt;
&lt;br /&gt;
2008 provided printed handouts where instructors wished them to be provided. One issue is that for labs it is difficult to know how many to print, for the labs are essentially walk in affairs. Feedback from attendees at labs and workshops suggests that, on the whole, printed material is desirable. One downside to having printed material is that attendees often tend to race ahead of the instructor, which can be problematic if the workshop or lab content is complex or likely to cause problems if an attendee misses a step.&lt;br /&gt;
&lt;br /&gt;
We found a very helpful professional printshop near (i.e. 2 minutes walk) to the conference venue. They were flexible, accommodating and very professional. We organised a kind of printing &amp;quot;slush fund&amp;quot; at the printshop, which was capped at a certain level.&lt;br /&gt;
&lt;br /&gt;
On another track, printed material offers a sponsorship opportunity...&lt;br /&gt;
&lt;br /&gt;
= Presentations =&lt;br /&gt;
&lt;br /&gt;
== Call for Papers ==&lt;br /&gt;
&lt;br /&gt;
=== Academic track ===&lt;br /&gt;
The call for papers did not include a request for number of words. This lead to some minimalistic, say useless, abstracts for the proceedings.&lt;br /&gt;
A reasonable abstract and 3 keywords will also help to categorise the submissions more easily for the individual sessions.&lt;br /&gt;
&lt;br /&gt;
Suggestions for 2009:&lt;br /&gt;
* abstract number of words (300-500 words + 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
=== General track ===&lt;br /&gt;
* abstract number of words (150-300 words + optionally 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
== Submission Process ==&lt;br /&gt;
&lt;br /&gt;
== Community Ranking Process ==&lt;br /&gt;
&lt;br /&gt;
=== Building Sessions ===&lt;br /&gt;
&lt;br /&gt;
== Cancellations ==&lt;br /&gt;
&lt;br /&gt;
== Posters ==&lt;br /&gt;
&lt;br /&gt;
= Wiki =&lt;br /&gt;
&lt;br /&gt;
= Conference Evaluation =&lt;br /&gt;
&lt;br /&gt;
== Workshop Evaluations ==&lt;br /&gt;
&lt;br /&gt;
= Onsite Staff =&lt;br /&gt;
&lt;br /&gt;
= Program handouts etc =&lt;br /&gt;
&lt;br /&gt;
* convenient small flyer, nice to carry around&lt;br /&gt;
* presenter names would be desired (small font)&lt;br /&gt;
&lt;br /&gt;
= Conference website software =&lt;br /&gt;
For the first time, OSGeo is making use of the [http://pkp.sfu.ca/ocs/ Open Conference Systems (OCS)] software to 'manage' a FOSS4G conference.&lt;br /&gt;
&lt;br /&gt;
* See [[FOSS4G2008_Site_Upgrade]]&lt;br /&gt;
* and [[FOSS4G2008_Committee_Issues#OCS_website_management]]&lt;br /&gt;
* Limitations (to be fixed for 2009):&lt;br /&gt;
** No list of participants easily extractable&lt;br /&gt;
** No online session navigation (as supported Indico, see www.foss4g2006.org)&lt;br /&gt;
&lt;br /&gt;
[[Category:FOSS4G2008]]&lt;br /&gt;
[[Category:FOSS4G]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31165</id>
		<title>FOSS4G2008 Lessons Learned</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=FOSS4G2008_Lessons_Learned&amp;diff=31165"/>
		<updated>2008-10-20T08:29:27Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Gmcferren: /* Timing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Conference_Committee]]&lt;br /&gt;
&lt;br /&gt;
This page is a collection of information, comments, and suggestions, based on the planning, organizing, and hosting of the FOSS4G 2008 conference. The intent is to provide a resource that can be used by organizers of future FOSS4G conferences. This is not a forum for conference attendees to comment on the conference. Use [[FOSS4G2008_Comments]] for that.&lt;br /&gt;
&lt;br /&gt;
= Bidding =&lt;br /&gt;
&lt;br /&gt;
= Timetable =&lt;br /&gt;
&lt;br /&gt;
= Money =&lt;br /&gt;
&lt;br /&gt;
== Sponsorships ==&lt;br /&gt;
&lt;br /&gt;
== Complimentary Registrations and Volunteers ==&lt;br /&gt;
&lt;br /&gt;
== Workshop Pricing ==&lt;br /&gt;
&lt;br /&gt;
= Registration =&lt;br /&gt;
&lt;br /&gt;
== Support For Some Attendees ==&lt;br /&gt;
&lt;br /&gt;
== Scams ==&lt;br /&gt;
&lt;br /&gt;
== Discounts ==&lt;br /&gt;
&lt;br /&gt;
== Breakdown by Country ==&lt;br /&gt;
&lt;br /&gt;
== Attendance ==&lt;br /&gt;
&lt;br /&gt;
=== At the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Conference ===&lt;br /&gt;
&lt;br /&gt;
=== Within the Code Sprint ===&lt;br /&gt;
&lt;br /&gt;
= Marketing =&lt;br /&gt;
&lt;br /&gt;
== The Mail-out ==&lt;br /&gt;
&lt;br /&gt;
== How People Heard about FOSS4G2007 ==&lt;br /&gt;
&lt;br /&gt;
== Local / Regional / International ==&lt;br /&gt;
&lt;br /&gt;
== Use Proxies ==&lt;br /&gt;
&lt;br /&gt;
== Local Marketing is Key ==&lt;br /&gt;
&lt;br /&gt;
== Web Site &amp;amp; Program ==&lt;br /&gt;
&lt;br /&gt;
== Lists are Important ==&lt;br /&gt;
&lt;br /&gt;
== Press Releases ==&lt;br /&gt;
&lt;br /&gt;
= Social Venues =&lt;br /&gt;
&lt;br /&gt;
= Conference Venue =&lt;br /&gt;
&lt;br /&gt;
== Audio-Visual ==&lt;br /&gt;
&lt;br /&gt;
== Quirks ==&lt;br /&gt;
&lt;br /&gt;
= Accommodations =&lt;br /&gt;
&lt;br /&gt;
= Transportation =&lt;br /&gt;
&lt;br /&gt;
= Workshops and Labs =&lt;br /&gt;
&lt;br /&gt;
Workshops and labs were again very popular. In Cape Town, it presented a chance for many people to shake off their fears of working with FOSS. There is some talk of not running the 1.5 hour labs in 2009. Consider that some of the labs had over 70 people attending. There is certainly a demand. This needs to be balanced though.  2008 had '''too many''' workshops and labs - 15 workshops and 20 labs in total. This became difficult to manage logistically and technically - there are so many factors that can go wrong!&lt;br /&gt;
&lt;br /&gt;
== Workshop Committee ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Terminology ==&lt;br /&gt;
&lt;br /&gt;
== Call for Workshops ==&lt;br /&gt;
&lt;br /&gt;
=== Timing ===&lt;br /&gt;
&lt;br /&gt;
As early as possible to allow maximum time for instructors and workshop committee to prepare (though some instructors will always leave things to the last - human nature!). It should go out in a month or two's time from now - preferably before year end.&lt;br /&gt;
&lt;br /&gt;
=== Format of the Call ===&lt;br /&gt;
&lt;br /&gt;
=== Results of the Call ===&lt;br /&gt;
&lt;br /&gt;
== Selection Process ==&lt;br /&gt;
&lt;br /&gt;
=== Philosophy===&lt;br /&gt;
&lt;br /&gt;
Do you want to cater for the most established projects, in the hope of filling up rooms, at the risk of becoming stale? Do you wish to introduce new software tools to the audience and give a chance to emerging projects? Well, a mix of both seems appropriate, but one has to judge the potential audience a bit. For Cape Town we had local knowledge, for example, that MapWindow GIS was gaining some popularity in certain circles. As a result, we made sure that this project had several slots in the programme. The risk of having less well known projects as workshops is that attendance might be lower, affecting the conference bottom line. Labs are an opportunity to showcase such projects.&lt;br /&gt;
&lt;br /&gt;
=== Ranking ===&lt;br /&gt;
&lt;br /&gt;
=== Decisions ===&lt;br /&gt;
&lt;br /&gt;
== Communication with Instructors ==&lt;br /&gt;
&lt;br /&gt;
Instructors should be *forced* onto the workshop-dev mail list - at 2008, some instructors did not join the list and were a bit incommunicado. Personal communications cannot be underestimated too.&lt;br /&gt;
&lt;br /&gt;
== Preparation Process ==&lt;br /&gt;
&lt;br /&gt;
Actually there is probably some sense in having a few stages to the workshop/lab development process. Probably difficult to do, but perhaps ensure that the material to be presented (software, data, printouts, slides etc) are ready at least a month before the time. Some projects want to show the latest and greatest features at the workshop or lab, but this creates stress and risk. We had workshop / lab presenters compiling their code for their session the night before. All in the spirit of things, but very stressful indeed. Avoid. Determinedly.&lt;br /&gt;
&lt;br /&gt;
== Venues ==&lt;br /&gt;
&lt;br /&gt;
At Cape Town, we had 2 big, dedicated venues at the main conference centre plus the main auditorium for one workshop, one venue at the hotel where most delegates were staying and two venues at the University, 15 minutes drive away.&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Venue Type&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Pro's&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Con's&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Large dedicated rooms at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Control! We could put in freshly imaged computers, our own LAN, good AV facilities, nice desks. Their size allowed us to hold large workshops and labs (capability for 100 pax, but max attendance was somewhere in the region of 80 folk). These rooms also acted (unintentionally) as places where folk could go and catch up on e-mail, have some quiet time, etc, when they were not in use&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A little bit soulless, especially if not full. Some instructors felt un-engaged by the audience in these large venues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Auditorium at CTICC&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Ummm, an extra venue at no extra cost?&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Power supply problems, network issues, cavernous place to instruct a few dozen folk. Not sure if it was a success to have a workshop where people had to supply their own notebooks - created config issues&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hotel&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;This was pretty much the same as the main venues: we had control, access and pleasant environment, plus the advantage of not being too huge. Plus, tea and snacks were thrown in as part of the price.&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;A 5 minute walk from the CTICC, not a big problem, but causes delays&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;University&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;The venues were a bit more intimate - instructors could engage with attendees more easily. Felt a lot less &amp;quot;corporate&amp;quot;. Nice opportunity to raise awareness of FOSS4G. Lab owners were very enthusiastic and helpful&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;No Control! We had to work with PC's with no idea what was on them, other than the OS, and no ability to clear the environment. Who knows what students are doing on lab PC's? Network access and internet connectivity was THE major issue. The university bandwidth was limited such that one workshop in particular did not really work. Also, Internet access was controlled by a proxy, which required usernames and passwords, which the network admins were not too keen to hand out and which caused great annoyance for Firefox users. Transport to the venues was problematic, particularly if folk missed the buses&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Computers and Networks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rule number 1: Work with a good technology supplier. We had the most amazing experience with our main IT suppliers - they were flexible, helpful, committed and technically sound. Okay, so the bandwidth was used up at times, but that had more to do with the cost of connectivity than the IT team.&lt;br /&gt;
&lt;br /&gt;
Our approach was to allow several ways to present a workshop or lab. Instructors could build a LiveDVD / LiveUSB and run the session from that. Alternatively, instructors could prepare a VMWare image and run the session from VMWare Player. Thirdly, and most commonly, instructors could provide some software (and data) and provide setup instructions. We then ran through the setup on 2 slightly different machines, and then our IT supplier imaged this setup over the 98 other machines.&lt;br /&gt;
&lt;br /&gt;
The LiveDVD/LiveUSB approach worked pretty well, putting all the onus onto the instructors to be ready. this approach incurs a higher hardware cost, as one needs more RAM. &lt;br /&gt;
&lt;br /&gt;
The VMWare approach was mixed. It was most successful when a thin Linux image was used. Windows based images were '''huge''', and thus difficult to upload/download in preparation. Also, the VMWare approach definitely requires more punchy machines - minimum 2Gb RAM. With enough preparation time and upload/download bandwidth, this is a very solid approach though one needs to be careful to make sure networking is setup properly. &lt;br /&gt;
&lt;br /&gt;
The third approach worked well on the whole. We could prepare the environment quite well if instructors came to the party early with their requirements and instructions. One thing that we tried to a limited extent was opening up a VNC/Remote Desktop Connection to the machines that we were preparing. Given more time, we could have had a slot where each instructor made sure that their setup worked. Agreement on port numbers beforehand was useful for this approach. This approach came a bit unstuck when instructors were not prepared well in advance. Installing a bunch of software across 50 machines the night before a workshop or lab is not conducive to good heart health. If this approach is followed, one thing that worked really well was having an identical network share on each machine. This allowed us to rapidly install software in-situ through an almost peer-to-peer method. &lt;br /&gt;
&lt;br /&gt;
Whichever approach is followed, it is well worth having a conference Server, where last minute things can be served from, whether they be a patch, a set of data or a set of documents.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
We ran Windows XP as a base install. This worked quite well for the South African environment and for the particular conference, which included a lot of folk who were less exposed to Linux. I feel that this choice was determined by our audience in the end. Some FOSS4G attendees were annoyed by the use of Win XP in this way, but it was a pragmatic approach that worked, and also allowed certain FOSS4G projects that are Windows based to gain exposure. We needed to introduce many people to FOSS4G, not necessarily the whole FOSS universe out there. Perhaps the audience will be different in Sydney, but the choice does need to be carefully weighed up. We chose to offer a bridge into FOSS for the most people.&lt;br /&gt;
&lt;br /&gt;
MS4W, OSGeo4W, PostGIS, Java, Tomcat, Firefox, Google Earth covered a lot of bases and were all easy to install and work with on Win XP.&lt;br /&gt;
&lt;br /&gt;
== Printed Handouts ==&lt;br /&gt;
&lt;br /&gt;
2008 provided printed handouts where instructors wished them to be provided. One issue is that for labs it is difficult to know how many to print, for the labs are essentially walk in affairs. Feedback from attendees at labs and workshops suggests that, on the whole, printed material is desirable. One downside to having printed material is that attendees often tend to race ahead of the instructor, which can be problematic if the workshop or lab content is complex or likely to cause problems if an attendee misses a step.&lt;br /&gt;
&lt;br /&gt;
We found a very helpful professional printshop near (i.e. 2 minutes walk) to the conference venue. They were flexible, accommodating and very professional. We organised a kind of printing &amp;quot;slush fund&amp;quot; at the printshop, which was capped at a certain level.&lt;br /&gt;
&lt;br /&gt;
On another track, printed material offers a sponsorship opportunity...&lt;br /&gt;
&lt;br /&gt;
= Presentations =&lt;br /&gt;
&lt;br /&gt;
== Call for Papers ==&lt;br /&gt;
&lt;br /&gt;
=== Academic track ===&lt;br /&gt;
The call for papers did not include a request for number of words. This lead to some minimalistic, say useless, abstracts for the proceedings.&lt;br /&gt;
A reasonable abstract and 3 keywords will also help to categorise the submissions more easily for the individual sessions.&lt;br /&gt;
&lt;br /&gt;
Suggestions for 2009:&lt;br /&gt;
* abstract number of words (300-500 words + 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
=== General track ===&lt;br /&gt;
* abstract number of words (150-300 words + optionally 3 key references)&lt;br /&gt;
* request 3 keywords&lt;br /&gt;
&lt;br /&gt;
== Submission Process ==&lt;br /&gt;
&lt;br /&gt;
== Community Ranking Process ==&lt;br /&gt;
&lt;br /&gt;
=== Building Sessions ===&lt;br /&gt;
&lt;br /&gt;
== Cancellations ==&lt;br /&gt;
&lt;br /&gt;
== Posters ==&lt;br /&gt;
&lt;br /&gt;
= Wiki =&lt;br /&gt;
&lt;br /&gt;
= Conference Evaluation =&lt;br /&gt;
&lt;br /&gt;
== Workshop Evaluations ==&lt;br /&gt;
&lt;br /&gt;
= Onsite Staff =&lt;br /&gt;
&lt;br /&gt;
= Program handouts etc =&lt;br /&gt;
&lt;br /&gt;
* convenient small flyer, nice to carry around&lt;br /&gt;
* presenter names would be desired (small font)&lt;br /&gt;
&lt;br /&gt;
= Conference website software =&lt;br /&gt;
For the first time, OSGeo is making use of the [http://pkp.sfu.ca/ocs/ Open Conference Systems (OCS)] software to 'manage' a FOSS4G conference.&lt;br /&gt;
&lt;br /&gt;
* See [[FOSS4G2008_Site_Upgrade]]&lt;br /&gt;
* and [[FOSS4G2008_Committee_Issues#OCS_website_management]]&lt;br /&gt;
* Limitations (to be fixed for 2009):&lt;br /&gt;
** No list of participants easily extractable&lt;br /&gt;
** No online session navigation (as supported Indico, see www.foss4g2006.org)&lt;br /&gt;
&lt;br /&gt;
[[Category:FOSS4G2008]]&lt;br /&gt;
[[Category:FOSS4G]]&lt;/div&gt;</summary>
		<author><name>Wiki-Gmcferren</name></author>
	</entry>
</feed>