<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de-CH">
	<id>https://giswiki.ch/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sbichsel</id>
	<title>Geometa Lab OST - Benutzerbeiträge [de-ch]</title>
	<link rel="self" type="application/atom+xml" href="https://giswiki.ch/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sbichsel"/>
	<link rel="alternate" type="text/html" href="https://giswiki.ch/Spezial:Beitr%C3%A4ge/Sbichsel"/>
	<updated>2026-04-27T18:44:28Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://giswiki.ch/index.php?title=Diskussion:UNIGIS-Tag_Schweiz&amp;diff=26817</id>
		<title>Diskussion:UNIGIS-Tag Schweiz</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Diskussion:UNIGIS-Tag_Schweiz&amp;diff=26817"/>
		<updated>2010-04-28T13:20:03Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* Workshops am Nachmittag */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 4. UNIGIS-Tag Schweiz, 7. Mai 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Zielgruppen ===&lt;br /&gt;
* UNIGIS-Studierende und Ehemalige&lt;br /&gt;
* CAS GIS- Studierende und Ehemalige&lt;br /&gt;
* Interessierte an Fernstudium in Master GIS und am CAS GIS an der HSR&lt;br /&gt;
* Verbandsmitglieder:&lt;br /&gt;
** Raumplaner: [http://www.f-s-u.ch Fachverband Schweizer RaumplanerInnen] und Collage.&lt;br /&gt;
** Landschaftsplaner und -architekten: [http://www.svu-aspep.ch SVU/ASPEP], [http://www.bsla.ch BSLA] und [http://www.ffu.ch FFU]&lt;br /&gt;
** Umwelt- und Naturschutz: [http://www.planat.ch PLANAT], bzw. [http://www.naturgefahren.ch/index.php?navID=1173 FAN]&lt;br /&gt;
** Berufsverbände: SIA, ETR.&lt;br /&gt;
&lt;br /&gt;
=== Programmideen (Morgen) ===&lt;br /&gt;
&lt;br /&gt;
* Info-Block GIS beim Bund:&lt;br /&gt;
** GIS - ASA2011, Bernhard Tschumi? noch nicht Angefragt, koordinieren mit thomas hösli, anfrage  2. märzwoche.&lt;br /&gt;
** Altenative Idee evtl. Verantwortliche von www.geo.admin.ch? noch nicht Angefragt&lt;br /&gt;
* Info-Block GIS bei den Kantonen und Städten:&lt;br /&gt;
** &amp;quot;GIS im Kanton St. Gallen&amp;quot;: René L&#039;Eplattenier, Kanton St. Gallen (&#039;&#039;&#039;bestätigt 25.2.10&#039;&#039;&#039;, def in einer woche)&lt;br /&gt;
** &amp;quot;Einsatz WebOffice im Kanton Bern&amp;quot;: Francesco Siragusa, Kanton Bern (&#039;&#039;&#039;bestätigt 25.2.10&#039;&#039;&#039;)&lt;br /&gt;
* Info-Block Anwendungs-Projekte und Software-Hersteller:&lt;br /&gt;
** &amp;quot;Internetkartendienst für GIS Sihlwald - Kartendienst auf ArcGIS Server mit Flex-Programmierungen&amp;quot;, Master-Dipomarbeit Gian Luca Miele, Uni ZH (angefragt).&lt;br /&gt;
*** GIS im Wildnispark Sihlwald: Ronald Schmidt, Sihlwald und UNI ZH. angefragt, Termin passt nicht -&amp;gt; Prov. Vorschlag Internetkartendienst für GIS Sihlwald, Masterarbeit Gian Luca Miele UNIZU - Kartendienst auf ArcGIS Server mit Flex-Programmierungen. /Evtl. antselle Sihlwald GIS im SNP: Ruedi Haller? - noch nicht Angefragt.&lt;br /&gt;
** &amp;quot;Bauten und Landschaftschutz: Entwicklung eines GIS-gestützten Modells zur Beurteilung von Baustandorten&amp;quot;: Kathrin Wunderle, Hintermann und Weber, UNIGIS-Absolventin 2009. (&#039;&#039;&#039;bestätigt!&#039;&#039;&#039;)&lt;br /&gt;
** GIS bei der Metron, Yves Maurer, Stefan Huber (&#039;&#039;&#039;geht doch nicht! Stephan Huber evtl.&#039;&#039;&#039;)&lt;br /&gt;
** GIS bei EBP, Christoph Graf (&#039;&#039;&#039;bestätigt 17.2.10&#039;&#039;&#039;)&lt;br /&gt;
** &amp;quot;Natursport Geoservice Schweiz für Rücksichtsgebiete Natur- und Landschaft&amp;quot;: Roger Bräm, HSR ILF. (&#039;&#039;&#039;bestätigt - 17.2.2010&#039;&#039;&#039;)&lt;br /&gt;
** &amp;quot;GIS-Ausbildungs-Projekt in Guatemala&amp;quot;: Roli Theiler, BIZ-Geo [http://www.seco-cooperation.admin.ch/themen/infrastruktur/00212/00227/index.html] (abgesagt, thema gibt zu wenig her)&lt;br /&gt;
** &amp;quot;GDI, Metadaten, Services...&amp;quot;, Luzius Ammann, Intergraph (&#039;&#039;&#039;bestätigt - [[Benutzer:Stefan|Stefan]] 11:02, 2. Mär. 2010 (UTC)&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
=== Workshops am Nachmittag ===&lt;br /&gt;
Einleitend: Kurzvorstellungen GIS Weiterbildungsperspektiven:&lt;br /&gt;
* Was ist CAS GIS, Lieni&lt;br /&gt;
* Was ist UNIGIS Express /UNIGIS Master, Vetreter Salzburg&lt;br /&gt;
anschliessend Workshops&lt;br /&gt;
* Workshop &amp;quot;GeoNotebook MobileGIS&amp;quot;, Lieni&lt;br /&gt;
* Workshop &amp;quot;Make your Google Mashup in 1.5h&amp;quot;, Stefan (machbar?)&lt;br /&gt;
**Ideen:&lt;br /&gt;
*** 1. Rohdaten in Openlayers-taugliches Format bringen&lt;br /&gt;
*** 2. Karte für Website erstellen&lt;br /&gt;
*** 3. 1 &amp;amp; 2 zusammenfügen&lt;br /&gt;
**Umsetzung:&lt;br /&gt;
*** 1. Daten sind in Excel-Tabelle vorhanden, Punkt &amp;amp; Flächendaten sind getrennt. Von Hand in GeoJSON resp. KML bringen ???&lt;br /&gt;
*** 2. Aus Openlayersschnipsel eine Karte erstellen (auf localhost) inkl. Alternativen wie OSM/Googlemaps/Bing, Kartengrösse,  etc. aufzeigen&lt;br /&gt;
*** 3. Alles so zusammenstellen, dass die einzelnen Files nur noch auf den Server geladen werden müssten&lt;br /&gt;
**Anmerkungen:&lt;br /&gt;
*** Ich denke so an 30 Min pro Part, wobei der letzte sicher weniger lang dauert, aber da können wir ja dann noch Fragen beantworten.  Entspricht dies in etwa deinen Vorstellungen? Kann Punkt 1 noch automatisiert werden?&lt;br /&gt;
&lt;br /&gt;
* Workshop &amp;quot;Quantum GIS ...&amp;quot; z.B. &lt;br /&gt;
** &amp;quot;Grid-Analyse mit GRASS&amp;quot; für ArcGIS-Benutzer - Aufzeigen äquivalenter Funktionen für ArcGIS-Kenner&lt;br /&gt;
** &amp;quot;Daten-Integration von ArcGIS und QGIS&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
Sponsor des Apéros ist &#039;&#039;&#039;Intergraph (Schweiz) AG&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== 3. UNIGIS-Tag Schweiz, 5. Juni 2009 ==&lt;br /&gt;
&lt;br /&gt;
=== Workshops am Nachmittag ===&lt;br /&gt;
&lt;br /&gt;
anschliessend Workshops&lt;br /&gt;
&lt;br /&gt;
* Workshop &amp;quot;Mobile Tagging selbst gemacht&amp;quot;&lt;br /&gt;
* Workshop &amp;quot;GeoNotebook MobileGIS&amp;quot;&lt;br /&gt;
* Workshop &amp;quot;OpenStreetMap im eigenen GIS-Projekt sinnvoll nutzen...&amp;quot;&lt;br /&gt;
* Workshop &amp;quot;Einführung in Quantum GIS 1.0 für Einsteiger und Umsteiger&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== 2. UNIGIS-Tag Schweiz, 29. Mai 2008 ==&lt;br /&gt;
&lt;br /&gt;
Siehe [http://gis.hsr.ch/index.php?option=com_content&amp;amp;task=view&amp;amp;id=182&amp;amp;Itemid=1].&lt;br /&gt;
&lt;br /&gt;
== Notizen/Ideen ==&lt;br /&gt;
* Hinweise (ev. Nachlese) AGIT&#039;08?&lt;br /&gt;
* Hinweis allgemein auf [[Agenda]]/Events, z.B. auf UNIGIS-Stand/Postertisch an GIS/SIT&#039;08&lt;br /&gt;
&lt;br /&gt;
== Organisation ==&lt;br /&gt;
* Leitung: Andreas Lienhard (ILF/GISpunkt HSR) &amp;amp; Stefan Keller (IFS/GISpunkt HSR)&lt;br /&gt;
* Datum: 29. Mai 2008 &lt;br /&gt;
* Ort: HSR, Gebäude 5&lt;br /&gt;
* Tagungssekretariat: Frau Silvia Mazzoli (SM), silvia.mazzoli (at) hsr.ch, tel  0041 55 222 46 30, fax 0041 55 222 46 29&lt;br /&gt;
&lt;br /&gt;
* Beteiligte:&lt;br /&gt;
** Schulleitung: tbd.&lt;br /&gt;
** Fotograf: TB oder DT?&lt;br /&gt;
** Helfer: TB/DT&lt;br /&gt;
** Geschenke an Referenten: SM&lt;br /&gt;
&lt;br /&gt;
* Infrastruktur:&lt;br /&gt;
** Mensa reservieren&lt;br /&gt;
** Treffpunkt-Ecken/Tische reservieren/mit Flyer hinweisen?&lt;br /&gt;
** WLAN-Karten organisieren&lt;br /&gt;
** Ausschilderung&lt;br /&gt;
** Handynr. austauschen&lt;br /&gt;
&lt;br /&gt;
* PR/Werbung:&lt;br /&gt;
** Unterlagen: UNIGIS-Broschüren (Salzburg); UNIGIS-Tag-Programm gedruckt auf A4&lt;br /&gt;
** Ankündigung/Einladung: Mails&lt;br /&gt;
** Medien...? UNIGIS_offline, Geomatik, BIZ-GEO&lt;br /&gt;
&lt;br /&gt;
* Online-Berichte und Pressemitteilungen: &lt;br /&gt;
** Wer? geowebforum, HSR Bulletin, UNIGIS_offline&lt;br /&gt;
** Bilder/Gallerie... auf Flickr?&lt;br /&gt;
&lt;br /&gt;
== Software-Vorführungen am Nachmittag == &lt;br /&gt;
* Zeit: 13:45 - 15:15&lt;br /&gt;
* zwei Mal 45 Min, davon ca. 20-25 min. Vorführung, dann Diskussion.&lt;br /&gt;
&lt;br /&gt;
Programm 13:45 - 14:30:&lt;br /&gt;
* &amp;quot;GeoConverter und OGR/GDAL: Fabelwesen oder sagenhafte Open Source-Software?&amp;quot; (SK)&lt;br /&gt;
* &amp;quot;Mobile Tagging - was ist das?&amp;quot; (SO)&lt;br /&gt;
&lt;br /&gt;
Programm 14:30 - 15:15:&lt;br /&gt;
* &amp;quot;OpenStreetMap: Denke global, kartiere lokal (u.a. mit JOSM)!&amp;quot; (SK)&lt;br /&gt;
* &amp;quot;Ev. Metadaten erfassen und finden - schneller als Google?&amp;quot; (SK)&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=Diskussion:UNIGIS-Tag_Schweiz&amp;diff=26816</id>
		<title>Diskussion:UNIGIS-Tag Schweiz</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Diskussion:UNIGIS-Tag_Schweiz&amp;diff=26816"/>
		<updated>2010-04-28T13:19:20Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* Workshops am Nachmittag */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 4. UNIGIS-Tag Schweiz, 7. Mai 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Zielgruppen ===&lt;br /&gt;
* UNIGIS-Studierende und Ehemalige&lt;br /&gt;
* CAS GIS- Studierende und Ehemalige&lt;br /&gt;
* Interessierte an Fernstudium in Master GIS und am CAS GIS an der HSR&lt;br /&gt;
* Verbandsmitglieder:&lt;br /&gt;
** Raumplaner: [http://www.f-s-u.ch Fachverband Schweizer RaumplanerInnen] und Collage.&lt;br /&gt;
** Landschaftsplaner und -architekten: [http://www.svu-aspep.ch SVU/ASPEP], [http://www.bsla.ch BSLA] und [http://www.ffu.ch FFU]&lt;br /&gt;
** Umwelt- und Naturschutz: [http://www.planat.ch PLANAT], bzw. [http://www.naturgefahren.ch/index.php?navID=1173 FAN]&lt;br /&gt;
** Berufsverbände: SIA, ETR.&lt;br /&gt;
&lt;br /&gt;
=== Programmideen (Morgen) ===&lt;br /&gt;
&lt;br /&gt;
* Info-Block GIS beim Bund:&lt;br /&gt;
** GIS - ASA2011, Bernhard Tschumi? noch nicht Angefragt, koordinieren mit thomas hösli, anfrage  2. märzwoche.&lt;br /&gt;
** Altenative Idee evtl. Verantwortliche von www.geo.admin.ch? noch nicht Angefragt&lt;br /&gt;
* Info-Block GIS bei den Kantonen und Städten:&lt;br /&gt;
** &amp;quot;GIS im Kanton St. Gallen&amp;quot;: René L&#039;Eplattenier, Kanton St. Gallen (&#039;&#039;&#039;bestätigt 25.2.10&#039;&#039;&#039;, def in einer woche)&lt;br /&gt;
** &amp;quot;Einsatz WebOffice im Kanton Bern&amp;quot;: Francesco Siragusa, Kanton Bern (&#039;&#039;&#039;bestätigt 25.2.10&#039;&#039;&#039;)&lt;br /&gt;
* Info-Block Anwendungs-Projekte und Software-Hersteller:&lt;br /&gt;
** &amp;quot;Internetkartendienst für GIS Sihlwald - Kartendienst auf ArcGIS Server mit Flex-Programmierungen&amp;quot;, Master-Dipomarbeit Gian Luca Miele, Uni ZH (angefragt).&lt;br /&gt;
*** GIS im Wildnispark Sihlwald: Ronald Schmidt, Sihlwald und UNI ZH. angefragt, Termin passt nicht -&amp;gt; Prov. Vorschlag Internetkartendienst für GIS Sihlwald, Masterarbeit Gian Luca Miele UNIZU - Kartendienst auf ArcGIS Server mit Flex-Programmierungen. /Evtl. antselle Sihlwald GIS im SNP: Ruedi Haller? - noch nicht Angefragt.&lt;br /&gt;
** &amp;quot;Bauten und Landschaftschutz: Entwicklung eines GIS-gestützten Modells zur Beurteilung von Baustandorten&amp;quot;: Kathrin Wunderle, Hintermann und Weber, UNIGIS-Absolventin 2009. (&#039;&#039;&#039;bestätigt!&#039;&#039;&#039;)&lt;br /&gt;
** GIS bei der Metron, Yves Maurer, Stefan Huber (&#039;&#039;&#039;geht doch nicht! Stephan Huber evtl.&#039;&#039;&#039;)&lt;br /&gt;
** GIS bei EBP, Christoph Graf (&#039;&#039;&#039;bestätigt 17.2.10&#039;&#039;&#039;)&lt;br /&gt;
** &amp;quot;Natursport Geoservice Schweiz für Rücksichtsgebiete Natur- und Landschaft&amp;quot;: Roger Bräm, HSR ILF. (&#039;&#039;&#039;bestätigt - 17.2.2010&#039;&#039;&#039;)&lt;br /&gt;
** &amp;quot;GIS-Ausbildungs-Projekt in Guatemala&amp;quot;: Roli Theiler, BIZ-Geo [http://www.seco-cooperation.admin.ch/themen/infrastruktur/00212/00227/index.html] (abgesagt, thema gibt zu wenig her)&lt;br /&gt;
** &amp;quot;GDI, Metadaten, Services...&amp;quot;, Luzius Ammann, Intergraph (&#039;&#039;&#039;bestätigt - [[Benutzer:Stefan|Stefan]] 11:02, 2. Mär. 2010 (UTC)&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
=== Workshops am Nachmittag ===&lt;br /&gt;
Einleitend: Kurzvorstellungen GIS Weiterbildungsperspektiven:&lt;br /&gt;
* Was ist CAS GIS, Lieni&lt;br /&gt;
* Was ist UNIGIS Express /UNIGIS Master, Vetreter Salzburg&lt;br /&gt;
anschliessend Workshops&lt;br /&gt;
* Workshop &amp;quot;GeoNotebook MobileGIS&amp;quot;, Lieni&lt;br /&gt;
* Workshop &amp;quot;Make your Google Mashup in 1.5h&amp;quot;, Stefan (machbar?)&lt;br /&gt;
&lt;br /&gt;
**Ideen:&lt;br /&gt;
*** 1. Rohdaten in Openlayers-taugliches Format bringen&lt;br /&gt;
*** 2. Karte für Website erstellen&lt;br /&gt;
*** 3. 1 &amp;amp; 2 zusammenfügen&lt;br /&gt;
**Umsetzung:&lt;br /&gt;
*** 1. Daten sind in Excel-Tabelle vorhanden, Punkt &amp;amp; Flächendaten sind getrennt. Von Hand in GeoJSON resp. KML bringen ???&lt;br /&gt;
*** 2. Aus Openlayersschnipsel eine Karte erstellen (auf localhost) inkl. Alternativen wie OSM/Googlemaps/Bing, Kartengrösse,  etc. aufzeigen&lt;br /&gt;
*** 3. Alles so zusammenstellen, dass die einzelnen Files nur noch auf den Server geladen werden müssten&lt;br /&gt;
**Anmerkungen:&lt;br /&gt;
*** Ich denke so an 30 Min pro Part, wobei der letzte sicher weniger lang dauert, aber da können wir ja dann noch Fragen beantworten.  Entspricht dies in etwa deinen Vorstellungen? Kann Punkt 1 noch automatisiert werden?&lt;br /&gt;
&lt;br /&gt;
* Workshop &amp;quot;Quantum GIS ...&amp;quot; z.B. &lt;br /&gt;
** &amp;quot;Grid-Analyse mit GRASS&amp;quot; für ArcGIS-Benutzer - Aufzeigen äquivalenter Funktionen für ArcGIS-Kenner&lt;br /&gt;
** &amp;quot;Daten-Integration von ArcGIS und QGIS&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
Sponsor des Apéros ist &#039;&#039;&#039;Intergraph (Schweiz) AG&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== 3. UNIGIS-Tag Schweiz, 5. Juni 2009 ==&lt;br /&gt;
&lt;br /&gt;
=== Workshops am Nachmittag ===&lt;br /&gt;
&lt;br /&gt;
anschliessend Workshops&lt;br /&gt;
&lt;br /&gt;
* Workshop &amp;quot;Mobile Tagging selbst gemacht&amp;quot;&lt;br /&gt;
* Workshop &amp;quot;GeoNotebook MobileGIS&amp;quot;&lt;br /&gt;
* Workshop &amp;quot;OpenStreetMap im eigenen GIS-Projekt sinnvoll nutzen...&amp;quot;&lt;br /&gt;
* Workshop &amp;quot;Einführung in Quantum GIS 1.0 für Einsteiger und Umsteiger&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== 2. UNIGIS-Tag Schweiz, 29. Mai 2008 ==&lt;br /&gt;
&lt;br /&gt;
Siehe [http://gis.hsr.ch/index.php?option=com_content&amp;amp;task=view&amp;amp;id=182&amp;amp;Itemid=1].&lt;br /&gt;
&lt;br /&gt;
== Notizen/Ideen ==&lt;br /&gt;
* Hinweise (ev. Nachlese) AGIT&#039;08?&lt;br /&gt;
* Hinweis allgemein auf [[Agenda]]/Events, z.B. auf UNIGIS-Stand/Postertisch an GIS/SIT&#039;08&lt;br /&gt;
&lt;br /&gt;
== Organisation ==&lt;br /&gt;
* Leitung: Andreas Lienhard (ILF/GISpunkt HSR) &amp;amp; Stefan Keller (IFS/GISpunkt HSR)&lt;br /&gt;
* Datum: 29. Mai 2008 &lt;br /&gt;
* Ort: HSR, Gebäude 5&lt;br /&gt;
* Tagungssekretariat: Frau Silvia Mazzoli (SM), silvia.mazzoli (at) hsr.ch, tel  0041 55 222 46 30, fax 0041 55 222 46 29&lt;br /&gt;
&lt;br /&gt;
* Beteiligte:&lt;br /&gt;
** Schulleitung: tbd.&lt;br /&gt;
** Fotograf: TB oder DT?&lt;br /&gt;
** Helfer: TB/DT&lt;br /&gt;
** Geschenke an Referenten: SM&lt;br /&gt;
&lt;br /&gt;
* Infrastruktur:&lt;br /&gt;
** Mensa reservieren&lt;br /&gt;
** Treffpunkt-Ecken/Tische reservieren/mit Flyer hinweisen?&lt;br /&gt;
** WLAN-Karten organisieren&lt;br /&gt;
** Ausschilderung&lt;br /&gt;
** Handynr. austauschen&lt;br /&gt;
&lt;br /&gt;
* PR/Werbung:&lt;br /&gt;
** Unterlagen: UNIGIS-Broschüren (Salzburg); UNIGIS-Tag-Programm gedruckt auf A4&lt;br /&gt;
** Ankündigung/Einladung: Mails&lt;br /&gt;
** Medien...? UNIGIS_offline, Geomatik, BIZ-GEO&lt;br /&gt;
&lt;br /&gt;
* Online-Berichte und Pressemitteilungen: &lt;br /&gt;
** Wer? geowebforum, HSR Bulletin, UNIGIS_offline&lt;br /&gt;
** Bilder/Gallerie... auf Flickr?&lt;br /&gt;
&lt;br /&gt;
== Software-Vorführungen am Nachmittag == &lt;br /&gt;
* Zeit: 13:45 - 15:15&lt;br /&gt;
* zwei Mal 45 Min, davon ca. 20-25 min. Vorführung, dann Diskussion.&lt;br /&gt;
&lt;br /&gt;
Programm 13:45 - 14:30:&lt;br /&gt;
* &amp;quot;GeoConverter und OGR/GDAL: Fabelwesen oder sagenhafte Open Source-Software?&amp;quot; (SK)&lt;br /&gt;
* &amp;quot;Mobile Tagging - was ist das?&amp;quot; (SO)&lt;br /&gt;
&lt;br /&gt;
Programm 14:30 - 15:15:&lt;br /&gt;
* &amp;quot;OpenStreetMap: Denke global, kartiere lokal (u.a. mit JOSM)!&amp;quot; (SK)&lt;br /&gt;
* &amp;quot;Ev. Metadaten erfassen und finden - schneller als Google?&amp;quot; (SK)&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=UNIGIS-Tag_Schweiz&amp;diff=26815</id>
		<title>UNIGIS-Tag Schweiz</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=UNIGIS-Tag_Schweiz&amp;diff=26815"/>
		<updated>2010-04-28T13:07:44Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 4. UNIGIS-Tag Schweiz Fr. 7. Mai 2010 ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Unigis_logo_gr.jpg‎|right|||UNIGIS Fernstudium (www.unigis.at)]]&lt;br /&gt;
[[Bild:Gebaeude5.jpg|thumb|right|HSR-Gebäude]]&lt;br /&gt;
&lt;br /&gt;
Zum 4. Mal treffen sich GIS-Interessierte in Rapperswil zum UNIGIS-Tag Schweiz, der von der HSR in Kooperation mit dem ZGIS der Universität Salzburg durchgeführt wird. Aktive UNIGIS-Studierende, (UNI)GIS-Interessierte und UNIGIS-Ehemalige treffen sich untereinander sowie viele Profis aus der GIS-Branche Schweiz.&lt;br /&gt;
&lt;br /&gt;
  Siehe &#039;&#039;&#039;[http://tinyurl.com/unigis-tag-schweiz UNIGIS-Tag Schweiz auf GISpunkt HSR].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Teilnehmernetzwerk ==&lt;br /&gt;
&lt;br /&gt;
Sie nehmen teil am UNIGIS-Tag Schweiz und möchten ein Treffen einer Lerngruppe oder einen Workshop zu einem bestimmten Thema vorbereiten und einbringen? Vielleicht haben Sie auch eine Firma mit dem Bedarf nach GIS-Kompetenzen und möchten junge GIS-Fachleute kennenlernen? &lt;br /&gt;
Melden Sie sich in diesem Wiki an (siehe rechts oben) und platzieren Sie Ihre Ideen auf dieser Seite.&lt;br /&gt;
&lt;br /&gt;
So können Gleichgesinnte finden und haben die Möglichkeit, das Programm des UNIGIS-Tags Schweiz aktiv mitzugestalten. &lt;br /&gt;
&#039;Aus Web 2.0 wird so Menschen 2.0&#039;. Die Organisatoren moderieren und bieten ihre organisatorische Unterstützung an.&lt;br /&gt;
&lt;br /&gt;
=== UNIGIS-Tag Schweiz: Blackboard mit Ideen, Anliegen und Diskussionen ===&lt;br /&gt;
&lt;br /&gt;
* (Hier meine Idee einfügen...)&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
== Workshops ==&lt;br /&gt;
*GoogleMaps-Mashup (siehe Diskussion)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Frühere Schweizer UNIGIS-Tage&#039;&#039;&#039; &lt;br /&gt;
* [http://gis.hsr.ch/index.php?option=com_content&amp;amp;task=view&amp;amp;id=301&amp;amp;Itemid=180 3. UNIGIS-Tag Schweiz, 5. Juni 2009]&lt;br /&gt;
* [http://gis.hsr.ch/index.php?option=com_content&amp;amp;task=view&amp;amp;id=279&amp;amp;Itemid=150 2. UNIGIS-Tag Schweiz, 29. Mai 2008] &lt;br /&gt;
* [http://gis.hsr.ch/index.php?option=com_content&amp;amp;task=view&amp;amp;id=180&amp;amp;Itemid=150 1. UNIGIS-Tag Schweiz, 1. Juni 2007]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=Diskussion:RainAlarm&amp;diff=26071</id>
		<title>Diskussion:RainAlarm</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Diskussion:RainAlarm&amp;diff=26071"/>
		<updated>2010-02-12T14:59:39Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* SB To Do */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== SB To Do ==&lt;br /&gt;
&lt;br /&gt;
To Do App.:&lt;br /&gt;
* RegionForecast verbessern, z.B. durch Geraden-Interpolation&lt;br /&gt;
* Limitieren von zu grossen RegionForecast-Werten wie z.B. max. Velocity... &lt;br /&gt;
*&amp;lt;s&amp;gt; Ev. Weglassen der Kategorie &amp;quot;&amp;lt; 1.0 mm/h&amp;quot; im Radarbild (bedeutet kaum Regen) durch Bildvorverarbeitung (Schwellwert dunkler?).&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt; Refactoring: MrGimoList?&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt; RainAlarm.java =&amp;gt; Response-Texte anpassen: Siehe unten.&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt; Die Koordinaten müssen innerhalb der Schweiz liegen, also zwischen 45 und 48 Grad Nord und zwischen 4 und 11 Grad Ost.&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Filtern von kleinsten Pixelgruppen&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Erzeugen eines animierten GIFs, vom Web her zugänglich&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Offen:&lt;br /&gt;
* Woher die Ausreisser, bei denen plötzlich kommt &amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot;??&lt;br /&gt;
* Reliefkarte als Hintergrund fuer GIS ([http://www.swisstopo.admin.ch/internet/swisstopo/de/home/products/downloads/maps/overview/generalmap_free.html Swisstopo])&lt;br /&gt;
&lt;br /&gt;
Für ein anderes Mal:&lt;br /&gt;
* Berücksichtigung von Grössenveränderung, Rotation/Richtungsänderung sowie Beschleunigung/Verlangsamung&lt;br /&gt;
* Erkennen von &amp;quot;No Data&amp;quot; (&amp;quot;Fehlende Daten beim Bundesamt&amp;quot;) des Inputs (z.B. bei Betriebsausfall vom Monte Lama). Siehe z.B. die Abbildung rechts. [[Bild:Zppi_20090909_1310.png|thumb|200px|right| hier]]&lt;br /&gt;
* Übernehmen der Klassifikation der Regen- und der Schneeintensität (auch wenn&#039;s nur ein mittlerer Wert pro Ellipse/&#039;Niederschlags-Zelle&#039; ist)&lt;br /&gt;
&lt;br /&gt;
== Ausgabe-Texte ==&lt;br /&gt;
Texte (zusammengesetzt):&lt;br /&gt;
* Niederschlag unwahrscheinlich in den nächsten zwei Stunden! (17:05 31.12.2010)&lt;br /&gt;
* Niederschlag möglich in ca. 56 Min.; er dauert voraussichtlich ca. 40 Min.! (17:05 31.12.2010)&lt;br /&gt;
* Niederschlag möglich in ca. 56 Min.; er dauert voraussichtlich über zwei Stunden! (17:05 31.12.2010)&lt;br /&gt;
* Aktuell Niederschlag; er dauert voraussichtlich noch ca. 23 Min.! (17:05 31.12.2010)&lt;br /&gt;
* Aktuell Niederschlag; er dauert voraussichtlich noch über zwei Stunden! (17:05 31.12.2010)&lt;br /&gt;
... gefolgt von &amp;quot;RainAlarm by http://labs.geometa.info/rainalarm (Quellen: SF Meteo und !MeteoSchweiz)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ausnahme-Texte:&lt;br /&gt;
* Und bei Problemen: Es ist ein Problem aufgetreten. Bitte versuchen Sie es später noch einmal.&lt;br /&gt;
* falls ausser Betrieb: Service zurzeit nicht in Betrieb. Versuchen Sie es später noch einmal.&lt;br /&gt;
* falls falsche oder fehlende Koordinaten: Koordinaten fehlen oder falsch. Siehe http://www.gis.hsr.ch/wiki/RainAlarm.&lt;br /&gt;
&lt;br /&gt;
== JSON ==&lt;br /&gt;
&lt;br /&gt;
Auruf: GET &amp;lt;URL&amp;gt;&amp;amp;format=json&lt;br /&gt;
&lt;br /&gt;
=== Beispiel: ===&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;message&amp;quot;:&amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot;, &lt;br /&gt;
    &amp;quot;raining&amp;quot;:false,&lt;br /&gt;
    &amp;quot;rainStart&amp;quot;:-1,&lt;br /&gt;
    &amp;quot;rainStop&amp;quot;:-1&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== JSON-Attributes: ===&lt;br /&gt;
&lt;br /&gt;
message: string&lt;br /&gt;
* &amp;quot;text&amp;quot; =&amp;gt; enthält die Informationen in Textform&lt;br /&gt;
&lt;br /&gt;
raining: boolean&lt;br /&gt;
* true =&amp;gt; es regnet&lt;br /&gt;
* false =&amp;gt; es regnet nicht&lt;br /&gt;
&lt;br /&gt;
rainStart: integer&lt;br /&gt;
* -1 =&amp;gt; start unbekannt&lt;br /&gt;
* 0 =&amp;gt; zurzeit Niederschlag&lt;br /&gt;
* 1... max =&amp;gt; start in x min&lt;br /&gt;
&lt;br /&gt;
rainStop: integer&lt;br /&gt;
* -1 =&amp;gt; stop Unbekannt&lt;br /&gt;
* 0... max =&amp;gt; stop in x min&lt;br /&gt;
&lt;br /&gt;
== RainAlarm.java ==&lt;br /&gt;
&lt;br /&gt;
Folgende Ausgabe gibt es (abhängig von start und stop):&lt;br /&gt;
* Kein arrivalNowcast (start): &amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot; (start = -1)&lt;br /&gt;
* arrivalNowcast (start):&lt;br /&gt;
** 1. &amp;quot;Aktuell Niederschlag.&amp;quot; (start = 0)&lt;br /&gt;
** 2. &amp;quot;Niederschlag möglich in ca. xx Min.&amp;quot; (start &amp;gt; 0)&lt;br /&gt;
* durationNowcast (stop):&lt;br /&gt;
** 1. &amp;quot;Er dauert voraussichtlich ca. yy Min.!&amp;quot; (stop &amp;gt; start)&lt;br /&gt;
** 2. &amp;quot;Er dauert voraussichtlich mehr als zwei Stunden!&amp;quot; (stop = -1)&lt;br /&gt;
&lt;br /&gt;
http://dev.ifs.hsr.ch/rainalarm/browser/trunk/rainalarm/src/ch/hsr/ifs/rainalarm/&lt;br /&gt;
&lt;br /&gt;
Die aktuelle Revision 76, Zeile 48 ff. sieht so aus:&lt;br /&gt;
    private String createSMS(int[] startStopRain) {&lt;br /&gt;
        int start = startStopRain[0];&lt;br /&gt;
        int stop = startStopRain[1];&lt;br /&gt;
        String duration = &amp;quot;&amp;quot;;&lt;br /&gt;
         &lt;br /&gt;
        if (start == -1)&lt;br /&gt;
            return &amp;quot;Kaum Niederschlag innert 2h.&amp;quot;;&lt;br /&gt;
        if (stop == -1)&lt;br /&gt;
            duration = &amp;quot;lÃ€nger als &amp;quot; + (120 - start) + &amp;quot; Min&amp;quot;;&lt;br /&gt;
        else&lt;br /&gt;
            duration = (stop - start) + &amp;quot;Min.&amp;quot;;&lt;br /&gt;
        if (start == 0)&lt;br /&gt;
            return &amp;quot;Es regnet(schneit) voraussichtlich noch &amp;quot; + duration + SUFFIX;&lt;br /&gt;
        &lt;br /&gt;
        return &amp;quot;Niederschlag mÃ¶glich in ca. &amp;quot; + start + &amp;quot; Min, dauert voraussichtlich &amp;quot; + duration + SUFFIX;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Hier sollte 1. von Niederschlag die Rede sein und 2. sollte start (besser: arrivalNowcast) und stop (besser durationNowcast) angegeben werden - auch im Antwort-Text. Daher Neu, Zeile 48 ff. :&lt;br /&gt;
&lt;br /&gt;
    final int MAXFORECASTDURATION = 120;&lt;br /&gt;
    private String createSMS(int[] startStopRain) {&lt;br /&gt;
        int start = startStopRain[0];&lt;br /&gt;
        int stop = startStopRain[1];&lt;br /&gt;
        String durationText = &amp;quot;&amp;quot;;&lt;br /&gt;
        String text = &amp;quot;&amp;quot;;&lt;br /&gt;
        final int NODATA = -1;&lt;br /&gt;
        &lt;br /&gt;
        // Kein Niederschlag in Sicht&lt;br /&gt;
        if (start == NODATA)&lt;br /&gt;
            return &amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot;;&lt;br /&gt;
        &lt;br /&gt;
        // Niederschlag ins Sicht (mit Dauer) oder Niederschlag dauert an (noch Dauer...).&lt;br /&gt;
        if (stop == NODATA || (stop - start) &amp;gt;= MAXFORECASTDURATION) &lt;br /&gt;
            durationText = &amp;quot;; er dauert voraussichtlich lÃ€nger als&amp;quot; + (MAXFORECASTDURATION - start) + &amp;quot; Min.!&amp;quot;;&lt;br /&gt;
        else &lt;br /&gt;
            durationText = &amp;quot;; er dauert voraussichtlich ca. &amp;quot; + (stop - start) + &amp;quot; Min.!&amp;quot;;&lt;br /&gt;
        &lt;br /&gt;
        if (start == 0)&lt;br /&gt;
            text = &amp;quot;Aktuell Niederschlag&amp;quot; + durationText;&lt;br /&gt;
        else &lt;br /&gt;
            text = &amp;quot;Niederschlag mÃ¶glich in ca. &amp;quot; + start + &amp;quot; Min.&amp;quot; + durationText;&lt;br /&gt;
                    &lt;br /&gt;
        return text + SUFFIX;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== Ideen ==&lt;br /&gt;
&lt;br /&gt;
Website:&lt;br /&gt;
* http://dev.ifs.hsr.ch/rainalarm/browser/trunk/rainalarm-website/src/ch/hsr/ifs/rainalarm/web/QueryHandler.java: 15: &amp;quot;Service zurzeit nicht in Dini Mueter Betrieb...&amp;quot; :-&amp;gt;&lt;br /&gt;
* SMS-Service  =&amp;gt; Reicht das noch dazu? &amp;quot;wenigstens&amp;quot; die standard-signature anpassen zu &amp;quot;www.gis.hsr.ch ,&amp;quot; (anstelle von &amp;quot;http://www.hsr.ch,&amp;quot; =&amp;gt; beachte auch das Komma)&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=Diskussion:RainAlarm&amp;diff=26061</id>
		<title>Diskussion:RainAlarm</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Diskussion:RainAlarm&amp;diff=26061"/>
		<updated>2010-02-12T12:12:25Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* SB To Do */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== SB To Do ==&lt;br /&gt;
&lt;br /&gt;
To Do App.:&lt;br /&gt;
* RegionForecast verbessern, z.B. durch Geraden-Interpolation&lt;br /&gt;
* Ev. Weglassen der Kategorie &amp;quot;&amp;lt; 1.0 mm/h&amp;quot; im Radarbild (bedeutet kaum Regen) durch Bildvorverarbeitung (Schwellwert dunkler?).&lt;br /&gt;
* Limitieren von zu grossen RegionForecast-Werten wie z.B. max. Velocity... &lt;br /&gt;
* &amp;lt;s&amp;gt; Refactoring: MrGimoList?&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt; RainAlarm.java =&amp;gt; Response-Texte anpassen: Siehe unten.&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt; Die Koordinaten müssen innerhalb der Schweiz liegen, also zwischen 45 und 48 Grad Nord und zwischen 4 und 11 Grad Ost.&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Filtern von kleinsten Pixelgruppen&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Erzeugen eines animierten GIFs, vom Web her zugänglich&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Offen:&lt;br /&gt;
* Woher die Ausreisser, bei denen plötzlich kommt &amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot;??&lt;br /&gt;
* Reliefkarte als Hintergrund fuer GIS ([http://www.swisstopo.admin.ch/internet/swisstopo/de/home/products/downloads/maps/overview/generalmap_free.html Swisstopo])&lt;br /&gt;
&lt;br /&gt;
Für ein anderes Mal:&lt;br /&gt;
* Berücksichtigung von Grössenveränderung, Rotation/Richtungsänderung sowie Beschleunigung/Verlangsamung&lt;br /&gt;
* Erkennen von &amp;quot;No Data&amp;quot; (&amp;quot;Fehlende Daten beim Bundesamt&amp;quot;) des Inputs (z.B. bei Betriebsausfall vom Monte Lama). Siehe z.B. die Abbildung rechts. [[Bild:Zppi_20090909_1310.png|thumb|200px|right| hier]]&lt;br /&gt;
* Übernehmen der Klassifikation der Regen- und der Schneeintensität (auch wenn&#039;s nur ein mittlerer Wert pro Ellipse/&#039;Niederschlags-Zelle&#039; ist)&lt;br /&gt;
&lt;br /&gt;
== Ausgabe-Texte ==&lt;br /&gt;
Texte (zusammengesetzt):&lt;br /&gt;
* Niederschlag unwahrscheinlich in den nächsten zwei Stunden! (17:05 31.12.2010)&lt;br /&gt;
* Niederschlag möglich in ca. 56 Min.; er dauert voraussichtlich ca. 40 Min.! (17:05 31.12.2010)&lt;br /&gt;
* Niederschlag möglich in ca. 56 Min.; er dauert voraussichtlich über zwei Stunden! (17:05 31.12.2010)&lt;br /&gt;
* Aktuell Niederschlag; er dauert voraussichtlich noch ca. 23 Min.! (17:05 31.12.2010)&lt;br /&gt;
* Aktuell Niederschlag; er dauert voraussichtlich noch über zwei Stunden! (17:05 31.12.2010)&lt;br /&gt;
... gefolgt von &amp;quot;RainAlarm by http://labs.geometa.info/rainalarm (Quellen: SF Meteo und !MeteoSchweiz)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ausnahme-Texte:&lt;br /&gt;
* Und bei Problemen: Es ist ein Problem aufgetreten. Bitte versuchen Sie es später noch einmal.&lt;br /&gt;
* falls ausser Betrieb: Service zurzeit nicht in Betrieb. Versuchen Sie es später noch einmal.&lt;br /&gt;
* falls falsche oder fehlende Koordinaten: Koordinaten fehlen oder falsch. Siehe http://www.gis.hsr.ch/wiki/RainAlarm.&lt;br /&gt;
&lt;br /&gt;
== JSON ==&lt;br /&gt;
&lt;br /&gt;
Auruf: GET &amp;lt;URL&amp;gt;&amp;amp;format=json&lt;br /&gt;
&lt;br /&gt;
=== Beispiel: ===&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;message&amp;quot;:&amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot;, &lt;br /&gt;
    &amp;quot;raining&amp;quot;:false,&lt;br /&gt;
    &amp;quot;rainStart&amp;quot;:-1,&lt;br /&gt;
    &amp;quot;rainStop&amp;quot;:-1&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== JSON-Attributes: ===&lt;br /&gt;
&lt;br /&gt;
message: string&lt;br /&gt;
* &amp;quot;text&amp;quot; =&amp;gt; enthält die Informationen in Textform&lt;br /&gt;
&lt;br /&gt;
raining: boolean&lt;br /&gt;
* true =&amp;gt; es regnet&lt;br /&gt;
* false =&amp;gt; es regnet nicht&lt;br /&gt;
&lt;br /&gt;
rainStart: integer&lt;br /&gt;
* -1 =&amp;gt; start unbekannt&lt;br /&gt;
* 0 =&amp;gt; zurzeit Niederschlag&lt;br /&gt;
* 1... max =&amp;gt; start in x min&lt;br /&gt;
&lt;br /&gt;
rainStop: integer&lt;br /&gt;
* -1 =&amp;gt; stop Unbekannt&lt;br /&gt;
* 0... max =&amp;gt; stop in x min&lt;br /&gt;
&lt;br /&gt;
== RainAlarm.java ==&lt;br /&gt;
&lt;br /&gt;
Folgende Ausgabe gibt es (abhängig von start und stop):&lt;br /&gt;
* Kein arrivalNowcast (start): &amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot; (start = -1)&lt;br /&gt;
* arrivalNowcast (start):&lt;br /&gt;
** 1. &amp;quot;Aktuell Niederschlag.&amp;quot; (start = 0)&lt;br /&gt;
** 2. &amp;quot;Niederschlag möglich in ca. xx Min.&amp;quot; (start &amp;gt; 0)&lt;br /&gt;
* durationNowcast (stop):&lt;br /&gt;
** 1. &amp;quot;Er dauert voraussichtlich ca. yy Min.!&amp;quot; (stop &amp;gt; start)&lt;br /&gt;
** 2. &amp;quot;Er dauert voraussichtlich mehr als zwei Stunden!&amp;quot; (stop = -1)&lt;br /&gt;
&lt;br /&gt;
http://dev.ifs.hsr.ch/rainalarm/browser/trunk/rainalarm/src/ch/hsr/ifs/rainalarm/&lt;br /&gt;
&lt;br /&gt;
Die aktuelle Revision 76, Zeile 48 ff. sieht so aus:&lt;br /&gt;
    private String createSMS(int[] startStopRain) {&lt;br /&gt;
        int start = startStopRain[0];&lt;br /&gt;
        int stop = startStopRain[1];&lt;br /&gt;
        String duration = &amp;quot;&amp;quot;;&lt;br /&gt;
         &lt;br /&gt;
        if (start == -1)&lt;br /&gt;
            return &amp;quot;Kaum Niederschlag innert 2h.&amp;quot;;&lt;br /&gt;
        if (stop == -1)&lt;br /&gt;
            duration = &amp;quot;lÃ€nger als &amp;quot; + (120 - start) + &amp;quot; Min&amp;quot;;&lt;br /&gt;
        else&lt;br /&gt;
            duration = (stop - start) + &amp;quot;Min.&amp;quot;;&lt;br /&gt;
        if (start == 0)&lt;br /&gt;
            return &amp;quot;Es regnet(schneit) voraussichtlich noch &amp;quot; + duration + SUFFIX;&lt;br /&gt;
        &lt;br /&gt;
        return &amp;quot;Niederschlag mÃ¶glich in ca. &amp;quot; + start + &amp;quot; Min, dauert voraussichtlich &amp;quot; + duration + SUFFIX;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Hier sollte 1. von Niederschlag die Rede sein und 2. sollte start (besser: arrivalNowcast) und stop (besser durationNowcast) angegeben werden - auch im Antwort-Text. Daher Neu, Zeile 48 ff. :&lt;br /&gt;
&lt;br /&gt;
    final int MAXFORECASTDURATION = 120;&lt;br /&gt;
    private String createSMS(int[] startStopRain) {&lt;br /&gt;
        int start = startStopRain[0];&lt;br /&gt;
        int stop = startStopRain[1];&lt;br /&gt;
        String durationText = &amp;quot;&amp;quot;;&lt;br /&gt;
        String text = &amp;quot;&amp;quot;;&lt;br /&gt;
        final int NODATA = -1;&lt;br /&gt;
        &lt;br /&gt;
        // Kein Niederschlag in Sicht&lt;br /&gt;
        if (start == NODATA)&lt;br /&gt;
            return &amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot;;&lt;br /&gt;
        &lt;br /&gt;
        // Niederschlag ins Sicht (mit Dauer) oder Niederschlag dauert an (noch Dauer...).&lt;br /&gt;
        if (stop == NODATA || (stop - start) &amp;gt;= MAXFORECASTDURATION) &lt;br /&gt;
            durationText = &amp;quot;; er dauert voraussichtlich lÃ€nger als&amp;quot; + (MAXFORECASTDURATION - start) + &amp;quot; Min.!&amp;quot;;&lt;br /&gt;
        else &lt;br /&gt;
            durationText = &amp;quot;; er dauert voraussichtlich ca. &amp;quot; + (stop - start) + &amp;quot; Min.!&amp;quot;;&lt;br /&gt;
        &lt;br /&gt;
        if (start == 0)&lt;br /&gt;
            text = &amp;quot;Aktuell Niederschlag&amp;quot; + durationText;&lt;br /&gt;
        else &lt;br /&gt;
            text = &amp;quot;Niederschlag mÃ¶glich in ca. &amp;quot; + start + &amp;quot; Min.&amp;quot; + durationText;&lt;br /&gt;
                    &lt;br /&gt;
        return text + SUFFIX;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== Ideen ==&lt;br /&gt;
&lt;br /&gt;
Website:&lt;br /&gt;
* http://dev.ifs.hsr.ch/rainalarm/browser/trunk/rainalarm-website/src/ch/hsr/ifs/rainalarm/web/QueryHandler.java: 15: &amp;quot;Service zurzeit nicht in Dini Mueter Betrieb...&amp;quot; :-&amp;gt;&lt;br /&gt;
* SMS-Service  =&amp;gt; Reicht das noch dazu? &amp;quot;wenigstens&amp;quot; die standard-signature anpassen zu &amp;quot;www.gis.hsr.ch ,&amp;quot; (anstelle von &amp;quot;http://www.hsr.ch,&amp;quot; =&amp;gt; beachte auch das Komma)&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=Diskussion:RainAlarm&amp;diff=26060</id>
		<title>Diskussion:RainAlarm</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Diskussion:RainAlarm&amp;diff=26060"/>
		<updated>2010-02-12T09:12:50Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* SB To Do */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== SB To Do ==&lt;br /&gt;
&lt;br /&gt;
To Do App.:&lt;br /&gt;
* Kleinigkeiten:&lt;br /&gt;
* RegionForecast verbessern, z.B. durch Geraden-Interpolation&lt;br /&gt;
* Ev. Weglassen der Kategorie &amp;quot;&amp;lt; 1.0 mm/h&amp;quot; im Radarbild (bedeutet kaum Regen) durch Bildvorverarbeitung (Schwellwert dunkler?).&lt;br /&gt;
* Limitieren von zu grossen RegionForecast-Werten wie z.B. max. Velocity... &lt;br /&gt;
* &amp;lt;s&amp;gt; Refactoring: MrGimoList?&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt; RainAlarm.java =&amp;gt; Response-Texte anpassen: Siehe unten.&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt; Die Koordinaten müssen innerhalb der Schweiz liegen, also zwischen 45 und 48 Grad Nord und zwischen 4 und 11 Grad Ost.&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Filtern von kleinsten Pixelgruppen&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Erzeugen eines animierten GIFs, vom Web her zugänglich&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Offen:&lt;br /&gt;
* Woher die Ausreisser, bei denen plötzlich kommt &amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot;??&lt;br /&gt;
* Reliefkarte als Hintergrund fuer GIS ([http://www.swisstopo.admin.ch/internet/swisstopo/de/home/products/downloads/maps/overview/generalmap_free.html Swisstopo])&lt;br /&gt;
&lt;br /&gt;
Für ein anderes Mal:&lt;br /&gt;
* Berücksichtigung von Grössenveränderung, Rotation/Richtungsänderung sowie Beschleunigung/Verlangsamung&lt;br /&gt;
* Erkennen von &amp;quot;No Data&amp;quot; (&amp;quot;Fehlende Daten beim Bundesamt&amp;quot;) des Inputs (z.B. bei Betriebsausfall vom Monte Lama). Siehe z.B. die Abbildung rechts. [[Bild:Zppi_20090909_1310.png|thumb|200px|right| hier]]&lt;br /&gt;
* Übernehmen der Klassifikation der Regen- und der Schneeintensität (auch wenn&#039;s nur ein mittlerer Wert pro Ellipse/&#039;Niederschlags-Zelle&#039; ist)&lt;br /&gt;
&lt;br /&gt;
== Ausgabe-Texte ==&lt;br /&gt;
Texte (zusammengesetzt):&lt;br /&gt;
* Niederschlag unwahrscheinlich in den nächsten zwei Stunden! (17:05 31.12.2010)&lt;br /&gt;
* Niederschlag möglich in ca. 56 Min.; er dauert voraussichtlich ca. 40 Min.! (17:05 31.12.2010)&lt;br /&gt;
* Niederschlag möglich in ca. 56 Min.; er dauert voraussichtlich über zwei Stunden! (17:05 31.12.2010)&lt;br /&gt;
* Aktuell Niederschlag; er dauert voraussichtlich noch ca. 23 Min.! (17:05 31.12.2010)&lt;br /&gt;
* Aktuell Niederschlag; er dauert voraussichtlich noch über zwei Stunden! (17:05 31.12.2010)&lt;br /&gt;
... gefolgt von &amp;quot;RainAlarm by http://labs.geometa.info/rainalarm (Quellen: SF Meteo und !MeteoSchweiz)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ausnahme-Texte:&lt;br /&gt;
* Und bei Problemen: Es ist ein Problem aufgetreten. Bitte versuchen Sie es später noch einmal.&lt;br /&gt;
* falls ausser Betrieb: Service zurzeit nicht in Betrieb. Versuchen Sie es später noch einmal.&lt;br /&gt;
* falls falsche oder fehlende Koordinaten: Koordinaten fehlen oder falsch. Siehe http://www.gis.hsr.ch/wiki/RainAlarm.&lt;br /&gt;
&lt;br /&gt;
== JSON ==&lt;br /&gt;
&lt;br /&gt;
Auruf: GET &amp;lt;URL&amp;gt;&amp;amp;format=json&lt;br /&gt;
&lt;br /&gt;
=== Beispiel: ===&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;message&amp;quot;:&amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot;, &lt;br /&gt;
    &amp;quot;raining&amp;quot;:false,&lt;br /&gt;
    &amp;quot;rainStart&amp;quot;:-1,&lt;br /&gt;
    &amp;quot;rainStop&amp;quot;:-1&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== JSON-Attributes: ===&lt;br /&gt;
&lt;br /&gt;
message: string&lt;br /&gt;
* &amp;quot;text&amp;quot; =&amp;gt; enthält die Informationen in Textform&lt;br /&gt;
&lt;br /&gt;
raining: boolean&lt;br /&gt;
* true =&amp;gt; es regnet&lt;br /&gt;
* false =&amp;gt; es regnet nicht&lt;br /&gt;
&lt;br /&gt;
rainStart: integer&lt;br /&gt;
* -1 =&amp;gt; start unbekannt&lt;br /&gt;
* 0 =&amp;gt; zurzeit Niederschlag&lt;br /&gt;
* 1... max =&amp;gt; start in x min&lt;br /&gt;
&lt;br /&gt;
rainStop: integer&lt;br /&gt;
* -1 =&amp;gt; stop Unbekannt&lt;br /&gt;
* 0... max =&amp;gt; stop in x min&lt;br /&gt;
&lt;br /&gt;
== RainAlarm.java ==&lt;br /&gt;
&lt;br /&gt;
Folgende Ausgabe gibt es (abhängig von start und stop):&lt;br /&gt;
* Kein arrivalNowcast (start): &amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot; (start = -1)&lt;br /&gt;
* arrivalNowcast (start):&lt;br /&gt;
** 1. &amp;quot;Aktuell Niederschlag.&amp;quot; (start = 0)&lt;br /&gt;
** 2. &amp;quot;Niederschlag möglich in ca. xx Min.&amp;quot; (start &amp;gt; 0)&lt;br /&gt;
* durationNowcast (stop):&lt;br /&gt;
** 1. &amp;quot;Er dauert voraussichtlich ca. yy Min.!&amp;quot; (stop &amp;gt; start)&lt;br /&gt;
** 2. &amp;quot;Er dauert voraussichtlich mehr als zwei Stunden!&amp;quot; (stop = -1)&lt;br /&gt;
&lt;br /&gt;
http://dev.ifs.hsr.ch/rainalarm/browser/trunk/rainalarm/src/ch/hsr/ifs/rainalarm/&lt;br /&gt;
&lt;br /&gt;
Die aktuelle Revision 76, Zeile 48 ff. sieht so aus:&lt;br /&gt;
    private String createSMS(int[] startStopRain) {&lt;br /&gt;
        int start = startStopRain[0];&lt;br /&gt;
        int stop = startStopRain[1];&lt;br /&gt;
        String duration = &amp;quot;&amp;quot;;&lt;br /&gt;
         &lt;br /&gt;
        if (start == -1)&lt;br /&gt;
            return &amp;quot;Kaum Niederschlag innert 2h.&amp;quot;;&lt;br /&gt;
        if (stop == -1)&lt;br /&gt;
            duration = &amp;quot;lÃ€nger als &amp;quot; + (120 - start) + &amp;quot; Min&amp;quot;;&lt;br /&gt;
        else&lt;br /&gt;
            duration = (stop - start) + &amp;quot;Min.&amp;quot;;&lt;br /&gt;
        if (start == 0)&lt;br /&gt;
            return &amp;quot;Es regnet(schneit) voraussichtlich noch &amp;quot; + duration + SUFFIX;&lt;br /&gt;
        &lt;br /&gt;
        return &amp;quot;Niederschlag mÃ¶glich in ca. &amp;quot; + start + &amp;quot; Min, dauert voraussichtlich &amp;quot; + duration + SUFFIX;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Hier sollte 1. von Niederschlag die Rede sein und 2. sollte start (besser: arrivalNowcast) und stop (besser durationNowcast) angegeben werden - auch im Antwort-Text. Daher Neu, Zeile 48 ff. :&lt;br /&gt;
&lt;br /&gt;
    final int MAXFORECASTDURATION = 120;&lt;br /&gt;
    private String createSMS(int[] startStopRain) {&lt;br /&gt;
        int start = startStopRain[0];&lt;br /&gt;
        int stop = startStopRain[1];&lt;br /&gt;
        String durationText = &amp;quot;&amp;quot;;&lt;br /&gt;
        String text = &amp;quot;&amp;quot;;&lt;br /&gt;
        final int NODATA = -1;&lt;br /&gt;
        &lt;br /&gt;
        // Kein Niederschlag in Sicht&lt;br /&gt;
        if (start == NODATA)&lt;br /&gt;
            return &amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot;;&lt;br /&gt;
        &lt;br /&gt;
        // Niederschlag ins Sicht (mit Dauer) oder Niederschlag dauert an (noch Dauer...).&lt;br /&gt;
        if (stop == NODATA || (stop - start) &amp;gt;= MAXFORECASTDURATION) &lt;br /&gt;
            durationText = &amp;quot;; er dauert voraussichtlich lÃ€nger als&amp;quot; + (MAXFORECASTDURATION - start) + &amp;quot; Min.!&amp;quot;;&lt;br /&gt;
        else &lt;br /&gt;
            durationText = &amp;quot;; er dauert voraussichtlich ca. &amp;quot; + (stop - start) + &amp;quot; Min.!&amp;quot;;&lt;br /&gt;
        &lt;br /&gt;
        if (start == 0)&lt;br /&gt;
            text = &amp;quot;Aktuell Niederschlag&amp;quot; + durationText;&lt;br /&gt;
        else &lt;br /&gt;
            text = &amp;quot;Niederschlag mÃ¶glich in ca. &amp;quot; + start + &amp;quot; Min.&amp;quot; + durationText;&lt;br /&gt;
                    &lt;br /&gt;
        return text + SUFFIX;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== Ideen ==&lt;br /&gt;
&lt;br /&gt;
Website:&lt;br /&gt;
* http://dev.ifs.hsr.ch/rainalarm/browser/trunk/rainalarm-website/src/ch/hsr/ifs/rainalarm/web/QueryHandler.java: 15: &amp;quot;Service zurzeit nicht in Dini Mueter Betrieb...&amp;quot; :-&amp;gt;&lt;br /&gt;
* SMS-Service  =&amp;gt; Reicht das noch dazu? &amp;quot;wenigstens&amp;quot; die standard-signature anpassen zu &amp;quot;www.gis.hsr.ch ,&amp;quot; (anstelle von &amp;quot;http://www.hsr.ch,&amp;quot; =&amp;gt; beachte auch das Komma)&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=Diskussion:RainAlarm&amp;diff=26059</id>
		<title>Diskussion:RainAlarm</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Diskussion:RainAlarm&amp;diff=26059"/>
		<updated>2010-02-12T08:51:27Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* SB To Do */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== SB To Do ==&lt;br /&gt;
&lt;br /&gt;
To Do App.:&lt;br /&gt;
* Kleinigkeiten:&lt;br /&gt;
** Refactoring: MrGimoList?&lt;br /&gt;
* RegionForecast verbessern, z.B. durch Geraden-Interpolation&lt;br /&gt;
* Ev. Weglassen der Kategorie &amp;quot;&amp;lt; 1.0 mm/h&amp;quot; im Radarbild (bedeutet kaum Regen) durch Bildvorverarbeitung (Schwellwert dunkler?).&lt;br /&gt;
* Limitieren von zu grossen RegionForecast-Werten wie z.B. max. Velocity... &lt;br /&gt;
*&amp;lt;s&amp;gt; RainAlarm.java =&amp;gt; Response-Texte anpassen: Siehe unten.&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt; Die Koordinaten müssen innerhalb der Schweiz liegen, also zwischen 45 und 48 Grad Nord und zwischen 4 und 11 Grad Ost.&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Filtern von kleinsten Pixelgruppen&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Erzeugen eines animierten GIFs, vom Web her zugänglich&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Offen:&lt;br /&gt;
* Woher die Ausreisser, bei denen plötzlich kommt &amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot;??&lt;br /&gt;
* Reliefkarte als Hintergrund fuer GIS ([http://www.swisstopo.admin.ch/internet/swisstopo/de/home/products/downloads/maps/overview/generalmap_free.html Swisstopo])&lt;br /&gt;
&lt;br /&gt;
Für ein anderes Mal:&lt;br /&gt;
* Berücksichtigung von Grössenveränderung, Rotation/Richtungsänderung sowie Beschleunigung/Verlangsamung&lt;br /&gt;
* Erkennen von &amp;quot;No Data&amp;quot; (&amp;quot;Fehlende Daten beim Bundesamt&amp;quot;) des Inputs (z.B. bei Betriebsausfall vom Monte Lama). Siehe z.B. die Abbildung rechts. [[Bild:Zppi_20090909_1310.png|thumb|200px|right| hier]]&lt;br /&gt;
* Übernehmen der Klassifikation der Regen- und der Schneeintensität (auch wenn&#039;s nur ein mittlerer Wert pro Ellipse/&#039;Niederschlags-Zelle&#039; ist)&lt;br /&gt;
&lt;br /&gt;
== Ausgabe-Texte ==&lt;br /&gt;
Texte (zusammengesetzt):&lt;br /&gt;
* Niederschlag unwahrscheinlich in den nächsten zwei Stunden! (17:05 31.12.2010)&lt;br /&gt;
* Niederschlag möglich in ca. 56 Min.; er dauert voraussichtlich ca. 40 Min.! (17:05 31.12.2010)&lt;br /&gt;
* Niederschlag möglich in ca. 56 Min.; er dauert voraussichtlich über zwei Stunden! (17:05 31.12.2010)&lt;br /&gt;
* Aktuell Niederschlag; er dauert voraussichtlich noch ca. 23 Min.! (17:05 31.12.2010)&lt;br /&gt;
* Aktuell Niederschlag; er dauert voraussichtlich noch über zwei Stunden! (17:05 31.12.2010)&lt;br /&gt;
... gefolgt von &amp;quot;RainAlarm by http://labs.geometa.info/rainalarm (Quellen: SF Meteo und !MeteoSchweiz)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ausnahme-Texte:&lt;br /&gt;
* Und bei Problemen: Es ist ein Problem aufgetreten. Bitte versuchen Sie es später noch einmal.&lt;br /&gt;
* falls ausser Betrieb: Service zurzeit nicht in Betrieb. Versuchen Sie es später noch einmal.&lt;br /&gt;
* falls falsche oder fehlende Koordinaten: Koordinaten fehlen oder falsch. Siehe http://www.gis.hsr.ch/wiki/RainAlarm.&lt;br /&gt;
&lt;br /&gt;
== JSON ==&lt;br /&gt;
&lt;br /&gt;
Auruf: GET &amp;lt;URL&amp;gt;&amp;amp;format=json&lt;br /&gt;
&lt;br /&gt;
=== Beispiel: ===&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;message&amp;quot;:&amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot;, &lt;br /&gt;
    &amp;quot;raining&amp;quot;:false,&lt;br /&gt;
    &amp;quot;rainStart&amp;quot;:-1,&lt;br /&gt;
    &amp;quot;rainStop&amp;quot;:-1&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== JSON-Attributes: ===&lt;br /&gt;
&lt;br /&gt;
message: string&lt;br /&gt;
* &amp;quot;text&amp;quot; =&amp;gt; enthält die Informationen in Textform&lt;br /&gt;
&lt;br /&gt;
raining: boolean&lt;br /&gt;
* true =&amp;gt; es regnet&lt;br /&gt;
* false =&amp;gt; es regnet nicht&lt;br /&gt;
&lt;br /&gt;
rainStart: integer&lt;br /&gt;
* -1 =&amp;gt; start unbekannt&lt;br /&gt;
* 0 =&amp;gt; zurzeit Niederschlag&lt;br /&gt;
* 1... max =&amp;gt; start in x min&lt;br /&gt;
&lt;br /&gt;
rainStop: integer&lt;br /&gt;
* -1 =&amp;gt; stop Unbekannt&lt;br /&gt;
* 0... max =&amp;gt; stop in x min&lt;br /&gt;
&lt;br /&gt;
== RainAlarm.java ==&lt;br /&gt;
&lt;br /&gt;
Folgende Ausgabe gibt es (abhängig von start und stop):&lt;br /&gt;
* Kein arrivalNowcast (start): &amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot; (start = -1)&lt;br /&gt;
* arrivalNowcast (start):&lt;br /&gt;
** 1. &amp;quot;Aktuell Niederschlag.&amp;quot; (start = 0)&lt;br /&gt;
** 2. &amp;quot;Niederschlag möglich in ca. xx Min.&amp;quot; (start &amp;gt; 0)&lt;br /&gt;
* durationNowcast (stop):&lt;br /&gt;
** 1. &amp;quot;Er dauert voraussichtlich ca. yy Min.!&amp;quot; (stop &amp;gt; start)&lt;br /&gt;
** 2. &amp;quot;Er dauert voraussichtlich mehr als zwei Stunden!&amp;quot; (stop = -1)&lt;br /&gt;
&lt;br /&gt;
http://dev.ifs.hsr.ch/rainalarm/browser/trunk/rainalarm/src/ch/hsr/ifs/rainalarm/&lt;br /&gt;
&lt;br /&gt;
Die aktuelle Revision 76, Zeile 48 ff. sieht so aus:&lt;br /&gt;
    private String createSMS(int[] startStopRain) {&lt;br /&gt;
        int start = startStopRain[0];&lt;br /&gt;
        int stop = startStopRain[1];&lt;br /&gt;
        String duration = &amp;quot;&amp;quot;;&lt;br /&gt;
         &lt;br /&gt;
        if (start == -1)&lt;br /&gt;
            return &amp;quot;Kaum Niederschlag innert 2h.&amp;quot;;&lt;br /&gt;
        if (stop == -1)&lt;br /&gt;
            duration = &amp;quot;lÃ€nger als &amp;quot; + (120 - start) + &amp;quot; Min&amp;quot;;&lt;br /&gt;
        else&lt;br /&gt;
            duration = (stop - start) + &amp;quot;Min.&amp;quot;;&lt;br /&gt;
        if (start == 0)&lt;br /&gt;
            return &amp;quot;Es regnet(schneit) voraussichtlich noch &amp;quot; + duration + SUFFIX;&lt;br /&gt;
        &lt;br /&gt;
        return &amp;quot;Niederschlag mÃ¶glich in ca. &amp;quot; + start + &amp;quot; Min, dauert voraussichtlich &amp;quot; + duration + SUFFIX;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Hier sollte 1. von Niederschlag die Rede sein und 2. sollte start (besser: arrivalNowcast) und stop (besser durationNowcast) angegeben werden - auch im Antwort-Text. Daher Neu, Zeile 48 ff. :&lt;br /&gt;
&lt;br /&gt;
    final int MAXFORECASTDURATION = 120;&lt;br /&gt;
    private String createSMS(int[] startStopRain) {&lt;br /&gt;
        int start = startStopRain[0];&lt;br /&gt;
        int stop = startStopRain[1];&lt;br /&gt;
        String durationText = &amp;quot;&amp;quot;;&lt;br /&gt;
        String text = &amp;quot;&amp;quot;;&lt;br /&gt;
        final int NODATA = -1;&lt;br /&gt;
        &lt;br /&gt;
        // Kein Niederschlag in Sicht&lt;br /&gt;
        if (start == NODATA)&lt;br /&gt;
            return &amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot;;&lt;br /&gt;
        &lt;br /&gt;
        // Niederschlag ins Sicht (mit Dauer) oder Niederschlag dauert an (noch Dauer...).&lt;br /&gt;
        if (stop == NODATA || (stop - start) &amp;gt;= MAXFORECASTDURATION) &lt;br /&gt;
            durationText = &amp;quot;; er dauert voraussichtlich lÃ€nger als&amp;quot; + (MAXFORECASTDURATION - start) + &amp;quot; Min.!&amp;quot;;&lt;br /&gt;
        else &lt;br /&gt;
            durationText = &amp;quot;; er dauert voraussichtlich ca. &amp;quot; + (stop - start) + &amp;quot; Min.!&amp;quot;;&lt;br /&gt;
        &lt;br /&gt;
        if (start == 0)&lt;br /&gt;
            text = &amp;quot;Aktuell Niederschlag&amp;quot; + durationText;&lt;br /&gt;
        else &lt;br /&gt;
            text = &amp;quot;Niederschlag mÃ¶glich in ca. &amp;quot; + start + &amp;quot; Min.&amp;quot; + durationText;&lt;br /&gt;
                    &lt;br /&gt;
        return text + SUFFIX;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== Ideen ==&lt;br /&gt;
&lt;br /&gt;
Website:&lt;br /&gt;
* http://dev.ifs.hsr.ch/rainalarm/browser/trunk/rainalarm-website/src/ch/hsr/ifs/rainalarm/web/QueryHandler.java: 15: &amp;quot;Service zurzeit nicht in Dini Mueter Betrieb...&amp;quot; :-&amp;gt;&lt;br /&gt;
* SMS-Service  =&amp;gt; Reicht das noch dazu? &amp;quot;wenigstens&amp;quot; die standard-signature anpassen zu &amp;quot;www.gis.hsr.ch ,&amp;quot; (anstelle von &amp;quot;http://www.hsr.ch,&amp;quot; =&amp;gt; beachte auch das Komma)&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=Diskussion:RainAlarm&amp;diff=26058</id>
		<title>Diskussion:RainAlarm</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Diskussion:RainAlarm&amp;diff=26058"/>
		<updated>2010-02-12T07:56:47Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* SB To Do */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== SB To Do ==&lt;br /&gt;
&lt;br /&gt;
To Do App.:&lt;br /&gt;
* Kleinigkeiten:&lt;br /&gt;
** Refactoring: MrGimoList?&lt;br /&gt;
** RainAlarm.java =&amp;gt; Response-Texte anpassen: Siehe unten.&lt;br /&gt;
* RegionForecast verbessern, z.B. durch Geraden-Interpolation&lt;br /&gt;
* Ev. Weglassen der Kategorie &amp;quot;&amp;lt; 1.0 mm/h&amp;quot; im Radarbild (bedeutet kaum Regen) durch Bildvorverarbeitung (Schwellwert dunkler?).&lt;br /&gt;
* Limitieren von zu grossen RegionForecast-Werten wie z.B. max. Velocity... &lt;br /&gt;
*&amp;lt;s&amp;gt; Die Koordinaten müssen innerhalb der Schweiz liegen, also zwischen 45 und 48 Grad Nord und zwischen 4 und 11 Grad Ost.&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Filtern von kleinsten Pixelgruppen&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Erzeugen eines animierten GIFs, vom Web her zugänglich&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Offen:&lt;br /&gt;
* Woher die Ausreisser, bei denen plötzlich kommt &amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot;??&lt;br /&gt;
* Reliefkarte als Hintergrund fuer GIS ([http://www.swisstopo.admin.ch/internet/swisstopo/de/home/products/downloads/maps/overview/generalmap_free.html Swisstopo])&lt;br /&gt;
&lt;br /&gt;
Für ein anderes Mal:&lt;br /&gt;
* Berücksichtigung von Grössenveränderung, Rotation/Richtungsänderung sowie Beschleunigung/Verlangsamung&lt;br /&gt;
* Erkennen von &amp;quot;No Data&amp;quot; (&amp;quot;Fehlende Daten beim Bundesamt&amp;quot;) des Inputs (z.B. bei Betriebsausfall vom Monte Lama). Siehe z.B. die Abbildung rechts. [[Bild:Zppi_20090909_1310.png|thumb|200px|right| hier]]&lt;br /&gt;
* Übernehmen der Klassifikation der Regen- und der Schneeintensität (auch wenn&#039;s nur ein mittlerer Wert pro Ellipse/&#039;Niederschlags-Zelle&#039; ist)&lt;br /&gt;
&lt;br /&gt;
== Ausgabe-Texte ==&lt;br /&gt;
Texte (zusammengesetzt):&lt;br /&gt;
* Niederschlag unwahrscheinlich in den nächsten zwei Stunden! (17:05 31.12.2010)&lt;br /&gt;
* Niederschlag möglich in ca. 56 Min.; er dauert voraussichtlich ca. 40 Min.! (17:05 31.12.2010)&lt;br /&gt;
* Niederschlag möglich in ca. 56 Min.; er dauert voraussichtlich über zwei Stunden! (17:05 31.12.2010)&lt;br /&gt;
* Aktuell Niederschlag; er dauert voraussichtlich noch ca. 23 Min.! (17:05 31.12.2010)&lt;br /&gt;
* Aktuell Niederschlag; er dauert voraussichtlich noch über zwei Stunden! (17:05 31.12.2010)&lt;br /&gt;
... gefolgt von &amp;quot;RainAlarm by http://labs.geometa.info/rainalarm (Quellen: SF Meteo und !MeteoSchweiz)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ausnahme-Texte:&lt;br /&gt;
* Und bei Problemen: Es ist ein Problem aufgetreten. Bitte versuchen Sie es später noch einmal.&lt;br /&gt;
* falls ausser Betrieb: Service zurzeit nicht in Betrieb. Versuchen Sie es später noch einmal.&lt;br /&gt;
* falls falsche oder fehlende Koordinaten: Koordinaten fehlen oder falsch. Siehe http://www.gis.hsr.ch/wiki/RainAlarm.&lt;br /&gt;
&lt;br /&gt;
== JSON ==&lt;br /&gt;
&lt;br /&gt;
Auruf: GET &amp;lt;URL&amp;gt;&amp;amp;format=json&lt;br /&gt;
&lt;br /&gt;
=== Beispiel: ===&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;message&amp;quot;:&amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot;, &lt;br /&gt;
    &amp;quot;raining&amp;quot;:false,&lt;br /&gt;
    &amp;quot;rainStart&amp;quot;:-1,&lt;br /&gt;
    &amp;quot;rainStop&amp;quot;:-1&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== JSON-Attributes: ===&lt;br /&gt;
&lt;br /&gt;
message: string&lt;br /&gt;
* &amp;quot;text&amp;quot; =&amp;gt; enthält die Informationen in Textform&lt;br /&gt;
&lt;br /&gt;
raining: boolean&lt;br /&gt;
* true =&amp;gt; es regnet&lt;br /&gt;
* false =&amp;gt; es regnet nicht&lt;br /&gt;
&lt;br /&gt;
rainStart: integer&lt;br /&gt;
* -1 =&amp;gt; start unbekannt&lt;br /&gt;
* 0 =&amp;gt; zurzeit Niederschlag&lt;br /&gt;
* 1... max =&amp;gt; start in x min&lt;br /&gt;
&lt;br /&gt;
rainStop: integer&lt;br /&gt;
* -1 =&amp;gt; stop Unbekannt&lt;br /&gt;
* 0... max =&amp;gt; stop in x min&lt;br /&gt;
&lt;br /&gt;
== RainAlarm.java ==&lt;br /&gt;
&lt;br /&gt;
Folgende Ausgabe gibt es (abhängig von start und stop):&lt;br /&gt;
* Kein arrivalNowcast (start): &amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot; (start = -1)&lt;br /&gt;
* arrivalNowcast (start):&lt;br /&gt;
** 1. &amp;quot;Aktuell Niederschlag.&amp;quot; (start = 0)&lt;br /&gt;
** 2. &amp;quot;Niederschlag möglich in ca. xx Min.&amp;quot; (start &amp;gt; 0)&lt;br /&gt;
* durationNowcast (stop):&lt;br /&gt;
** 1. &amp;quot;Er dauert voraussichtlich ca. yy Min.!&amp;quot; (stop &amp;gt; start)&lt;br /&gt;
** 2. &amp;quot;Er dauert voraussichtlich mehr als zwei Stunden!&amp;quot; (stop = -1)&lt;br /&gt;
&lt;br /&gt;
http://dev.ifs.hsr.ch/rainalarm/browser/trunk/rainalarm/src/ch/hsr/ifs/rainalarm/&lt;br /&gt;
&lt;br /&gt;
Die aktuelle Revision 76, Zeile 48 ff. sieht so aus:&lt;br /&gt;
    private String createSMS(int[] startStopRain) {&lt;br /&gt;
        int start = startStopRain[0];&lt;br /&gt;
        int stop = startStopRain[1];&lt;br /&gt;
        String duration = &amp;quot;&amp;quot;;&lt;br /&gt;
         &lt;br /&gt;
        if (start == -1)&lt;br /&gt;
            return &amp;quot;Kaum Niederschlag innert 2h.&amp;quot;;&lt;br /&gt;
        if (stop == -1)&lt;br /&gt;
            duration = &amp;quot;lÃ€nger als &amp;quot; + (120 - start) + &amp;quot; Min&amp;quot;;&lt;br /&gt;
        else&lt;br /&gt;
            duration = (stop - start) + &amp;quot;Min.&amp;quot;;&lt;br /&gt;
        if (start == 0)&lt;br /&gt;
            return &amp;quot;Es regnet(schneit) voraussichtlich noch &amp;quot; + duration + SUFFIX;&lt;br /&gt;
        &lt;br /&gt;
        return &amp;quot;Niederschlag mÃ¶glich in ca. &amp;quot; + start + &amp;quot; Min, dauert voraussichtlich &amp;quot; + duration + SUFFIX;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Hier sollte 1. von Niederschlag die Rede sein und 2. sollte start (besser: arrivalNowcast) und stop (besser durationNowcast) angegeben werden - auch im Antwort-Text. Daher Neu, Zeile 48 ff. :&lt;br /&gt;
&lt;br /&gt;
    final int MAXFORECASTDURATION = 120;&lt;br /&gt;
    private String createSMS(int[] startStopRain) {&lt;br /&gt;
        int start = startStopRain[0];&lt;br /&gt;
        int stop = startStopRain[1];&lt;br /&gt;
        String durationText = &amp;quot;&amp;quot;;&lt;br /&gt;
        String text = &amp;quot;&amp;quot;;&lt;br /&gt;
        final int NODATA = -1;&lt;br /&gt;
        &lt;br /&gt;
        // Kein Niederschlag in Sicht&lt;br /&gt;
        if (start == NODATA)&lt;br /&gt;
            return &amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot;;&lt;br /&gt;
        &lt;br /&gt;
        // Niederschlag ins Sicht (mit Dauer) oder Niederschlag dauert an (noch Dauer...).&lt;br /&gt;
        if (stop == NODATA || (stop - start) &amp;gt;= MAXFORECASTDURATION) &lt;br /&gt;
            durationText = &amp;quot;; er dauert voraussichtlich lÃ€nger als&amp;quot; + (MAXFORECASTDURATION - start) + &amp;quot; Min.!&amp;quot;;&lt;br /&gt;
        else &lt;br /&gt;
            durationText = &amp;quot;; er dauert voraussichtlich ca. &amp;quot; + (stop - start) + &amp;quot; Min.!&amp;quot;;&lt;br /&gt;
        &lt;br /&gt;
        if (start == 0)&lt;br /&gt;
            text = &amp;quot;Aktuell Niederschlag&amp;quot; + durationText;&lt;br /&gt;
        else &lt;br /&gt;
            text = &amp;quot;Niederschlag mÃ¶glich in ca. &amp;quot; + start + &amp;quot; Min.&amp;quot; + durationText;&lt;br /&gt;
                    &lt;br /&gt;
        return text + SUFFIX;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== Ideen ==&lt;br /&gt;
&lt;br /&gt;
Website:&lt;br /&gt;
* http://dev.ifs.hsr.ch/rainalarm/browser/trunk/rainalarm-website/src/ch/hsr/ifs/rainalarm/web/QueryHandler.java: 15: &amp;quot;Service zurzeit nicht in Dini Mueter Betrieb...&amp;quot; :-&amp;gt;&lt;br /&gt;
* SMS-Service  =&amp;gt; Reicht das noch dazu? &amp;quot;wenigstens&amp;quot; die standard-signature anpassen zu &amp;quot;www.gis.hsr.ch ,&amp;quot; (anstelle von &amp;quot;http://www.hsr.ch,&amp;quot; =&amp;gt; beachte auch das Komma)&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=Diskussion:RainAlarm&amp;diff=25977</id>
		<title>Diskussion:RainAlarm</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Diskussion:RainAlarm&amp;diff=25977"/>
		<updated>2010-02-08T13:09:29Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* SB To Do */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== SB To Do ==&lt;br /&gt;
&lt;br /&gt;
To Do App.:&lt;br /&gt;
* Erkennen von &amp;quot;No Data&amp;quot; (&amp;quot;Fehlende Daten beim Bundesamt&amp;quot;) des Inputs (z.B. bei Betriebsausfall vom Monte Lama). Siehe z.B. die Abbildung rechts. [[Bild:Zppi_20090909_1310.png|thumb|200px|right| hier]]&lt;br /&gt;
* Ggf. Übernehmen der Klassifikation der Regen- und der Schneeintensität (auch wenn&#039;s nur ein mittlerer Wert pro Ellipse/&#039;niederschlags-Zelle&#039; ist)&lt;br /&gt;
* Filtern von kleinsten Pixelgruppen&lt;br /&gt;
* Erzeugen eines animierten GIFs, vom Web her zugänglich&lt;br /&gt;
* Anpassen des Response-Texts mit Datum/Zeit und (NEU, vgl. unten)&lt;br /&gt;
* Berücksichtigung von Grössenveränderung, Rotation/Richtungsänderung sowie Beschleunigung/Verlangsamung&lt;br /&gt;
* Die Koordinaten müssen innerhalb der Schweiz liegen, also zwischen 45 und 48 Grad Nord und zwischen 4 und 11 Grad Ost.&lt;br /&gt;
* Woher die Ausreisser, bei denen plötzlich kommt &amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot;??&lt;br /&gt;
* Hintergrund fuer Gif (swisstopo)&lt;br /&gt;
&lt;br /&gt;
Unklar:&lt;br /&gt;
* RegionForecast.changePosition =&amp;gt; ?&lt;br /&gt;
* RainAlarm.java =&amp;gt; Texte anpassen: Siehe unten.&lt;br /&gt;
* Refactoring: MrGimoList?&lt;br /&gt;
* Ev. Weglassen der Kategorie &amp;quot;&amp;lt; 1.0 mm/h&amp;quot; im Radarbild (bedeutet kaum Regen) durch Bildvorverarbeitung (Schwellwert dunkler?).&lt;br /&gt;
&lt;br /&gt;
== Ausgabe-Texte ==&lt;br /&gt;
Texte (zusammengesetzt):&lt;br /&gt;
* Niederschlag unwahrscheinlich in den nächsten zwei Stunden! (2010-12-31 17:05+01:00)&lt;br /&gt;
* Niederschlag möglich in ca. 56 Min.; er dauert voraussichtlich ca. 40 Min.! (2010-12-31 17:05+01:00)&lt;br /&gt;
* Niederschlag möglich in ca. 56 Min.; er dauert voraussichtlich über zwei Stunden! (2010-12-31 17:05+01:00)&lt;br /&gt;
* Aktuell Niederschlag; er dauert voraussichtlich noch ca. 23 Min.! (2010-12-31 17:05+01:00)&lt;br /&gt;
* Aktuell Niederschlag; er dauert voraussichtlich noch über zwei Stunden! (2010-12-31 17:05+01:00)&lt;br /&gt;
... gefolgt von &amp;quot;RainAlarm by http://labs.geometa.info/rainalarm (Quellen: SF Meteo und !MeteoSchweiz)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ausnahme-Texte:&lt;br /&gt;
* Und bei Problemen: Es ist ein Problem aufgetreten. Bitte versuchen Sie es später noch einmal.&lt;br /&gt;
* falls ausser Betrieb: Service zurzeit nicht in Betrieb. Versuchen Sie es später noch einmal.&lt;br /&gt;
* falls falsche oder fehlende Koordinaten: Koordinaten fehlen oder falsch. Siehe http://www.gis.hsr.ch/wiki/RainAlarm.&lt;br /&gt;
&lt;br /&gt;
== JSON ==&lt;br /&gt;
&lt;br /&gt;
Auruf: GET &amp;lt;URL&amp;gt;&amp;amp;format=json&lt;br /&gt;
&lt;br /&gt;
=== Beispiel: ===&lt;br /&gt;
&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;message&amp;quot;:&amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot;, &lt;br /&gt;
    &amp;quot;raining&amp;quot;:false,&lt;br /&gt;
    &amp;quot;rainStart&amp;quot;:-1,&lt;br /&gt;
    &amp;quot;rainStop&amp;quot;:-1&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
=== JSON-Attributes: ===&lt;br /&gt;
&lt;br /&gt;
message: string&lt;br /&gt;
* &amp;quot;text&amp;quot; =&amp;gt; enthält die Informationen in Textform&lt;br /&gt;
&lt;br /&gt;
raining: boolean&lt;br /&gt;
* true =&amp;gt; es regnet&lt;br /&gt;
* false =&amp;gt; es regnet nicht&lt;br /&gt;
&lt;br /&gt;
rainStart: integer&lt;br /&gt;
* -1 =&amp;gt; start unbekannt&lt;br /&gt;
* 0 =&amp;gt; zurzeit Niederschlag&lt;br /&gt;
* 1... max =&amp;gt; start in x min&lt;br /&gt;
&lt;br /&gt;
rainStop: integer&lt;br /&gt;
* -1 =&amp;gt; stop Unbekannt&lt;br /&gt;
* 0... max =&amp;gt; stop in x min&lt;br /&gt;
&lt;br /&gt;
== RainAlarm.java ==&lt;br /&gt;
&lt;br /&gt;
Folgende Ausgabe gibt es (abhängig von start und stop):&lt;br /&gt;
* Kein arrivalNowcast (start): &amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot; (start = -1)&lt;br /&gt;
* arrivalNowcast (start):&lt;br /&gt;
** 1. &amp;quot;Aktuell Niederschlag.&amp;quot; (start = 0)&lt;br /&gt;
** 2. &amp;quot;Niederschlag möglich in ca. xx Min.&amp;quot; (start &amp;gt; 0)&lt;br /&gt;
* durationNowcast (stop):&lt;br /&gt;
** 1. &amp;quot;Er dauert voraussichtlich ca. yy Min.!&amp;quot; (stop &amp;gt; start)&lt;br /&gt;
** 2. &amp;quot;Er dauert voraussichtlich mehr als zwei Stunden!&amp;quot; (stop = -1)&lt;br /&gt;
&lt;br /&gt;
http://dev.ifs.hsr.ch/rainalarm/browser/trunk/rainalarm/src/ch/hsr/ifs/rainalarm/&lt;br /&gt;
&lt;br /&gt;
Die aktuelle Revision 76, Zeile 48 ff. sieht so aus:&lt;br /&gt;
    private String createSMS(int[] startStopRain) {&lt;br /&gt;
        int start = startStopRain[0];&lt;br /&gt;
        int stop = startStopRain[1];&lt;br /&gt;
        String duration = &amp;quot;&amp;quot;;&lt;br /&gt;
         &lt;br /&gt;
        if (start == -1)&lt;br /&gt;
            return &amp;quot;Kaum Niederschlag innert 2h.&amp;quot;;&lt;br /&gt;
        if (stop == -1)&lt;br /&gt;
            duration = &amp;quot;lÃ€nger als &amp;quot; + (120 - start) + &amp;quot; Min&amp;quot;;&lt;br /&gt;
        else&lt;br /&gt;
            duration = (stop - start) + &amp;quot;Min.&amp;quot;;&lt;br /&gt;
        if (start == 0)&lt;br /&gt;
            return &amp;quot;Es regnet(schneit) voraussichtlich noch &amp;quot; + duration + SUFFIX;&lt;br /&gt;
        &lt;br /&gt;
        return &amp;quot;Niederschlag mÃ¶glich in ca. &amp;quot; + start + &amp;quot; Min, dauert voraussichtlich &amp;quot; + duration + SUFFIX;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Hier sollte 1. von Niederschlag die Rede sein und 2. sollte start (besser: arrivalNowcast) und stop (besser durationNowcast) angegeben werden - auch im Antwort-Text. Daher Neu, Zeile 48 ff. :&lt;br /&gt;
&lt;br /&gt;
    final int MAXFORECASTDURATION = 120;&lt;br /&gt;
    private String createSMS(int[] startStopRain) {&lt;br /&gt;
        int start = startStopRain[0];&lt;br /&gt;
        int stop = startStopRain[1];&lt;br /&gt;
        String durationText = &amp;quot;&amp;quot;;&lt;br /&gt;
        String text = &amp;quot;&amp;quot;;&lt;br /&gt;
        final int NODATA = -1;&lt;br /&gt;
        &lt;br /&gt;
        // Kein Niederschlag in Sicht&lt;br /&gt;
        if (start == NODATA)&lt;br /&gt;
            return &amp;quot;Niederschlag unwahrscheinlich in den nächsten zwei Stunden!&amp;quot;;&lt;br /&gt;
        &lt;br /&gt;
        // Niederschlag ins Sicht (mit Dauer) oder Niederschlag dauert an (noch Dauer...).&lt;br /&gt;
        if (stop == NODATA || (stop - start) &amp;gt;= MAXFORECASTDURATION) &lt;br /&gt;
            durationText = &amp;quot;; er dauert voraussichtlich lÃ€nger als&amp;quot; + (MAXFORECASTDURATION - start) + &amp;quot; Min.!&amp;quot;;&lt;br /&gt;
        else &lt;br /&gt;
            durationText = &amp;quot;; er dauert voraussichtlich ca. &amp;quot; + (stop - start) + &amp;quot; Min.!&amp;quot;;&lt;br /&gt;
        &lt;br /&gt;
        if (start == 0)&lt;br /&gt;
            text = &amp;quot;Aktuell Niederschlag&amp;quot; + durationText;&lt;br /&gt;
        else &lt;br /&gt;
            text = &amp;quot;Niederschlag mÃ¶glich in ca. &amp;quot; + start + &amp;quot; Min.&amp;quot; + durationText;&lt;br /&gt;
                    &lt;br /&gt;
        return text + SUFFIX;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
== Ideen ==&lt;br /&gt;
&lt;br /&gt;
Website:&lt;br /&gt;
* http://dev.ifs.hsr.ch/rainalarm/browser/trunk/rainalarm-website/src/ch/hsr/ifs/rainalarm/web/QueryHandler.java: 15: &amp;quot;Service zurzeit nicht in Dini Mueter Betrieb...&amp;quot; :-&amp;gt;&lt;br /&gt;
* SMS-Service  =&amp;gt; Reicht das noch dazu? &amp;quot;wenigstens&amp;quot; die standard-signature anpassen zu &amp;quot;www.gis.hsr.ch ,&amp;quot; (anstelle von &amp;quot;http://www.hsr.ch,&amp;quot; =&amp;gt; beachte auch das Komma)&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=Diskussion:Live-Nebelkarte&amp;diff=23912</id>
		<title>Diskussion:Live-Nebelkarte</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Diskussion:Live-Nebelkarte&amp;diff=23912"/>
		<updated>2009-08-14T08:59:32Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* Bugs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Repository (Trac) =&amp;gt; http://sifsv002.hsr.ch/nebelkarte&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
&lt;br /&gt;
* Admin-Seite: &lt;br /&gt;
** Kann keine Webcams löschen&lt;br /&gt;
* Webseite&lt;br /&gt;
** Uhrzeit ist um eine Stunde verschoben&lt;br /&gt;
&lt;br /&gt;
== Tipps zur Suche nach Webcams ==&lt;br /&gt;
* Bewährt:&lt;br /&gt;
** http://www.trzo.ch/xml_1/internet/de/application/d3/d47/f46.cfm&lt;br /&gt;
** http://www.swisswebcams.ch/deutsch/kategorien.php&lt;br /&gt;
** http://ch.webcams.travel/map/#lat=47.256031&amp;amp;lng=8.855521&amp;amp;z=12&amp;amp;t=h&lt;br /&gt;
** http://del.icio.us/sfkeller/webcam&lt;br /&gt;
** [http://www.opentopia.com/hiddencam.php?seewhat=newest&amp;amp;country=Switzerland&amp;amp;showmode=standard&amp;amp;screen=1 opentopia.com (Schweiz)]&lt;br /&gt;
* Weitere Tipps&lt;br /&gt;
** [http://www.pixeljunkie.de/2006/02/06/google-webcam-hack/]&lt;br /&gt;
&lt;br /&gt;
== Wahl der Kamera und des Bildausschnitts ==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Webcam_mit_Segment.png|thumb|Webcam mit Segment zur Nebelerkennung]]&lt;br /&gt;
&lt;br /&gt;
Eine Webkamera muss folgende Kriterien erfüllen:&lt;br /&gt;
* möglichst horizontal ausgerichtet sein;&lt;br /&gt;
* Bilder im JPG-Format und in VGA-Auflösung liefern;&lt;br /&gt;
* in ca. 1 km Entfernung ein gut sichtbares Objekt (Sichtmarke) enthalten; &lt;br /&gt;
* stationär sein, d.h. sich für eine bestimmte URL über die Zeit nicht bewegen.&lt;br /&gt;
* immer unter derselben URL zu erreichen sein&lt;br /&gt;
* Bild darf eine Mindestgrösse nicht unterschreiten&lt;br /&gt;
* es muss ein Objekt darauf sichtbar sein, dass als 1 km entfernt taxiert werden kann&lt;br /&gt;
* darf nur im horizontalen Blickfeld einen Bildausschnitt zeigen&lt;br /&gt;
* Kamera übersteuert nicht &lt;br /&gt;
&lt;br /&gt;
Bildausschnitt (Segment): Die Angaben der Bounding-Box zeigen die Anzahl Pixel der Segment-Ecken vom oberen bzw. linken Rand aus gemessen. Folgende Regeln sind zu beachten bei der Bestimmung des Segments:&lt;br /&gt;
* soll nicht kleinere Kanten als ca. 20 Pixel haben&lt;br /&gt;
* soll ein oder mehrere Objekte enthalten, die 1 km entfernt sind&lt;br /&gt;
* keine Hintergrundobjekte, es darf nur wenig entfernte Flächen enthalten&lt;br /&gt;
* es darf nur eine Ebene im Bildbereich drin sein, keine Objekte im Vordergrund&lt;br /&gt;
* der Himmel darf nicht mehr als 20% der Boxfläche betragen&lt;br /&gt;
* die Box muss das Objekt sauber umschliessen, ohne grosse Ränder&lt;br /&gt;
* keine temporären Objekte, z.B. Baukran oder Fahnenmasten&lt;br /&gt;
&lt;br /&gt;
== Vorschläge für zusätzliche Webcams ==&lt;br /&gt;
Nachfolgend sammeln wir Vorschläge für zusätzliche Webcams, die in die Nebelkarte eingebaut werden sollen. &lt;br /&gt;
Dabei ist zu beachten, dass sie den Kriterien entsprechen, die im Kapitel xxx auf der [[Live-Nebelkarte]] festgehalten wurden.&lt;br /&gt;
&lt;br /&gt;
Wir kontrollieren periodisch - d.h. so ca. alle paar Wochen - diese Vorschläge und integrieren sie in unseren Webcrawler, bzw. die Nebelkarten-Datenbank.&lt;br /&gt;
&lt;br /&gt;
* http://webcam.kusti.ch/index.php?SHOW=wernetshausen.jpg&lt;br /&gt;
&lt;br /&gt;
== Weiterentwicklung ==&lt;br /&gt;
&lt;br /&gt;
Daten:&lt;br /&gt;
* Webcam-Koordinaten genauer eingeben, vgl. [http://213.239.211.227/nebelkarte/webcamDetails.php?wid=22], Rapperswil, das im Schilf liegt: http://213.239.211.227/nebelkarte/index.php?wid=22&lt;br /&gt;
&lt;br /&gt;
Webapplikation:&lt;br /&gt;
* Anzeige (im Detail/hover) einer &amp;quot;Tagesnebel-Statistik&amp;quot;, z.B. Nebel während ca. 3.4h (Genauigkeit +/- 1h)&lt;br /&gt;
* Anzeige der drei/vier Nebel-Abstandsklassen z.B. über Farbe und Form des Icons&lt;br /&gt;
* hover-Elemente mit Einblenden der Nebelklassierung, ev. des Webcam-Bilds&lt;br /&gt;
* Erkennen, ob Datum des Webcam-Bilds aktuell ist, bzw. sich geändert hat&lt;br /&gt;
&lt;br /&gt;
Webservices:&lt;br /&gt;
* .js-Webservice als include in HTML erweitern (vgl. Mail Dominik).&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=Datei:Import_excel_to_postgres.zip&amp;diff=23893</id>
		<title>Datei:Import excel to postgres.zip</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Datei:Import_excel_to_postgres.zip&amp;diff=23893"/>
		<updated>2009-08-13T08:35:56Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: hat eine neue Version von „Bild:Import excel to postgres.zip“ hochgeladen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=Datei:Export_Uebersicht.zip&amp;diff=23888</id>
		<title>Datei:Export Uebersicht.zip</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Datei:Export_Uebersicht.zip&amp;diff=23888"/>
		<updated>2009-08-12T13:28:02Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: hat eine neue Version von „Bild:Export Uebersicht.zip“ hochgeladen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=Datei:Export_Uebersicht.zip&amp;diff=23887</id>
		<title>Datei:Export Uebersicht.zip</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Datei:Export_Uebersicht.zip&amp;diff=23887"/>
		<updated>2009-08-12T13:27:40Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: hat eine neue Version von „Bild:Export Uebersicht.zip“ hochgeladen: zurückgesetzt auf die Version vom 12. August 2009, 13:23 Uhr&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=Datei:Export_Uebersicht.zip&amp;diff=23886</id>
		<title>Datei:Export Uebersicht.zip</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Datei:Export_Uebersicht.zip&amp;diff=23886"/>
		<updated>2009-08-12T13:27:29Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: hat eine neue Version von „Bild:Export Uebersicht.zip“ hochgeladen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=Datei:Export_Uebersicht.zip&amp;diff=23885</id>
		<title>Datei:Export Uebersicht.zip</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Datei:Export_Uebersicht.zip&amp;diff=23885"/>
		<updated>2009-08-12T13:23:30Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: hat eine neue Version von „Bild:Export Uebersicht.zip“ hochgeladen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23884</id>
		<title>RABEST-Installation</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23884"/>
		<updated>2009-08-12T12:47:06Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* &amp;#039;Export Übersicht&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zurück zu [[RABEST]]&lt;br /&gt;
&lt;br /&gt;
== Uebersicht ==&lt;br /&gt;
&lt;br /&gt;
=== Rohdaten zu DB mit kettle ===&lt;br /&gt;
&lt;br /&gt;
* Input: &lt;br /&gt;
** Gemeinde/Einwohner/Migrations-Rohdaten von Kantonen oder Gemeinde (Excel, CSV oder DUMPs)&lt;br /&gt;
** Daten vom BFS&lt;br /&gt;
** kettle-Skripts&lt;br /&gt;
** Handarbeit! (v.a. Gemeindenamen und Fusionen)&lt;br /&gt;
* Resultat: RABEST-DB (Haupttabelle Bevoelkerung)&lt;br /&gt;
&lt;br /&gt;
tbd.&lt;br /&gt;
&lt;br /&gt;
=== Analyse DB (Gemeindedaten) ===&lt;br /&gt;
&lt;br /&gt;
* Input: RABEST-DB (Statistik/Ist-Zusand)&lt;br /&gt;
* Resultat: je eine Excel- und Chart-Datei pro Gemeinde &lt;br /&gt;
&lt;br /&gt;
=== Bevölkerungs-Entwicklungsprognose ===&lt;br /&gt;
&lt;br /&gt;
* Input: Excel-Datei pro Gemeinde &lt;br /&gt;
* Resultat: RABEST-DB Prognose&lt;br /&gt;
&lt;br /&gt;
Realisiert und auslieferbereit.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation &#039;Analyse DB (Gemeindedaten)&#039; ==&lt;br /&gt;
&lt;br /&gt;
Dieses Programm erstellt aus den in PostgreSQL-DB verwalteten RABEST-Gemeindedaten und einer Vorlage (Fall1 und Fall2) einen Ordner mit je einer Excel- und Chart-Datei pro Gemeinde (Beispiel: Rapperswil_Jona.xls und Rapperswil_Jona.gif). Der Chart entspricht dem Inhalt des Worksheets &amp;quot;Diagramm_allgemein&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Bedienung:&lt;br /&gt;
* Einschränkung der Anfrage: siehe SQL in Datei query_gemeinden.txt z.B. nur Kanton St. Gallen:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE k.ktkz = &#039;SG&#039;::bpchar&lt;br /&gt;
 ORDER BY g.gdename;&lt;br /&gt;
* ... oder nur Rapperswil:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE g.gdename = &#039;Rapperswil (SG)&#039;;&lt;br /&gt;
&lt;br /&gt;
Software:&lt;br /&gt;
* PostgreSQL&lt;br /&gt;
* Excel 2003&lt;br /&gt;
&lt;br /&gt;
Zu beachten:&lt;br /&gt;
* PostgreSQL Server gestartet? (einmalig einrichten)&lt;br /&gt;
* In VB-Editor: Menu Tools &amp;gt; References &amp;gt; Microsoft ActiveX Data Objects 2.8 Library anwählen (einmalig; sonst ERROR &amp;quot;User-defined type not defined&amp;quot; o.ä.) &lt;br /&gt;
* Microsoft Office-Installation &amp;gt; Office Shared Features &amp;gt; Converters and Filter &amp;gt; Graphics Filters &amp;gt; Graphics Interchange Format (GIF) File Import (sonst ERROR &amp;quot;Objekt unterstützt diese Methode nicht...&amp;quot; o.ä.)&lt;br /&gt;
* Achtung: Inhalt des output-Ordners wird überschrieben!&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
&lt;br /&gt;
Das Zusammenspiel von Postgres und Excel ist aus folgender Graphik ersichtlich:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Excel_postgres.png]]&lt;br /&gt;
&lt;br /&gt;
Zum einen werden die Gemeindedaten aus der Datenbank in eine Vorlage überführt (Pfeile nach rechts) und pro Gemeinde gespeichert. Ausserdem (Pfeil nach links) können gewisse berechnete Daten wieder aus den Gemeinde-Excel-Dateien in die Datenbank abgefüllt werden.&lt;br /&gt;
&lt;br /&gt;
=== Makros und Skripts ===&lt;br /&gt;
&lt;br /&gt;
Die Excel-Vorlage &#039;&#039;*_vorlage_autom_bev_persp.xls&#039;&#039; enthält zwei Makros für die Generierung der Gemeinden-Exceldateien und Diagramme. Ausserdem besteht die Möglichkeit, die generierten Trends (Perspektive nat. Entwicklung, optimistischer- und pessimistischer Trend) aus den Excel-Dateien wieder zurück in die Postgres-Datenbank zu überführen. &lt;br /&gt;
&lt;br /&gt;
==== Trenddaten-Export von Excel nach Postgres ====&lt;br /&gt;
&lt;br /&gt;
Installation/Start: &lt;br /&gt;
* Herunterladen von import_excel_to_postgres.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Zus. Tabellen in RABEST-DB erstellen (siehe unten &#039;Vor dem ersten Durchlauf müssen,...&#039;)&lt;br /&gt;
* Doppelklick auf import_excel_to_postgres.vbs&lt;br /&gt;
** Tipp: Falls &amp;quot;Error &#039;ODBC/.dll nicht gefunden...&#039; PgOleDB.dll und ... herunterladen von [http://pgfoundry.org/frs/?group_id=1000085&amp;amp;release_id=539 pgfoundry]und in $PGHOME/bin-Verzeichnis kopieren.&lt;br /&gt;
* Resultat: die drei unten genannten Tabellen sind (neu) gefüllt mit den Trenddaten.&lt;br /&gt;
&lt;br /&gt;
Vorbereitung: Das &#039;&#039;import_excel_to_postgres.vbs&#039;&#039; Skript, welches einfach ausgeführt werden kann und den Fortschritt in einem Fenster anzeigt, füllt die generierten Daten aus Excel wieder zurück in die Postgres-Datenbank ab. &lt;br /&gt;
&lt;br /&gt;
Vor dem ersten Durchlauf müssen, falls dies nicht bereits geschehen ist, vier Tabellen für die Resultate erstellt werden:&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_natuerlich&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_optimistisch&lt;br /&gt;
 (&lt;br /&gt;
    gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_pessimistisch&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_mittel&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist, dass alle Daten eines früheren Durchlaufs gelöscht werden. Weitere Informationen (Verbindungs-Paramter, etc.) finden sich direkt im Skript (einfach mit Text-Editor öffnen).&lt;br /&gt;
&lt;br /&gt;
  [[Media:Import_excel_to_postgres.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;PostgresImport&#039; ====&lt;br /&gt;
&lt;br /&gt;
Öffnet eine Verbindung zum Postgres-Server und generiert für alle Gemeinden, die durch &#039;&#039;query_gemeinden.txt&#039;&#039; vorgegeben werden. Im Ordner &#039;&#039;output&#039;&#039; wird pro Gemeinde eine Kopie der Vorlage, gefüllt mit den Daten, abgelegt. Ausserdem wird zugleich ein Bild-Export der Diagramm-Varianten durchgeführt. Je nach Anzahl Gemeinden dauert dieser Vorgang einige Minuten, in dieser Zeit sollte mit dem laufenden Excel nicht weitergearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Um allfällige Problemen bei der Weiterverarbeitung auszuschliessen, werden alle Sonderzeichen sowie Klammern aus den Gemeindenamen im Dateinamen ersetzt.&lt;br /&gt;
&lt;br /&gt;
Bereits vorhandene Dateien im &#039;&#039;output&#039;&#039;-Ordner werden ohne Rückfrage überschrieben.&lt;br /&gt;
&lt;br /&gt;
Von den drei existierenden &#039;query_*.txt&#039; Dateien darf nur &#039;&#039;query_gemeinden.txt&#039;&#039; angepasst werden um die betroffenen Gemeinden auszuwählen.&lt;br /&gt;
&lt;br /&gt;
==== &#039;ExportJPG&#039; ====&lt;br /&gt;
&lt;br /&gt;
Falls der bereits erfolgte Export des Diagramms aktualisiert werden soll, kann dies mit dem ExportJPG-Makro gemacht werden.&lt;br /&gt;
&lt;br /&gt;
  [[Media:ExportJPG.bas.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;Export Übersicht&#039;====&lt;br /&gt;
Exportiert Entwicklungsübersicht für einen Ordner voll Excelfiles in neues Excelfile.&lt;br /&gt;
&lt;br /&gt;
Installation/Start:&lt;br /&gt;
* Herunterladen von export_uebersicht.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Doppelklick auf export_uebersicht.vbs&lt;br /&gt;
  &lt;br /&gt;
  [[Media:Export_Uebersicht.zip‎]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  [[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23883</id>
		<title>RABEST-Installation</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23883"/>
		<updated>2009-08-12T12:46:54Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* &amp;#039;ExportJPG&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zurück zu [[RABEST]]&lt;br /&gt;
&lt;br /&gt;
== Uebersicht ==&lt;br /&gt;
&lt;br /&gt;
=== Rohdaten zu DB mit kettle ===&lt;br /&gt;
&lt;br /&gt;
* Input: &lt;br /&gt;
** Gemeinde/Einwohner/Migrations-Rohdaten von Kantonen oder Gemeinde (Excel, CSV oder DUMPs)&lt;br /&gt;
** Daten vom BFS&lt;br /&gt;
** kettle-Skripts&lt;br /&gt;
** Handarbeit! (v.a. Gemeindenamen und Fusionen)&lt;br /&gt;
* Resultat: RABEST-DB (Haupttabelle Bevoelkerung)&lt;br /&gt;
&lt;br /&gt;
tbd.&lt;br /&gt;
&lt;br /&gt;
=== Analyse DB (Gemeindedaten) ===&lt;br /&gt;
&lt;br /&gt;
* Input: RABEST-DB (Statistik/Ist-Zusand)&lt;br /&gt;
* Resultat: je eine Excel- und Chart-Datei pro Gemeinde &lt;br /&gt;
&lt;br /&gt;
=== Bevölkerungs-Entwicklungsprognose ===&lt;br /&gt;
&lt;br /&gt;
* Input: Excel-Datei pro Gemeinde &lt;br /&gt;
* Resultat: RABEST-DB Prognose&lt;br /&gt;
&lt;br /&gt;
Realisiert und auslieferbereit.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation &#039;Analyse DB (Gemeindedaten)&#039; ==&lt;br /&gt;
&lt;br /&gt;
Dieses Programm erstellt aus den in PostgreSQL-DB verwalteten RABEST-Gemeindedaten und einer Vorlage (Fall1 und Fall2) einen Ordner mit je einer Excel- und Chart-Datei pro Gemeinde (Beispiel: Rapperswil_Jona.xls und Rapperswil_Jona.gif). Der Chart entspricht dem Inhalt des Worksheets &amp;quot;Diagramm_allgemein&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Bedienung:&lt;br /&gt;
* Einschränkung der Anfrage: siehe SQL in Datei query_gemeinden.txt z.B. nur Kanton St. Gallen:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE k.ktkz = &#039;SG&#039;::bpchar&lt;br /&gt;
 ORDER BY g.gdename;&lt;br /&gt;
* ... oder nur Rapperswil:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE g.gdename = &#039;Rapperswil (SG)&#039;;&lt;br /&gt;
&lt;br /&gt;
Software:&lt;br /&gt;
* PostgreSQL&lt;br /&gt;
* Excel 2003&lt;br /&gt;
&lt;br /&gt;
Zu beachten:&lt;br /&gt;
* PostgreSQL Server gestartet? (einmalig einrichten)&lt;br /&gt;
* In VB-Editor: Menu Tools &amp;gt; References &amp;gt; Microsoft ActiveX Data Objects 2.8 Library anwählen (einmalig; sonst ERROR &amp;quot;User-defined type not defined&amp;quot; o.ä.) &lt;br /&gt;
* Microsoft Office-Installation &amp;gt; Office Shared Features &amp;gt; Converters and Filter &amp;gt; Graphics Filters &amp;gt; Graphics Interchange Format (GIF) File Import (sonst ERROR &amp;quot;Objekt unterstützt diese Methode nicht...&amp;quot; o.ä.)&lt;br /&gt;
* Achtung: Inhalt des output-Ordners wird überschrieben!&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
&lt;br /&gt;
Das Zusammenspiel von Postgres und Excel ist aus folgender Graphik ersichtlich:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Excel_postgres.png]]&lt;br /&gt;
&lt;br /&gt;
Zum einen werden die Gemeindedaten aus der Datenbank in eine Vorlage überführt (Pfeile nach rechts) und pro Gemeinde gespeichert. Ausserdem (Pfeil nach links) können gewisse berechnete Daten wieder aus den Gemeinde-Excel-Dateien in die Datenbank abgefüllt werden.&lt;br /&gt;
&lt;br /&gt;
=== Makros und Skripts ===&lt;br /&gt;
&lt;br /&gt;
Die Excel-Vorlage &#039;&#039;*_vorlage_autom_bev_persp.xls&#039;&#039; enthält zwei Makros für die Generierung der Gemeinden-Exceldateien und Diagramme. Ausserdem besteht die Möglichkeit, die generierten Trends (Perspektive nat. Entwicklung, optimistischer- und pessimistischer Trend) aus den Excel-Dateien wieder zurück in die Postgres-Datenbank zu überführen. &lt;br /&gt;
&lt;br /&gt;
==== Trenddaten-Export von Excel nach Postgres ====&lt;br /&gt;
&lt;br /&gt;
Installation/Start: &lt;br /&gt;
* Herunterladen von import_excel_to_postgres.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Zus. Tabellen in RABEST-DB erstellen (siehe unten &#039;Vor dem ersten Durchlauf müssen,...&#039;)&lt;br /&gt;
* Doppelklick auf import_excel_to_postgres.vbs&lt;br /&gt;
** Tipp: Falls &amp;quot;Error &#039;ODBC/.dll nicht gefunden...&#039; PgOleDB.dll und ... herunterladen von [http://pgfoundry.org/frs/?group_id=1000085&amp;amp;release_id=539 pgfoundry]und in $PGHOME/bin-Verzeichnis kopieren.&lt;br /&gt;
* Resultat: die drei unten genannten Tabellen sind (neu) gefüllt mit den Trenddaten.&lt;br /&gt;
&lt;br /&gt;
Vorbereitung: Das &#039;&#039;import_excel_to_postgres.vbs&#039;&#039; Skript, welches einfach ausgeführt werden kann und den Fortschritt in einem Fenster anzeigt, füllt die generierten Daten aus Excel wieder zurück in die Postgres-Datenbank ab. &lt;br /&gt;
&lt;br /&gt;
Vor dem ersten Durchlauf müssen, falls dies nicht bereits geschehen ist, vier Tabellen für die Resultate erstellt werden:&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_natuerlich&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_optimistisch&lt;br /&gt;
 (&lt;br /&gt;
    gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_pessimistisch&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_mittel&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist, dass alle Daten eines früheren Durchlaufs gelöscht werden. Weitere Informationen (Verbindungs-Paramter, etc.) finden sich direkt im Skript (einfach mit Text-Editor öffnen).&lt;br /&gt;
&lt;br /&gt;
  [[Media:Import_excel_to_postgres.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;PostgresImport&#039; ====&lt;br /&gt;
&lt;br /&gt;
Öffnet eine Verbindung zum Postgres-Server und generiert für alle Gemeinden, die durch &#039;&#039;query_gemeinden.txt&#039;&#039; vorgegeben werden. Im Ordner &#039;&#039;output&#039;&#039; wird pro Gemeinde eine Kopie der Vorlage, gefüllt mit den Daten, abgelegt. Ausserdem wird zugleich ein Bild-Export der Diagramm-Varianten durchgeführt. Je nach Anzahl Gemeinden dauert dieser Vorgang einige Minuten, in dieser Zeit sollte mit dem laufenden Excel nicht weitergearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Um allfällige Problemen bei der Weiterverarbeitung auszuschliessen, werden alle Sonderzeichen sowie Klammern aus den Gemeindenamen im Dateinamen ersetzt.&lt;br /&gt;
&lt;br /&gt;
Bereits vorhandene Dateien im &#039;&#039;output&#039;&#039;-Ordner werden ohne Rückfrage überschrieben.&lt;br /&gt;
&lt;br /&gt;
Von den drei existierenden &#039;query_*.txt&#039; Dateien darf nur &#039;&#039;query_gemeinden.txt&#039;&#039; angepasst werden um die betroffenen Gemeinden auszuwählen.&lt;br /&gt;
&lt;br /&gt;
==== &#039;ExportJPG&#039; ====&lt;br /&gt;
&lt;br /&gt;
Falls der bereits erfolgte Export des Diagramms aktualisiert werden soll, kann dies mit dem ExportJPG-Makro gemacht werden.&lt;br /&gt;
&lt;br /&gt;
  [[Media:ExportJPG.bas.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;Export Übersicht&#039;====&lt;br /&gt;
Exportiert Entwicklungsübersicht für einen Ordner voll Excelfiles in neues Excelfile.&lt;br /&gt;
&lt;br /&gt;
Installation/Start:&lt;br /&gt;
* Herunterladen von export_uebersicht.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Doppelklick auf export_uebersicht.vbs&lt;br /&gt;
  &lt;br /&gt;
  [[Media:Export_Uebersicht.zip‎]]&lt;br /&gt;
  [[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23882</id>
		<title>RABEST-Installation</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23882"/>
		<updated>2009-08-12T12:46:43Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* &amp;#039;Export Übersicht&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zurück zu [[RABEST]]&lt;br /&gt;
&lt;br /&gt;
== Uebersicht ==&lt;br /&gt;
&lt;br /&gt;
=== Rohdaten zu DB mit kettle ===&lt;br /&gt;
&lt;br /&gt;
* Input: &lt;br /&gt;
** Gemeinde/Einwohner/Migrations-Rohdaten von Kantonen oder Gemeinde (Excel, CSV oder DUMPs)&lt;br /&gt;
** Daten vom BFS&lt;br /&gt;
** kettle-Skripts&lt;br /&gt;
** Handarbeit! (v.a. Gemeindenamen und Fusionen)&lt;br /&gt;
* Resultat: RABEST-DB (Haupttabelle Bevoelkerung)&lt;br /&gt;
&lt;br /&gt;
tbd.&lt;br /&gt;
&lt;br /&gt;
=== Analyse DB (Gemeindedaten) ===&lt;br /&gt;
&lt;br /&gt;
* Input: RABEST-DB (Statistik/Ist-Zusand)&lt;br /&gt;
* Resultat: je eine Excel- und Chart-Datei pro Gemeinde &lt;br /&gt;
&lt;br /&gt;
=== Bevölkerungs-Entwicklungsprognose ===&lt;br /&gt;
&lt;br /&gt;
* Input: Excel-Datei pro Gemeinde &lt;br /&gt;
* Resultat: RABEST-DB Prognose&lt;br /&gt;
&lt;br /&gt;
Realisiert und auslieferbereit.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation &#039;Analyse DB (Gemeindedaten)&#039; ==&lt;br /&gt;
&lt;br /&gt;
Dieses Programm erstellt aus den in PostgreSQL-DB verwalteten RABEST-Gemeindedaten und einer Vorlage (Fall1 und Fall2) einen Ordner mit je einer Excel- und Chart-Datei pro Gemeinde (Beispiel: Rapperswil_Jona.xls und Rapperswil_Jona.gif). Der Chart entspricht dem Inhalt des Worksheets &amp;quot;Diagramm_allgemein&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Bedienung:&lt;br /&gt;
* Einschränkung der Anfrage: siehe SQL in Datei query_gemeinden.txt z.B. nur Kanton St. Gallen:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE k.ktkz = &#039;SG&#039;::bpchar&lt;br /&gt;
 ORDER BY g.gdename;&lt;br /&gt;
* ... oder nur Rapperswil:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE g.gdename = &#039;Rapperswil (SG)&#039;;&lt;br /&gt;
&lt;br /&gt;
Software:&lt;br /&gt;
* PostgreSQL&lt;br /&gt;
* Excel 2003&lt;br /&gt;
&lt;br /&gt;
Zu beachten:&lt;br /&gt;
* PostgreSQL Server gestartet? (einmalig einrichten)&lt;br /&gt;
* In VB-Editor: Menu Tools &amp;gt; References &amp;gt; Microsoft ActiveX Data Objects 2.8 Library anwählen (einmalig; sonst ERROR &amp;quot;User-defined type not defined&amp;quot; o.ä.) &lt;br /&gt;
* Microsoft Office-Installation &amp;gt; Office Shared Features &amp;gt; Converters and Filter &amp;gt; Graphics Filters &amp;gt; Graphics Interchange Format (GIF) File Import (sonst ERROR &amp;quot;Objekt unterstützt diese Methode nicht...&amp;quot; o.ä.)&lt;br /&gt;
* Achtung: Inhalt des output-Ordners wird überschrieben!&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
&lt;br /&gt;
Das Zusammenspiel von Postgres und Excel ist aus folgender Graphik ersichtlich:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Excel_postgres.png]]&lt;br /&gt;
&lt;br /&gt;
Zum einen werden die Gemeindedaten aus der Datenbank in eine Vorlage überführt (Pfeile nach rechts) und pro Gemeinde gespeichert. Ausserdem (Pfeil nach links) können gewisse berechnete Daten wieder aus den Gemeinde-Excel-Dateien in die Datenbank abgefüllt werden.&lt;br /&gt;
&lt;br /&gt;
=== Makros und Skripts ===&lt;br /&gt;
&lt;br /&gt;
Die Excel-Vorlage &#039;&#039;*_vorlage_autom_bev_persp.xls&#039;&#039; enthält zwei Makros für die Generierung der Gemeinden-Exceldateien und Diagramme. Ausserdem besteht die Möglichkeit, die generierten Trends (Perspektive nat. Entwicklung, optimistischer- und pessimistischer Trend) aus den Excel-Dateien wieder zurück in die Postgres-Datenbank zu überführen. &lt;br /&gt;
&lt;br /&gt;
==== Trenddaten-Export von Excel nach Postgres ====&lt;br /&gt;
&lt;br /&gt;
Installation/Start: &lt;br /&gt;
* Herunterladen von import_excel_to_postgres.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Zus. Tabellen in RABEST-DB erstellen (siehe unten &#039;Vor dem ersten Durchlauf müssen,...&#039;)&lt;br /&gt;
* Doppelklick auf import_excel_to_postgres.vbs&lt;br /&gt;
** Tipp: Falls &amp;quot;Error &#039;ODBC/.dll nicht gefunden...&#039; PgOleDB.dll und ... herunterladen von [http://pgfoundry.org/frs/?group_id=1000085&amp;amp;release_id=539 pgfoundry]und in $PGHOME/bin-Verzeichnis kopieren.&lt;br /&gt;
* Resultat: die drei unten genannten Tabellen sind (neu) gefüllt mit den Trenddaten.&lt;br /&gt;
&lt;br /&gt;
Vorbereitung: Das &#039;&#039;import_excel_to_postgres.vbs&#039;&#039; Skript, welches einfach ausgeführt werden kann und den Fortschritt in einem Fenster anzeigt, füllt die generierten Daten aus Excel wieder zurück in die Postgres-Datenbank ab. &lt;br /&gt;
&lt;br /&gt;
Vor dem ersten Durchlauf müssen, falls dies nicht bereits geschehen ist, vier Tabellen für die Resultate erstellt werden:&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_natuerlich&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_optimistisch&lt;br /&gt;
 (&lt;br /&gt;
    gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_pessimistisch&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_mittel&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist, dass alle Daten eines früheren Durchlaufs gelöscht werden. Weitere Informationen (Verbindungs-Paramter, etc.) finden sich direkt im Skript (einfach mit Text-Editor öffnen).&lt;br /&gt;
&lt;br /&gt;
  [[Media:Import_excel_to_postgres.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;PostgresImport&#039; ====&lt;br /&gt;
&lt;br /&gt;
Öffnet eine Verbindung zum Postgres-Server und generiert für alle Gemeinden, die durch &#039;&#039;query_gemeinden.txt&#039;&#039; vorgegeben werden. Im Ordner &#039;&#039;output&#039;&#039; wird pro Gemeinde eine Kopie der Vorlage, gefüllt mit den Daten, abgelegt. Ausserdem wird zugleich ein Bild-Export der Diagramm-Varianten durchgeführt. Je nach Anzahl Gemeinden dauert dieser Vorgang einige Minuten, in dieser Zeit sollte mit dem laufenden Excel nicht weitergearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Um allfällige Problemen bei der Weiterverarbeitung auszuschliessen, werden alle Sonderzeichen sowie Klammern aus den Gemeindenamen im Dateinamen ersetzt.&lt;br /&gt;
&lt;br /&gt;
Bereits vorhandene Dateien im &#039;&#039;output&#039;&#039;-Ordner werden ohne Rückfrage überschrieben.&lt;br /&gt;
&lt;br /&gt;
Von den drei existierenden &#039;query_*.txt&#039; Dateien darf nur &#039;&#039;query_gemeinden.txt&#039;&#039; angepasst werden um die betroffenen Gemeinden auszuwählen.&lt;br /&gt;
&lt;br /&gt;
==== &#039;ExportJPG&#039; ====&lt;br /&gt;
&lt;br /&gt;
Falls der bereits erfolgte Export des Diagramms aktualisiert werden soll, kann dies mit dem ExportJPG-Makro gemacht werden.&lt;br /&gt;
[[Media:ExportJPG.bas.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;Export Übersicht&#039;====&lt;br /&gt;
Exportiert Entwicklungsübersicht für einen Ordner voll Excelfiles in neues Excelfile.&lt;br /&gt;
&lt;br /&gt;
Installation/Start:&lt;br /&gt;
* Herunterladen von export_uebersicht.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Doppelklick auf export_uebersicht.vbs&lt;br /&gt;
  &lt;br /&gt;
  [[Media:Export_Uebersicht.zip‎]]&lt;br /&gt;
  [[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23881</id>
		<title>RABEST-Installation</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23881"/>
		<updated>2009-08-12T12:46:10Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* &amp;#039;Export Übersicht&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zurück zu [[RABEST]]&lt;br /&gt;
&lt;br /&gt;
== Uebersicht ==&lt;br /&gt;
&lt;br /&gt;
=== Rohdaten zu DB mit kettle ===&lt;br /&gt;
&lt;br /&gt;
* Input: &lt;br /&gt;
** Gemeinde/Einwohner/Migrations-Rohdaten von Kantonen oder Gemeinde (Excel, CSV oder DUMPs)&lt;br /&gt;
** Daten vom BFS&lt;br /&gt;
** kettle-Skripts&lt;br /&gt;
** Handarbeit! (v.a. Gemeindenamen und Fusionen)&lt;br /&gt;
* Resultat: RABEST-DB (Haupttabelle Bevoelkerung)&lt;br /&gt;
&lt;br /&gt;
tbd.&lt;br /&gt;
&lt;br /&gt;
=== Analyse DB (Gemeindedaten) ===&lt;br /&gt;
&lt;br /&gt;
* Input: RABEST-DB (Statistik/Ist-Zusand)&lt;br /&gt;
* Resultat: je eine Excel- und Chart-Datei pro Gemeinde &lt;br /&gt;
&lt;br /&gt;
=== Bevölkerungs-Entwicklungsprognose ===&lt;br /&gt;
&lt;br /&gt;
* Input: Excel-Datei pro Gemeinde &lt;br /&gt;
* Resultat: RABEST-DB Prognose&lt;br /&gt;
&lt;br /&gt;
Realisiert und auslieferbereit.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation &#039;Analyse DB (Gemeindedaten)&#039; ==&lt;br /&gt;
&lt;br /&gt;
Dieses Programm erstellt aus den in PostgreSQL-DB verwalteten RABEST-Gemeindedaten und einer Vorlage (Fall1 und Fall2) einen Ordner mit je einer Excel- und Chart-Datei pro Gemeinde (Beispiel: Rapperswil_Jona.xls und Rapperswil_Jona.gif). Der Chart entspricht dem Inhalt des Worksheets &amp;quot;Diagramm_allgemein&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Bedienung:&lt;br /&gt;
* Einschränkung der Anfrage: siehe SQL in Datei query_gemeinden.txt z.B. nur Kanton St. Gallen:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE k.ktkz = &#039;SG&#039;::bpchar&lt;br /&gt;
 ORDER BY g.gdename;&lt;br /&gt;
* ... oder nur Rapperswil:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE g.gdename = &#039;Rapperswil (SG)&#039;;&lt;br /&gt;
&lt;br /&gt;
Software:&lt;br /&gt;
* PostgreSQL&lt;br /&gt;
* Excel 2003&lt;br /&gt;
&lt;br /&gt;
Zu beachten:&lt;br /&gt;
* PostgreSQL Server gestartet? (einmalig einrichten)&lt;br /&gt;
* In VB-Editor: Menu Tools &amp;gt; References &amp;gt; Microsoft ActiveX Data Objects 2.8 Library anwählen (einmalig; sonst ERROR &amp;quot;User-defined type not defined&amp;quot; o.ä.) &lt;br /&gt;
* Microsoft Office-Installation &amp;gt; Office Shared Features &amp;gt; Converters and Filter &amp;gt; Graphics Filters &amp;gt; Graphics Interchange Format (GIF) File Import (sonst ERROR &amp;quot;Objekt unterstützt diese Methode nicht...&amp;quot; o.ä.)&lt;br /&gt;
* Achtung: Inhalt des output-Ordners wird überschrieben!&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
&lt;br /&gt;
Das Zusammenspiel von Postgres und Excel ist aus folgender Graphik ersichtlich:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Excel_postgres.png]]&lt;br /&gt;
&lt;br /&gt;
Zum einen werden die Gemeindedaten aus der Datenbank in eine Vorlage überführt (Pfeile nach rechts) und pro Gemeinde gespeichert. Ausserdem (Pfeil nach links) können gewisse berechnete Daten wieder aus den Gemeinde-Excel-Dateien in die Datenbank abgefüllt werden.&lt;br /&gt;
&lt;br /&gt;
=== Makros und Skripts ===&lt;br /&gt;
&lt;br /&gt;
Die Excel-Vorlage &#039;&#039;*_vorlage_autom_bev_persp.xls&#039;&#039; enthält zwei Makros für die Generierung der Gemeinden-Exceldateien und Diagramme. Ausserdem besteht die Möglichkeit, die generierten Trends (Perspektive nat. Entwicklung, optimistischer- und pessimistischer Trend) aus den Excel-Dateien wieder zurück in die Postgres-Datenbank zu überführen. &lt;br /&gt;
&lt;br /&gt;
==== Trenddaten-Export von Excel nach Postgres ====&lt;br /&gt;
&lt;br /&gt;
Installation/Start: &lt;br /&gt;
* Herunterladen von import_excel_to_postgres.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Zus. Tabellen in RABEST-DB erstellen (siehe unten &#039;Vor dem ersten Durchlauf müssen,...&#039;)&lt;br /&gt;
* Doppelklick auf import_excel_to_postgres.vbs&lt;br /&gt;
** Tipp: Falls &amp;quot;Error &#039;ODBC/.dll nicht gefunden...&#039; PgOleDB.dll und ... herunterladen von [http://pgfoundry.org/frs/?group_id=1000085&amp;amp;release_id=539 pgfoundry]und in $PGHOME/bin-Verzeichnis kopieren.&lt;br /&gt;
* Resultat: die drei unten genannten Tabellen sind (neu) gefüllt mit den Trenddaten.&lt;br /&gt;
&lt;br /&gt;
Vorbereitung: Das &#039;&#039;import_excel_to_postgres.vbs&#039;&#039; Skript, welches einfach ausgeführt werden kann und den Fortschritt in einem Fenster anzeigt, füllt die generierten Daten aus Excel wieder zurück in die Postgres-Datenbank ab. &lt;br /&gt;
&lt;br /&gt;
Vor dem ersten Durchlauf müssen, falls dies nicht bereits geschehen ist, vier Tabellen für die Resultate erstellt werden:&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_natuerlich&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_optimistisch&lt;br /&gt;
 (&lt;br /&gt;
    gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_pessimistisch&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_mittel&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist, dass alle Daten eines früheren Durchlaufs gelöscht werden. Weitere Informationen (Verbindungs-Paramter, etc.) finden sich direkt im Skript (einfach mit Text-Editor öffnen).&lt;br /&gt;
&lt;br /&gt;
  [[Media:Import_excel_to_postgres.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;PostgresImport&#039; ====&lt;br /&gt;
&lt;br /&gt;
Öffnet eine Verbindung zum Postgres-Server und generiert für alle Gemeinden, die durch &#039;&#039;query_gemeinden.txt&#039;&#039; vorgegeben werden. Im Ordner &#039;&#039;output&#039;&#039; wird pro Gemeinde eine Kopie der Vorlage, gefüllt mit den Daten, abgelegt. Ausserdem wird zugleich ein Bild-Export der Diagramm-Varianten durchgeführt. Je nach Anzahl Gemeinden dauert dieser Vorgang einige Minuten, in dieser Zeit sollte mit dem laufenden Excel nicht weitergearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Um allfällige Problemen bei der Weiterverarbeitung auszuschliessen, werden alle Sonderzeichen sowie Klammern aus den Gemeindenamen im Dateinamen ersetzt.&lt;br /&gt;
&lt;br /&gt;
Bereits vorhandene Dateien im &#039;&#039;output&#039;&#039;-Ordner werden ohne Rückfrage überschrieben.&lt;br /&gt;
&lt;br /&gt;
Von den drei existierenden &#039;query_*.txt&#039; Dateien darf nur &#039;&#039;query_gemeinden.txt&#039;&#039; angepasst werden um die betroffenen Gemeinden auszuwählen.&lt;br /&gt;
&lt;br /&gt;
==== &#039;ExportJPG&#039; ====&lt;br /&gt;
&lt;br /&gt;
Falls der bereits erfolgte Export des Diagramms aktualisiert werden soll, kann dies mit dem ExportJPG-Makro gemacht werden.&lt;br /&gt;
[[Media:ExportJPG.bas.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;Export Übersicht&#039;====&lt;br /&gt;
Exportiert Entwicklungsübersicht für einen Ordner voll Excelfiles in neues Excelfile.&lt;br /&gt;
&lt;br /&gt;
Installation/Start:&lt;br /&gt;
* Herunterladen von export_uebersicht.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Doppelklick auf export_uebersicht.vbs&lt;br /&gt;
[[Media:Export_Uebersicht.zip‎]]&lt;br /&gt;
  [[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23880</id>
		<title>RABEST-Installation</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23880"/>
		<updated>2009-08-12T12:45:58Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* Trenddaten-Export von Excel nach Postgres */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zurück zu [[RABEST]]&lt;br /&gt;
&lt;br /&gt;
== Uebersicht ==&lt;br /&gt;
&lt;br /&gt;
=== Rohdaten zu DB mit kettle ===&lt;br /&gt;
&lt;br /&gt;
* Input: &lt;br /&gt;
** Gemeinde/Einwohner/Migrations-Rohdaten von Kantonen oder Gemeinde (Excel, CSV oder DUMPs)&lt;br /&gt;
** Daten vom BFS&lt;br /&gt;
** kettle-Skripts&lt;br /&gt;
** Handarbeit! (v.a. Gemeindenamen und Fusionen)&lt;br /&gt;
* Resultat: RABEST-DB (Haupttabelle Bevoelkerung)&lt;br /&gt;
&lt;br /&gt;
tbd.&lt;br /&gt;
&lt;br /&gt;
=== Analyse DB (Gemeindedaten) ===&lt;br /&gt;
&lt;br /&gt;
* Input: RABEST-DB (Statistik/Ist-Zusand)&lt;br /&gt;
* Resultat: je eine Excel- und Chart-Datei pro Gemeinde &lt;br /&gt;
&lt;br /&gt;
=== Bevölkerungs-Entwicklungsprognose ===&lt;br /&gt;
&lt;br /&gt;
* Input: Excel-Datei pro Gemeinde &lt;br /&gt;
* Resultat: RABEST-DB Prognose&lt;br /&gt;
&lt;br /&gt;
Realisiert und auslieferbereit.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation &#039;Analyse DB (Gemeindedaten)&#039; ==&lt;br /&gt;
&lt;br /&gt;
Dieses Programm erstellt aus den in PostgreSQL-DB verwalteten RABEST-Gemeindedaten und einer Vorlage (Fall1 und Fall2) einen Ordner mit je einer Excel- und Chart-Datei pro Gemeinde (Beispiel: Rapperswil_Jona.xls und Rapperswil_Jona.gif). Der Chart entspricht dem Inhalt des Worksheets &amp;quot;Diagramm_allgemein&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Bedienung:&lt;br /&gt;
* Einschränkung der Anfrage: siehe SQL in Datei query_gemeinden.txt z.B. nur Kanton St. Gallen:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE k.ktkz = &#039;SG&#039;::bpchar&lt;br /&gt;
 ORDER BY g.gdename;&lt;br /&gt;
* ... oder nur Rapperswil:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE g.gdename = &#039;Rapperswil (SG)&#039;;&lt;br /&gt;
&lt;br /&gt;
Software:&lt;br /&gt;
* PostgreSQL&lt;br /&gt;
* Excel 2003&lt;br /&gt;
&lt;br /&gt;
Zu beachten:&lt;br /&gt;
* PostgreSQL Server gestartet? (einmalig einrichten)&lt;br /&gt;
* In VB-Editor: Menu Tools &amp;gt; References &amp;gt; Microsoft ActiveX Data Objects 2.8 Library anwählen (einmalig; sonst ERROR &amp;quot;User-defined type not defined&amp;quot; o.ä.) &lt;br /&gt;
* Microsoft Office-Installation &amp;gt; Office Shared Features &amp;gt; Converters and Filter &amp;gt; Graphics Filters &amp;gt; Graphics Interchange Format (GIF) File Import (sonst ERROR &amp;quot;Objekt unterstützt diese Methode nicht...&amp;quot; o.ä.)&lt;br /&gt;
* Achtung: Inhalt des output-Ordners wird überschrieben!&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
&lt;br /&gt;
Das Zusammenspiel von Postgres und Excel ist aus folgender Graphik ersichtlich:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Excel_postgres.png]]&lt;br /&gt;
&lt;br /&gt;
Zum einen werden die Gemeindedaten aus der Datenbank in eine Vorlage überführt (Pfeile nach rechts) und pro Gemeinde gespeichert. Ausserdem (Pfeil nach links) können gewisse berechnete Daten wieder aus den Gemeinde-Excel-Dateien in die Datenbank abgefüllt werden.&lt;br /&gt;
&lt;br /&gt;
=== Makros und Skripts ===&lt;br /&gt;
&lt;br /&gt;
Die Excel-Vorlage &#039;&#039;*_vorlage_autom_bev_persp.xls&#039;&#039; enthält zwei Makros für die Generierung der Gemeinden-Exceldateien und Diagramme. Ausserdem besteht die Möglichkeit, die generierten Trends (Perspektive nat. Entwicklung, optimistischer- und pessimistischer Trend) aus den Excel-Dateien wieder zurück in die Postgres-Datenbank zu überführen. &lt;br /&gt;
&lt;br /&gt;
==== Trenddaten-Export von Excel nach Postgres ====&lt;br /&gt;
&lt;br /&gt;
Installation/Start: &lt;br /&gt;
* Herunterladen von import_excel_to_postgres.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Zus. Tabellen in RABEST-DB erstellen (siehe unten &#039;Vor dem ersten Durchlauf müssen,...&#039;)&lt;br /&gt;
* Doppelklick auf import_excel_to_postgres.vbs&lt;br /&gt;
** Tipp: Falls &amp;quot;Error &#039;ODBC/.dll nicht gefunden...&#039; PgOleDB.dll und ... herunterladen von [http://pgfoundry.org/frs/?group_id=1000085&amp;amp;release_id=539 pgfoundry]und in $PGHOME/bin-Verzeichnis kopieren.&lt;br /&gt;
* Resultat: die drei unten genannten Tabellen sind (neu) gefüllt mit den Trenddaten.&lt;br /&gt;
&lt;br /&gt;
Vorbereitung: Das &#039;&#039;import_excel_to_postgres.vbs&#039;&#039; Skript, welches einfach ausgeführt werden kann und den Fortschritt in einem Fenster anzeigt, füllt die generierten Daten aus Excel wieder zurück in die Postgres-Datenbank ab. &lt;br /&gt;
&lt;br /&gt;
Vor dem ersten Durchlauf müssen, falls dies nicht bereits geschehen ist, vier Tabellen für die Resultate erstellt werden:&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_natuerlich&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_optimistisch&lt;br /&gt;
 (&lt;br /&gt;
    gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_pessimistisch&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_mittel&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist, dass alle Daten eines früheren Durchlaufs gelöscht werden. Weitere Informationen (Verbindungs-Paramter, etc.) finden sich direkt im Skript (einfach mit Text-Editor öffnen).&lt;br /&gt;
&lt;br /&gt;
  [[Media:Import_excel_to_postgres.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;PostgresImport&#039; ====&lt;br /&gt;
&lt;br /&gt;
Öffnet eine Verbindung zum Postgres-Server und generiert für alle Gemeinden, die durch &#039;&#039;query_gemeinden.txt&#039;&#039; vorgegeben werden. Im Ordner &#039;&#039;output&#039;&#039; wird pro Gemeinde eine Kopie der Vorlage, gefüllt mit den Daten, abgelegt. Ausserdem wird zugleich ein Bild-Export der Diagramm-Varianten durchgeführt. Je nach Anzahl Gemeinden dauert dieser Vorgang einige Minuten, in dieser Zeit sollte mit dem laufenden Excel nicht weitergearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Um allfällige Problemen bei der Weiterverarbeitung auszuschliessen, werden alle Sonderzeichen sowie Klammern aus den Gemeindenamen im Dateinamen ersetzt.&lt;br /&gt;
&lt;br /&gt;
Bereits vorhandene Dateien im &#039;&#039;output&#039;&#039;-Ordner werden ohne Rückfrage überschrieben.&lt;br /&gt;
&lt;br /&gt;
Von den drei existierenden &#039;query_*.txt&#039; Dateien darf nur &#039;&#039;query_gemeinden.txt&#039;&#039; angepasst werden um die betroffenen Gemeinden auszuwählen.&lt;br /&gt;
&lt;br /&gt;
==== &#039;ExportJPG&#039; ====&lt;br /&gt;
&lt;br /&gt;
Falls der bereits erfolgte Export des Diagramms aktualisiert werden soll, kann dies mit dem ExportJPG-Makro gemacht werden.&lt;br /&gt;
[[Media:ExportJPG.bas.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;Export Übersicht&#039;====&lt;br /&gt;
Exportiert Entwicklungsübersicht für einen Ordner voll Excelfiles in neues Excelfile.&lt;br /&gt;
&lt;br /&gt;
Installation/Start:&lt;br /&gt;
* Herunterladen von export_uebersicht.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Doppelklick auf export_uebersicht.vbs&lt;br /&gt;
[[Media:Export_Uebersicht.zip‎]]&lt;br /&gt;
[[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23879</id>
		<title>RABEST-Installation</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23879"/>
		<updated>2009-08-12T12:45:32Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* Trenddaten-Export von Excel nach Postgres */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zurück zu [[RABEST]]&lt;br /&gt;
&lt;br /&gt;
== Uebersicht ==&lt;br /&gt;
&lt;br /&gt;
=== Rohdaten zu DB mit kettle ===&lt;br /&gt;
&lt;br /&gt;
* Input: &lt;br /&gt;
** Gemeinde/Einwohner/Migrations-Rohdaten von Kantonen oder Gemeinde (Excel, CSV oder DUMPs)&lt;br /&gt;
** Daten vom BFS&lt;br /&gt;
** kettle-Skripts&lt;br /&gt;
** Handarbeit! (v.a. Gemeindenamen und Fusionen)&lt;br /&gt;
* Resultat: RABEST-DB (Haupttabelle Bevoelkerung)&lt;br /&gt;
&lt;br /&gt;
tbd.&lt;br /&gt;
&lt;br /&gt;
=== Analyse DB (Gemeindedaten) ===&lt;br /&gt;
&lt;br /&gt;
* Input: RABEST-DB (Statistik/Ist-Zusand)&lt;br /&gt;
* Resultat: je eine Excel- und Chart-Datei pro Gemeinde &lt;br /&gt;
&lt;br /&gt;
=== Bevölkerungs-Entwicklungsprognose ===&lt;br /&gt;
&lt;br /&gt;
* Input: Excel-Datei pro Gemeinde &lt;br /&gt;
* Resultat: RABEST-DB Prognose&lt;br /&gt;
&lt;br /&gt;
Realisiert und auslieferbereit.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation &#039;Analyse DB (Gemeindedaten)&#039; ==&lt;br /&gt;
&lt;br /&gt;
Dieses Programm erstellt aus den in PostgreSQL-DB verwalteten RABEST-Gemeindedaten und einer Vorlage (Fall1 und Fall2) einen Ordner mit je einer Excel- und Chart-Datei pro Gemeinde (Beispiel: Rapperswil_Jona.xls und Rapperswil_Jona.gif). Der Chart entspricht dem Inhalt des Worksheets &amp;quot;Diagramm_allgemein&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Bedienung:&lt;br /&gt;
* Einschränkung der Anfrage: siehe SQL in Datei query_gemeinden.txt z.B. nur Kanton St. Gallen:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE k.ktkz = &#039;SG&#039;::bpchar&lt;br /&gt;
 ORDER BY g.gdename;&lt;br /&gt;
* ... oder nur Rapperswil:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE g.gdename = &#039;Rapperswil (SG)&#039;;&lt;br /&gt;
&lt;br /&gt;
Software:&lt;br /&gt;
* PostgreSQL&lt;br /&gt;
* Excel 2003&lt;br /&gt;
&lt;br /&gt;
Zu beachten:&lt;br /&gt;
* PostgreSQL Server gestartet? (einmalig einrichten)&lt;br /&gt;
* In VB-Editor: Menu Tools &amp;gt; References &amp;gt; Microsoft ActiveX Data Objects 2.8 Library anwählen (einmalig; sonst ERROR &amp;quot;User-defined type not defined&amp;quot; o.ä.) &lt;br /&gt;
* Microsoft Office-Installation &amp;gt; Office Shared Features &amp;gt; Converters and Filter &amp;gt; Graphics Filters &amp;gt; Graphics Interchange Format (GIF) File Import (sonst ERROR &amp;quot;Objekt unterstützt diese Methode nicht...&amp;quot; o.ä.)&lt;br /&gt;
* Achtung: Inhalt des output-Ordners wird überschrieben!&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
&lt;br /&gt;
Das Zusammenspiel von Postgres und Excel ist aus folgender Graphik ersichtlich:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Excel_postgres.png]]&lt;br /&gt;
&lt;br /&gt;
Zum einen werden die Gemeindedaten aus der Datenbank in eine Vorlage überführt (Pfeile nach rechts) und pro Gemeinde gespeichert. Ausserdem (Pfeil nach links) können gewisse berechnete Daten wieder aus den Gemeinde-Excel-Dateien in die Datenbank abgefüllt werden.&lt;br /&gt;
&lt;br /&gt;
=== Makros und Skripts ===&lt;br /&gt;
&lt;br /&gt;
Die Excel-Vorlage &#039;&#039;*_vorlage_autom_bev_persp.xls&#039;&#039; enthält zwei Makros für die Generierung der Gemeinden-Exceldateien und Diagramme. Ausserdem besteht die Möglichkeit, die generierten Trends (Perspektive nat. Entwicklung, optimistischer- und pessimistischer Trend) aus den Excel-Dateien wieder zurück in die Postgres-Datenbank zu überführen. &lt;br /&gt;
&lt;br /&gt;
==== Trenddaten-Export von Excel nach Postgres ====&lt;br /&gt;
&lt;br /&gt;
Installation/Start: &lt;br /&gt;
* Herunterladen von import_excel_to_postgres.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Zus. Tabellen in RABEST-DB erstellen (siehe unten &#039;Vor dem ersten Durchlauf müssen,...&#039;)&lt;br /&gt;
* Doppelklick auf import_excel_to_postgres.vbs&lt;br /&gt;
** Tipp: Falls &amp;quot;Error &#039;ODBC/.dll nicht gefunden...&#039; PgOleDB.dll und ... herunterladen von [http://pgfoundry.org/frs/?group_id=1000085&amp;amp;release_id=539 pgfoundry]und in $PGHOME/bin-Verzeichnis kopieren.&lt;br /&gt;
* Resultat: die drei unten genannten Tabellen sind (neu) gefüllt mit den Trenddaten.&lt;br /&gt;
&lt;br /&gt;
Vorbereitung: Das &#039;&#039;import_excel_to_postgres.vbs&#039;&#039; Skript, welches einfach ausgeführt werden kann und den Fortschritt in einem Fenster anzeigt, füllt die generierten Daten aus Excel wieder zurück in die Postgres-Datenbank ab. &lt;br /&gt;
&lt;br /&gt;
Vor dem ersten Durchlauf müssen, falls dies nicht bereits geschehen ist, vier Tabellen für die Resultate erstellt werden:&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_natuerlich&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_optimistisch&lt;br /&gt;
 (&lt;br /&gt;
    gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_pessimistisch&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 CREATE TABLE trend_mittel&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
Zu beachten ist, dass alle Daten eines früheren Durchlaufs gelöscht werden. Weitere Informationen (Verbindungs-Paramter, etc.) finden sich direkt im Skript (einfach mit Text-Editor öffnen).&lt;br /&gt;
&lt;br /&gt;
  [[Media:Import_excel_to_postgres.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;PostgresImport&#039; ====&lt;br /&gt;
&lt;br /&gt;
Öffnet eine Verbindung zum Postgres-Server und generiert für alle Gemeinden, die durch &#039;&#039;query_gemeinden.txt&#039;&#039; vorgegeben werden. Im Ordner &#039;&#039;output&#039;&#039; wird pro Gemeinde eine Kopie der Vorlage, gefüllt mit den Daten, abgelegt. Ausserdem wird zugleich ein Bild-Export der Diagramm-Varianten durchgeführt. Je nach Anzahl Gemeinden dauert dieser Vorgang einige Minuten, in dieser Zeit sollte mit dem laufenden Excel nicht weitergearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Um allfällige Problemen bei der Weiterverarbeitung auszuschliessen, werden alle Sonderzeichen sowie Klammern aus den Gemeindenamen im Dateinamen ersetzt.&lt;br /&gt;
&lt;br /&gt;
Bereits vorhandene Dateien im &#039;&#039;output&#039;&#039;-Ordner werden ohne Rückfrage überschrieben.&lt;br /&gt;
&lt;br /&gt;
Von den drei existierenden &#039;query_*.txt&#039; Dateien darf nur &#039;&#039;query_gemeinden.txt&#039;&#039; angepasst werden um die betroffenen Gemeinden auszuwählen.&lt;br /&gt;
&lt;br /&gt;
==== &#039;ExportJPG&#039; ====&lt;br /&gt;
&lt;br /&gt;
Falls der bereits erfolgte Export des Diagramms aktualisiert werden soll, kann dies mit dem ExportJPG-Makro gemacht werden.&lt;br /&gt;
[[Media:ExportJPG.bas.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;Export Übersicht&#039;====&lt;br /&gt;
Exportiert Entwicklungsübersicht für einen Ordner voll Excelfiles in neues Excelfile.&lt;br /&gt;
&lt;br /&gt;
Installation/Start:&lt;br /&gt;
* Herunterladen von export_uebersicht.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Doppelklick auf export_uebersicht.vbs&lt;br /&gt;
[[Media:Export_Uebersicht.zip‎]]&lt;br /&gt;
[[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23878</id>
		<title>RABEST-Installation</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23878"/>
		<updated>2009-08-12T12:44:45Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* &amp;#039;ExportJPG&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zurück zu [[RABEST]]&lt;br /&gt;
&lt;br /&gt;
== Uebersicht ==&lt;br /&gt;
&lt;br /&gt;
=== Rohdaten zu DB mit kettle ===&lt;br /&gt;
&lt;br /&gt;
* Input: &lt;br /&gt;
** Gemeinde/Einwohner/Migrations-Rohdaten von Kantonen oder Gemeinde (Excel, CSV oder DUMPs)&lt;br /&gt;
** Daten vom BFS&lt;br /&gt;
** kettle-Skripts&lt;br /&gt;
** Handarbeit! (v.a. Gemeindenamen und Fusionen)&lt;br /&gt;
* Resultat: RABEST-DB (Haupttabelle Bevoelkerung)&lt;br /&gt;
&lt;br /&gt;
tbd.&lt;br /&gt;
&lt;br /&gt;
=== Analyse DB (Gemeindedaten) ===&lt;br /&gt;
&lt;br /&gt;
* Input: RABEST-DB (Statistik/Ist-Zusand)&lt;br /&gt;
* Resultat: je eine Excel- und Chart-Datei pro Gemeinde &lt;br /&gt;
&lt;br /&gt;
=== Bevölkerungs-Entwicklungsprognose ===&lt;br /&gt;
&lt;br /&gt;
* Input: Excel-Datei pro Gemeinde &lt;br /&gt;
* Resultat: RABEST-DB Prognose&lt;br /&gt;
&lt;br /&gt;
Realisiert und auslieferbereit.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation &#039;Analyse DB (Gemeindedaten)&#039; ==&lt;br /&gt;
&lt;br /&gt;
Dieses Programm erstellt aus den in PostgreSQL-DB verwalteten RABEST-Gemeindedaten und einer Vorlage (Fall1 und Fall2) einen Ordner mit je einer Excel- und Chart-Datei pro Gemeinde (Beispiel: Rapperswil_Jona.xls und Rapperswil_Jona.gif). Der Chart entspricht dem Inhalt des Worksheets &amp;quot;Diagramm_allgemein&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Bedienung:&lt;br /&gt;
* Einschränkung der Anfrage: siehe SQL in Datei query_gemeinden.txt z.B. nur Kanton St. Gallen:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE k.ktkz = &#039;SG&#039;::bpchar&lt;br /&gt;
 ORDER BY g.gdename;&lt;br /&gt;
* ... oder nur Rapperswil:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE g.gdename = &#039;Rapperswil (SG)&#039;;&lt;br /&gt;
&lt;br /&gt;
Software:&lt;br /&gt;
* PostgreSQL&lt;br /&gt;
* Excel 2003&lt;br /&gt;
&lt;br /&gt;
Zu beachten:&lt;br /&gt;
* PostgreSQL Server gestartet? (einmalig einrichten)&lt;br /&gt;
* In VB-Editor: Menu Tools &amp;gt; References &amp;gt; Microsoft ActiveX Data Objects 2.8 Library anwählen (einmalig; sonst ERROR &amp;quot;User-defined type not defined&amp;quot; o.ä.) &lt;br /&gt;
* Microsoft Office-Installation &amp;gt; Office Shared Features &amp;gt; Converters and Filter &amp;gt; Graphics Filters &amp;gt; Graphics Interchange Format (GIF) File Import (sonst ERROR &amp;quot;Objekt unterstützt diese Methode nicht...&amp;quot; o.ä.)&lt;br /&gt;
* Achtung: Inhalt des output-Ordners wird überschrieben!&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
&lt;br /&gt;
Das Zusammenspiel von Postgres und Excel ist aus folgender Graphik ersichtlich:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Excel_postgres.png]]&lt;br /&gt;
&lt;br /&gt;
Zum einen werden die Gemeindedaten aus der Datenbank in eine Vorlage überführt (Pfeile nach rechts) und pro Gemeinde gespeichert. Ausserdem (Pfeil nach links) können gewisse berechnete Daten wieder aus den Gemeinde-Excel-Dateien in die Datenbank abgefüllt werden.&lt;br /&gt;
&lt;br /&gt;
=== Makros und Skripts ===&lt;br /&gt;
&lt;br /&gt;
Die Excel-Vorlage &#039;&#039;*_vorlage_autom_bev_persp.xls&#039;&#039; enthält zwei Makros für die Generierung der Gemeinden-Exceldateien und Diagramme. Ausserdem besteht die Möglichkeit, die generierten Trends (Perspektive nat. Entwicklung, optimistischer- und pessimistischer Trend) aus den Excel-Dateien wieder zurück in die Postgres-Datenbank zu überführen. &lt;br /&gt;
&lt;br /&gt;
==== Trenddaten-Export von Excel nach Postgres ====&lt;br /&gt;
&lt;br /&gt;
Installation/Start: &lt;br /&gt;
* Herunterladen von import_excel_to_postgres.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Zus. Tabellen in RABEST-DB erstellen (siehe unten &#039;Vor dem ersten Durchlauf müssen,...&#039;)&lt;br /&gt;
* Doppelklick auf import_excel_to_postgres.vbs&lt;br /&gt;
** Tipp: Falls &amp;quot;Error &#039;ODBC/.dll nicht gefunden...&#039; PgOleDB.dll und ... herunterladen von [http://pgfoundry.org/frs/?group_id=1000085&amp;amp;release_id=539 pgfoundry]und in $PGHOME/bin-Verzeichnis kopieren.&lt;br /&gt;
* Resultat: die drei unten genannten Tabellen sind (neu) gefüllt mit den Trenddaten.&lt;br /&gt;
&lt;br /&gt;
Vorbereitung: Das &#039;&#039;import_excel_to_postgres.vbs&#039;&#039; Skript, welches einfach ausgeführt werden kann und den Fortschritt in einem Fenster anzeigt, füllt die generierten Daten aus Excel wieder zurück in die Postgres-Datenbank ab. &lt;br /&gt;
&lt;br /&gt;
Vor dem ersten Durchlauf müssen, falls dies nicht bereits geschehen ist, drei Tabellen für die Resultate erstellt werden:&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_natuerlich&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_optimistisch&lt;br /&gt;
 (&lt;br /&gt;
    gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_pessimistisch&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist, dass alle Daten eines früheren Durchlaufs gelöscht werden. Weitere Informationen (Verbindungs-Paramter, etc.) finden sich direkt im Skript (einfach mit Text-Editor öffnen).&lt;br /&gt;
&lt;br /&gt;
  [[Media:Import_excel_to_postgres.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;PostgresImport&#039; ====&lt;br /&gt;
&lt;br /&gt;
Öffnet eine Verbindung zum Postgres-Server und generiert für alle Gemeinden, die durch &#039;&#039;query_gemeinden.txt&#039;&#039; vorgegeben werden. Im Ordner &#039;&#039;output&#039;&#039; wird pro Gemeinde eine Kopie der Vorlage, gefüllt mit den Daten, abgelegt. Ausserdem wird zugleich ein Bild-Export der Diagramm-Varianten durchgeführt. Je nach Anzahl Gemeinden dauert dieser Vorgang einige Minuten, in dieser Zeit sollte mit dem laufenden Excel nicht weitergearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Um allfällige Problemen bei der Weiterverarbeitung auszuschliessen, werden alle Sonderzeichen sowie Klammern aus den Gemeindenamen im Dateinamen ersetzt.&lt;br /&gt;
&lt;br /&gt;
Bereits vorhandene Dateien im &#039;&#039;output&#039;&#039;-Ordner werden ohne Rückfrage überschrieben.&lt;br /&gt;
&lt;br /&gt;
Von den drei existierenden &#039;query_*.txt&#039; Dateien darf nur &#039;&#039;query_gemeinden.txt&#039;&#039; angepasst werden um die betroffenen Gemeinden auszuwählen.&lt;br /&gt;
&lt;br /&gt;
==== &#039;ExportJPG&#039; ====&lt;br /&gt;
&lt;br /&gt;
Falls der bereits erfolgte Export des Diagramms aktualisiert werden soll, kann dies mit dem ExportJPG-Makro gemacht werden.&lt;br /&gt;
[[Media:ExportJPG.bas.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;Export Übersicht&#039;====&lt;br /&gt;
Exportiert Entwicklungsübersicht für einen Ordner voll Excelfiles in neues Excelfile.&lt;br /&gt;
&lt;br /&gt;
Installation/Start:&lt;br /&gt;
* Herunterladen von export_uebersicht.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Doppelklick auf export_uebersicht.vbs&lt;br /&gt;
[[Media:Export_Uebersicht.zip‎]]&lt;br /&gt;
[[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23877</id>
		<title>RABEST-Installation</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23877"/>
		<updated>2009-08-12T12:44:04Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* &amp;#039;ExportJPG&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zurück zu [[RABEST]]&lt;br /&gt;
&lt;br /&gt;
== Uebersicht ==&lt;br /&gt;
&lt;br /&gt;
=== Rohdaten zu DB mit kettle ===&lt;br /&gt;
&lt;br /&gt;
* Input: &lt;br /&gt;
** Gemeinde/Einwohner/Migrations-Rohdaten von Kantonen oder Gemeinde (Excel, CSV oder DUMPs)&lt;br /&gt;
** Daten vom BFS&lt;br /&gt;
** kettle-Skripts&lt;br /&gt;
** Handarbeit! (v.a. Gemeindenamen und Fusionen)&lt;br /&gt;
* Resultat: RABEST-DB (Haupttabelle Bevoelkerung)&lt;br /&gt;
&lt;br /&gt;
tbd.&lt;br /&gt;
&lt;br /&gt;
=== Analyse DB (Gemeindedaten) ===&lt;br /&gt;
&lt;br /&gt;
* Input: RABEST-DB (Statistik/Ist-Zusand)&lt;br /&gt;
* Resultat: je eine Excel- und Chart-Datei pro Gemeinde &lt;br /&gt;
&lt;br /&gt;
=== Bevölkerungs-Entwicklungsprognose ===&lt;br /&gt;
&lt;br /&gt;
* Input: Excel-Datei pro Gemeinde &lt;br /&gt;
* Resultat: RABEST-DB Prognose&lt;br /&gt;
&lt;br /&gt;
Realisiert und auslieferbereit.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation &#039;Analyse DB (Gemeindedaten)&#039; ==&lt;br /&gt;
&lt;br /&gt;
Dieses Programm erstellt aus den in PostgreSQL-DB verwalteten RABEST-Gemeindedaten und einer Vorlage (Fall1 und Fall2) einen Ordner mit je einer Excel- und Chart-Datei pro Gemeinde (Beispiel: Rapperswil_Jona.xls und Rapperswil_Jona.gif). Der Chart entspricht dem Inhalt des Worksheets &amp;quot;Diagramm_allgemein&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Bedienung:&lt;br /&gt;
* Einschränkung der Anfrage: siehe SQL in Datei query_gemeinden.txt z.B. nur Kanton St. Gallen:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE k.ktkz = &#039;SG&#039;::bpchar&lt;br /&gt;
 ORDER BY g.gdename;&lt;br /&gt;
* ... oder nur Rapperswil:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE g.gdename = &#039;Rapperswil (SG)&#039;;&lt;br /&gt;
&lt;br /&gt;
Software:&lt;br /&gt;
* PostgreSQL&lt;br /&gt;
* Excel 2003&lt;br /&gt;
&lt;br /&gt;
Zu beachten:&lt;br /&gt;
* PostgreSQL Server gestartet? (einmalig einrichten)&lt;br /&gt;
* In VB-Editor: Menu Tools &amp;gt; References &amp;gt; Microsoft ActiveX Data Objects 2.8 Library anwählen (einmalig; sonst ERROR &amp;quot;User-defined type not defined&amp;quot; o.ä.) &lt;br /&gt;
* Microsoft Office-Installation &amp;gt; Office Shared Features &amp;gt; Converters and Filter &amp;gt; Graphics Filters &amp;gt; Graphics Interchange Format (GIF) File Import (sonst ERROR &amp;quot;Objekt unterstützt diese Methode nicht...&amp;quot; o.ä.)&lt;br /&gt;
* Achtung: Inhalt des output-Ordners wird überschrieben!&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
&lt;br /&gt;
Das Zusammenspiel von Postgres und Excel ist aus folgender Graphik ersichtlich:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Excel_postgres.png]]&lt;br /&gt;
&lt;br /&gt;
Zum einen werden die Gemeindedaten aus der Datenbank in eine Vorlage überführt (Pfeile nach rechts) und pro Gemeinde gespeichert. Ausserdem (Pfeil nach links) können gewisse berechnete Daten wieder aus den Gemeinde-Excel-Dateien in die Datenbank abgefüllt werden.&lt;br /&gt;
&lt;br /&gt;
=== Makros und Skripts ===&lt;br /&gt;
&lt;br /&gt;
Die Excel-Vorlage &#039;&#039;*_vorlage_autom_bev_persp.xls&#039;&#039; enthält zwei Makros für die Generierung der Gemeinden-Exceldateien und Diagramme. Ausserdem besteht die Möglichkeit, die generierten Trends (Perspektive nat. Entwicklung, optimistischer- und pessimistischer Trend) aus den Excel-Dateien wieder zurück in die Postgres-Datenbank zu überführen. &lt;br /&gt;
&lt;br /&gt;
==== Trenddaten-Export von Excel nach Postgres ====&lt;br /&gt;
&lt;br /&gt;
Installation/Start: &lt;br /&gt;
* Herunterladen von import_excel_to_postgres.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Zus. Tabellen in RABEST-DB erstellen (siehe unten &#039;Vor dem ersten Durchlauf müssen,...&#039;)&lt;br /&gt;
* Doppelklick auf import_excel_to_postgres.vbs&lt;br /&gt;
** Tipp: Falls &amp;quot;Error &#039;ODBC/.dll nicht gefunden...&#039; PgOleDB.dll und ... herunterladen von [http://pgfoundry.org/frs/?group_id=1000085&amp;amp;release_id=539 pgfoundry]und in $PGHOME/bin-Verzeichnis kopieren.&lt;br /&gt;
* Resultat: die drei unten genannten Tabellen sind (neu) gefüllt mit den Trenddaten.&lt;br /&gt;
&lt;br /&gt;
Vorbereitung: Das &#039;&#039;import_excel_to_postgres.vbs&#039;&#039; Skript, welches einfach ausgeführt werden kann und den Fortschritt in einem Fenster anzeigt, füllt die generierten Daten aus Excel wieder zurück in die Postgres-Datenbank ab. &lt;br /&gt;
&lt;br /&gt;
Vor dem ersten Durchlauf müssen, falls dies nicht bereits geschehen ist, drei Tabellen für die Resultate erstellt werden:&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_natuerlich&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_optimistisch&lt;br /&gt;
 (&lt;br /&gt;
    gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_pessimistisch&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist, dass alle Daten eines früheren Durchlaufs gelöscht werden. Weitere Informationen (Verbindungs-Paramter, etc.) finden sich direkt im Skript (einfach mit Text-Editor öffnen).&lt;br /&gt;
&lt;br /&gt;
  [[Media:Import_excel_to_postgres.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;PostgresImport&#039; ====&lt;br /&gt;
&lt;br /&gt;
Öffnet eine Verbindung zum Postgres-Server und generiert für alle Gemeinden, die durch &#039;&#039;query_gemeinden.txt&#039;&#039; vorgegeben werden. Im Ordner &#039;&#039;output&#039;&#039; wird pro Gemeinde eine Kopie der Vorlage, gefüllt mit den Daten, abgelegt. Ausserdem wird zugleich ein Bild-Export der Diagramm-Varianten durchgeführt. Je nach Anzahl Gemeinden dauert dieser Vorgang einige Minuten, in dieser Zeit sollte mit dem laufenden Excel nicht weitergearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Um allfällige Problemen bei der Weiterverarbeitung auszuschliessen, werden alle Sonderzeichen sowie Klammern aus den Gemeindenamen im Dateinamen ersetzt.&lt;br /&gt;
&lt;br /&gt;
Bereits vorhandene Dateien im &#039;&#039;output&#039;&#039;-Ordner werden ohne Rückfrage überschrieben.&lt;br /&gt;
&lt;br /&gt;
Von den drei existierenden &#039;query_*.txt&#039; Dateien darf nur &#039;&#039;query_gemeinden.txt&#039;&#039; angepasst werden um die betroffenen Gemeinden auszuwählen.&lt;br /&gt;
&lt;br /&gt;
==== &#039;ExportJPG&#039; ====&lt;br /&gt;
&lt;br /&gt;
Falls der bereits erfolgte Export des Diagramms aktualisiert werden soll, kann dies mit dem ExportJPG-Makro gemacht werden.&lt;br /&gt;
Media: ExportJPG.bas.zip&lt;br /&gt;
&lt;br /&gt;
==== &#039;Export Übersicht&#039;====&lt;br /&gt;
Exportiert Entwicklungsübersicht für einen Ordner voll Excelfiles in neues Excelfile.&lt;br /&gt;
&lt;br /&gt;
Installation/Start:&lt;br /&gt;
* Herunterladen von export_uebersicht.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Doppelklick auf export_uebersicht.vbs&lt;br /&gt;
[[Media:Export_Uebersicht.zip‎]]&lt;br /&gt;
[[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=Datei:ExportJPG.bas.zip&amp;diff=23876</id>
		<title>Datei:ExportJPG.bas.zip</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Datei:ExportJPG.bas.zip&amp;diff=23876"/>
		<updated>2009-08-12T12:43:04Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=Datei:Export_Uebersicht.zip&amp;diff=23875</id>
		<title>Datei:Export Uebersicht.zip</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Datei:Export_Uebersicht.zip&amp;diff=23875"/>
		<updated>2009-08-12T12:42:11Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: hat eine neue Version von „Bild:Export Uebersicht.zip“ hochgeladen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23819</id>
		<title>RABEST-Installation</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23819"/>
		<updated>2009-07-22T15:24:04Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* &amp;#039;Export Übersicht&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zurück zu [[RABEST]]&lt;br /&gt;
&lt;br /&gt;
== Uebersicht ==&lt;br /&gt;
&lt;br /&gt;
=== Rohdaten zu DB mit kettle ===&lt;br /&gt;
&lt;br /&gt;
* Input: &lt;br /&gt;
** Gemeinde/Einwohner/Migrations-Rohdaten von Kantonen oder Gemeinde (Excel, CSV oder DUMPs)&lt;br /&gt;
** Daten vom BFS&lt;br /&gt;
** kettle-Skripts&lt;br /&gt;
** Handarbeit! (v.a. Gemeindenamen und Fusionen)&lt;br /&gt;
* Resultat: RABEST-DB (Haupttabelle Bevoelkerung)&lt;br /&gt;
&lt;br /&gt;
tbd.&lt;br /&gt;
&lt;br /&gt;
=== Analyse DB (Gemeindedaten) ===&lt;br /&gt;
&lt;br /&gt;
* Input: RABEST-DB (Statistik/Ist-Zusand)&lt;br /&gt;
* Resultat: je eine Excel- und Chart-Datei pro Gemeinde &lt;br /&gt;
&lt;br /&gt;
=== Bevölkerungs-Entwicklungsprognose ===&lt;br /&gt;
&lt;br /&gt;
* Input: Excel-Datei pro Gemeinde &lt;br /&gt;
* Resultat: RABEST-DB Prognose&lt;br /&gt;
&lt;br /&gt;
Realisiert und auslieferbereit.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation &#039;Analyse DB (Gemeindedaten)&#039; ==&lt;br /&gt;
&lt;br /&gt;
Dieses Programm erstellt aus den in PostgreSQL-DB verwalteten RABEST-Gemeindedaten und einer Vorlage (Fall1 und Fall2) einen Ordner mit je einer Excel- und Chart-Datei pro Gemeinde (Beispiel: Rapperswil_Jona.xls und Rapperswil_Jona.gif). Der Chart entspricht dem Inhalt des Worksheets &amp;quot;Diagramm_allgemein&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Bedienung:&lt;br /&gt;
* Einschränkung der Anfrage: siehe SQL in Datei query_gemeinden.txt z.B. nur Kanton St. Gallen:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE k.ktkz = &#039;SG&#039;::bpchar&lt;br /&gt;
 ORDER BY g.gdename;&lt;br /&gt;
* ... oder nur Rapperswil:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE g.gdename = &#039;Rapperswil (SG)&#039;;&lt;br /&gt;
&lt;br /&gt;
Software:&lt;br /&gt;
* PostgreSQL&lt;br /&gt;
* Excel 2003&lt;br /&gt;
&lt;br /&gt;
Zu beachten:&lt;br /&gt;
* PostgreSQL Server gestartet? (einmalig einrichten)&lt;br /&gt;
* In VB-Editor: Menu Tools &amp;gt; References &amp;gt; Microsoft ActiveX Data Objects 2.8 Library anwählen (einmalig; sonst ERROR &amp;quot;User-defined type not defined&amp;quot; o.ä.) &lt;br /&gt;
* Microsoft Office-Installation &amp;gt; Office Shared Features &amp;gt; Converters and Filter &amp;gt; Graphics Filters &amp;gt; Graphics Interchange Format (GIF) File Import (sonst ERROR &amp;quot;Objekt unterstützt diese Methode nicht...&amp;quot; o.ä.)&lt;br /&gt;
* Achtung: Inhalt des output-Ordners wird überschrieben!&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
&lt;br /&gt;
Das Zusammenspiel von Postgres und Excel ist aus folgender Graphik ersichtlich:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Excel_postgres.png]]&lt;br /&gt;
&lt;br /&gt;
Zum einen werden die Gemeindedaten aus der Datenbank in eine Vorlage überführt (Pfeile nach rechts) und pro Gemeinde gespeichert. Ausserdem (Pfeil nach links) können gewisse berechnete Daten wieder aus den Gemeinde-Excel-Dateien in die Datenbank abgefüllt werden.&lt;br /&gt;
&lt;br /&gt;
=== Makros und Skripts ===&lt;br /&gt;
&lt;br /&gt;
Die Excel-Vorlage &#039;&#039;*_vorlage_autom_bev_persp.xls&#039;&#039; enthält zwei Makros für die Generierung der Gemeinden-Exceldateien und Diagramme. Ausserdem besteht die Möglichkeit, die generierten Trends (Perspektive nat. Entwicklung, optimistischer- und pessimistischer Trend) aus den Excel-Dateien wieder zurück in die Postgres-Datenbank zu überführen. &lt;br /&gt;
&lt;br /&gt;
==== Trenddaten-Export von Excel nach Postgres ====&lt;br /&gt;
&lt;br /&gt;
Installation/Start: &lt;br /&gt;
* Herunterladen von import_excel_to_postgres.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Zus. Tabellen in RABEST-DB erstellen (siehe unten &#039;Vor dem ersten Durchlauf müssen,...&#039;)&lt;br /&gt;
* Doppelklick auf import_excel_to_postgres.vbs&lt;br /&gt;
** Tipp: Falls &amp;quot;Error &#039;ODBC/.dll nicht gefunden...&#039; PgOleDB.dll und ... herunterladen von [http://pgfoundry.org/frs/?group_id=1000085&amp;amp;release_id=539 pgfoundry]und in $PGHOME/bin-Verzeichnis kopieren.&lt;br /&gt;
* Resultat: die drei unten genannten Tabellen sind (neu) gefüllt mit den Trenddaten.&lt;br /&gt;
&lt;br /&gt;
Vorbereitung: Das &#039;&#039;import_excel_to_postgres.vbs&#039;&#039; Skript, welches einfach ausgeführt werden kann und den Fortschritt in einem Fenster anzeigt, füllt die generierten Daten aus Excel wieder zurück in die Postgres-Datenbank ab. &lt;br /&gt;
&lt;br /&gt;
Vor dem ersten Durchlauf müssen, falls dies nicht bereits geschehen ist, drei Tabellen für die Resultate erstellt werden:&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_natuerlich&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_optimistisch&lt;br /&gt;
 (&lt;br /&gt;
    gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_pessimistisch&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist, dass alle Daten eines früheren Durchlaufs gelöscht werden. Weitere Informationen (Verbindungs-Paramter, etc.) finden sich direkt im Skript (einfach mit Text-Editor öffnen).&lt;br /&gt;
&lt;br /&gt;
  [[Media:Import_excel_to_postgres.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;PostgresImport&#039; ====&lt;br /&gt;
&lt;br /&gt;
Öffnet eine Verbindung zum Postgres-Server und generiert für alle Gemeinden, die durch &#039;&#039;query_gemeinden.txt&#039;&#039; vorgegeben werden. Im Ordner &#039;&#039;output&#039;&#039; wird pro Gemeinde eine Kopie der Vorlage, gefüllt mit den Daten, abgelegt. Ausserdem wird zugleich ein Bild-Export der Diagramm-Varianten durchgeführt. Je nach Anzahl Gemeinden dauert dieser Vorgang einige Minuten, in dieser Zeit sollte mit dem laufenden Excel nicht weitergearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Um allfällige Problemen bei der Weiterverarbeitung auszuschliessen, werden alle Sonderzeichen sowie Klammern aus den Gemeindenamen im Dateinamen ersetzt.&lt;br /&gt;
&lt;br /&gt;
Bereits vorhandene Dateien im &#039;&#039;output&#039;&#039;-Ordner werden ohne Rückfrage überschrieben.&lt;br /&gt;
&lt;br /&gt;
Von den drei existierenden &#039;query_*.txt&#039; Dateien darf nur &#039;&#039;query_gemeinden.txt&#039;&#039; angepasst werden um die betroffenen Gemeinden auszuwählen.&lt;br /&gt;
&lt;br /&gt;
==== &#039;ExportJPG&#039; ====&lt;br /&gt;
&lt;br /&gt;
Falls der bereits erfolgte Export des Diagramms aktualisiert werden soll, kann dies mit dem ExportJPG-Makro gemacht werden.&lt;br /&gt;
&lt;br /&gt;
==== &#039;Export Übersicht&#039;====&lt;br /&gt;
Exportiert Entwicklungsübersicht für einen Ordner voll Excelfiles in neues Excelfile.&lt;br /&gt;
&lt;br /&gt;
Installation/Start:&lt;br /&gt;
* Herunterladen von export_uebersicht.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Doppelklick auf export_uebersicht.vbs&lt;br /&gt;
[[Media:Export_Uebersicht.zip‎]]&lt;br /&gt;
[[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23818</id>
		<title>RABEST-Installation</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23818"/>
		<updated>2009-07-22T15:23:13Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* &amp;#039;Export Übersicht&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zurück zu [[RABEST]]&lt;br /&gt;
&lt;br /&gt;
== Uebersicht ==&lt;br /&gt;
&lt;br /&gt;
=== Rohdaten zu DB mit kettle ===&lt;br /&gt;
&lt;br /&gt;
* Input: &lt;br /&gt;
** Gemeinde/Einwohner/Migrations-Rohdaten von Kantonen oder Gemeinde (Excel, CSV oder DUMPs)&lt;br /&gt;
** Daten vom BFS&lt;br /&gt;
** kettle-Skripts&lt;br /&gt;
** Handarbeit! (v.a. Gemeindenamen und Fusionen)&lt;br /&gt;
* Resultat: RABEST-DB (Haupttabelle Bevoelkerung)&lt;br /&gt;
&lt;br /&gt;
tbd.&lt;br /&gt;
&lt;br /&gt;
=== Analyse DB (Gemeindedaten) ===&lt;br /&gt;
&lt;br /&gt;
* Input: RABEST-DB (Statistik/Ist-Zusand)&lt;br /&gt;
* Resultat: je eine Excel- und Chart-Datei pro Gemeinde &lt;br /&gt;
&lt;br /&gt;
=== Bevölkerungs-Entwicklungsprognose ===&lt;br /&gt;
&lt;br /&gt;
* Input: Excel-Datei pro Gemeinde &lt;br /&gt;
* Resultat: RABEST-DB Prognose&lt;br /&gt;
&lt;br /&gt;
Realisiert und auslieferbereit.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation &#039;Analyse DB (Gemeindedaten)&#039; ==&lt;br /&gt;
&lt;br /&gt;
Dieses Programm erstellt aus den in PostgreSQL-DB verwalteten RABEST-Gemeindedaten und einer Vorlage (Fall1 und Fall2) einen Ordner mit je einer Excel- und Chart-Datei pro Gemeinde (Beispiel: Rapperswil_Jona.xls und Rapperswil_Jona.gif). Der Chart entspricht dem Inhalt des Worksheets &amp;quot;Diagramm_allgemein&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Bedienung:&lt;br /&gt;
* Einschränkung der Anfrage: siehe SQL in Datei query_gemeinden.txt z.B. nur Kanton St. Gallen:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE k.ktkz = &#039;SG&#039;::bpchar&lt;br /&gt;
 ORDER BY g.gdename;&lt;br /&gt;
* ... oder nur Rapperswil:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE g.gdename = &#039;Rapperswil (SG)&#039;;&lt;br /&gt;
&lt;br /&gt;
Software:&lt;br /&gt;
* PostgreSQL&lt;br /&gt;
* Excel 2003&lt;br /&gt;
&lt;br /&gt;
Zu beachten:&lt;br /&gt;
* PostgreSQL Server gestartet? (einmalig einrichten)&lt;br /&gt;
* In VB-Editor: Menu Tools &amp;gt; References &amp;gt; Microsoft ActiveX Data Objects 2.8 Library anwählen (einmalig; sonst ERROR &amp;quot;User-defined type not defined&amp;quot; o.ä.) &lt;br /&gt;
* Microsoft Office-Installation &amp;gt; Office Shared Features &amp;gt; Converters and Filter &amp;gt; Graphics Filters &amp;gt; Graphics Interchange Format (GIF) File Import (sonst ERROR &amp;quot;Objekt unterstützt diese Methode nicht...&amp;quot; o.ä.)&lt;br /&gt;
* Achtung: Inhalt des output-Ordners wird überschrieben!&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
&lt;br /&gt;
Das Zusammenspiel von Postgres und Excel ist aus folgender Graphik ersichtlich:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Excel_postgres.png]]&lt;br /&gt;
&lt;br /&gt;
Zum einen werden die Gemeindedaten aus der Datenbank in eine Vorlage überführt (Pfeile nach rechts) und pro Gemeinde gespeichert. Ausserdem (Pfeil nach links) können gewisse berechnete Daten wieder aus den Gemeinde-Excel-Dateien in die Datenbank abgefüllt werden.&lt;br /&gt;
&lt;br /&gt;
=== Makros und Skripts ===&lt;br /&gt;
&lt;br /&gt;
Die Excel-Vorlage &#039;&#039;*_vorlage_autom_bev_persp.xls&#039;&#039; enthält zwei Makros für die Generierung der Gemeinden-Exceldateien und Diagramme. Ausserdem besteht die Möglichkeit, die generierten Trends (Perspektive nat. Entwicklung, optimistischer- und pessimistischer Trend) aus den Excel-Dateien wieder zurück in die Postgres-Datenbank zu überführen. &lt;br /&gt;
&lt;br /&gt;
==== Trenddaten-Export von Excel nach Postgres ====&lt;br /&gt;
&lt;br /&gt;
Installation/Start: &lt;br /&gt;
* Herunterladen von import_excel_to_postgres.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Zus. Tabellen in RABEST-DB erstellen (siehe unten &#039;Vor dem ersten Durchlauf müssen,...&#039;)&lt;br /&gt;
* Doppelklick auf import_excel_to_postgres.vbs&lt;br /&gt;
** Tipp: Falls &amp;quot;Error &#039;ODBC/.dll nicht gefunden...&#039; PgOleDB.dll und ... herunterladen von [http://pgfoundry.org/frs/?group_id=1000085&amp;amp;release_id=539 pgfoundry]und in $PGHOME/bin-Verzeichnis kopieren.&lt;br /&gt;
* Resultat: die drei unten genannten Tabellen sind (neu) gefüllt mit den Trenddaten.&lt;br /&gt;
&lt;br /&gt;
Vorbereitung: Das &#039;&#039;import_excel_to_postgres.vbs&#039;&#039; Skript, welches einfach ausgeführt werden kann und den Fortschritt in einem Fenster anzeigt, füllt die generierten Daten aus Excel wieder zurück in die Postgres-Datenbank ab. &lt;br /&gt;
&lt;br /&gt;
Vor dem ersten Durchlauf müssen, falls dies nicht bereits geschehen ist, drei Tabellen für die Resultate erstellt werden:&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_natuerlich&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_optimistisch&lt;br /&gt;
 (&lt;br /&gt;
    gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_pessimistisch&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist, dass alle Daten eines früheren Durchlaufs gelöscht werden. Weitere Informationen (Verbindungs-Paramter, etc.) finden sich direkt im Skript (einfach mit Text-Editor öffnen).&lt;br /&gt;
&lt;br /&gt;
  [[Media:Import_excel_to_postgres.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;PostgresImport&#039; ====&lt;br /&gt;
&lt;br /&gt;
Öffnet eine Verbindung zum Postgres-Server und generiert für alle Gemeinden, die durch &#039;&#039;query_gemeinden.txt&#039;&#039; vorgegeben werden. Im Ordner &#039;&#039;output&#039;&#039; wird pro Gemeinde eine Kopie der Vorlage, gefüllt mit den Daten, abgelegt. Ausserdem wird zugleich ein Bild-Export der Diagramm-Varianten durchgeführt. Je nach Anzahl Gemeinden dauert dieser Vorgang einige Minuten, in dieser Zeit sollte mit dem laufenden Excel nicht weitergearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Um allfällige Problemen bei der Weiterverarbeitung auszuschliessen, werden alle Sonderzeichen sowie Klammern aus den Gemeindenamen im Dateinamen ersetzt.&lt;br /&gt;
&lt;br /&gt;
Bereits vorhandene Dateien im &#039;&#039;output&#039;&#039;-Ordner werden ohne Rückfrage überschrieben.&lt;br /&gt;
&lt;br /&gt;
Von den drei existierenden &#039;query_*.txt&#039; Dateien darf nur &#039;&#039;query_gemeinden.txt&#039;&#039; angepasst werden um die betroffenen Gemeinden auszuwählen.&lt;br /&gt;
&lt;br /&gt;
==== &#039;ExportJPG&#039; ====&lt;br /&gt;
&lt;br /&gt;
Falls der bereits erfolgte Export des Diagramms aktualisiert werden soll, kann dies mit dem ExportJPG-Makro gemacht werden.&lt;br /&gt;
&lt;br /&gt;
==== &#039;Export Übersicht&#039;====&lt;br /&gt;
Exportiert Entwicklungsübersicht für einen Ordner voll Excelfiles in neues Excelfile.&lt;br /&gt;
&lt;br /&gt;
Installation/Start:&lt;br /&gt;
* Herunterladen von export_uebersicht.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Doppelklick auf export_uebersicht.vbs&lt;br /&gt;
[[Media:Uebersicht_Export.zip‎]]&lt;br /&gt;
[[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23817</id>
		<title>RABEST-Installation</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23817"/>
		<updated>2009-07-22T15:22:50Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* &amp;#039;Export Übersicht&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zurück zu [[RABEST]]&lt;br /&gt;
&lt;br /&gt;
== Uebersicht ==&lt;br /&gt;
&lt;br /&gt;
=== Rohdaten zu DB mit kettle ===&lt;br /&gt;
&lt;br /&gt;
* Input: &lt;br /&gt;
** Gemeinde/Einwohner/Migrations-Rohdaten von Kantonen oder Gemeinde (Excel, CSV oder DUMPs)&lt;br /&gt;
** Daten vom BFS&lt;br /&gt;
** kettle-Skripts&lt;br /&gt;
** Handarbeit! (v.a. Gemeindenamen und Fusionen)&lt;br /&gt;
* Resultat: RABEST-DB (Haupttabelle Bevoelkerung)&lt;br /&gt;
&lt;br /&gt;
tbd.&lt;br /&gt;
&lt;br /&gt;
=== Analyse DB (Gemeindedaten) ===&lt;br /&gt;
&lt;br /&gt;
* Input: RABEST-DB (Statistik/Ist-Zusand)&lt;br /&gt;
* Resultat: je eine Excel- und Chart-Datei pro Gemeinde &lt;br /&gt;
&lt;br /&gt;
=== Bevölkerungs-Entwicklungsprognose ===&lt;br /&gt;
&lt;br /&gt;
* Input: Excel-Datei pro Gemeinde &lt;br /&gt;
* Resultat: RABEST-DB Prognose&lt;br /&gt;
&lt;br /&gt;
Realisiert und auslieferbereit.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation &#039;Analyse DB (Gemeindedaten)&#039; ==&lt;br /&gt;
&lt;br /&gt;
Dieses Programm erstellt aus den in PostgreSQL-DB verwalteten RABEST-Gemeindedaten und einer Vorlage (Fall1 und Fall2) einen Ordner mit je einer Excel- und Chart-Datei pro Gemeinde (Beispiel: Rapperswil_Jona.xls und Rapperswil_Jona.gif). Der Chart entspricht dem Inhalt des Worksheets &amp;quot;Diagramm_allgemein&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Bedienung:&lt;br /&gt;
* Einschränkung der Anfrage: siehe SQL in Datei query_gemeinden.txt z.B. nur Kanton St. Gallen:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE k.ktkz = &#039;SG&#039;::bpchar&lt;br /&gt;
 ORDER BY g.gdename;&lt;br /&gt;
* ... oder nur Rapperswil:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE g.gdename = &#039;Rapperswil (SG)&#039;;&lt;br /&gt;
&lt;br /&gt;
Software:&lt;br /&gt;
* PostgreSQL&lt;br /&gt;
* Excel 2003&lt;br /&gt;
&lt;br /&gt;
Zu beachten:&lt;br /&gt;
* PostgreSQL Server gestartet? (einmalig einrichten)&lt;br /&gt;
* In VB-Editor: Menu Tools &amp;gt; References &amp;gt; Microsoft ActiveX Data Objects 2.8 Library anwählen (einmalig; sonst ERROR &amp;quot;User-defined type not defined&amp;quot; o.ä.) &lt;br /&gt;
* Microsoft Office-Installation &amp;gt; Office Shared Features &amp;gt; Converters and Filter &amp;gt; Graphics Filters &amp;gt; Graphics Interchange Format (GIF) File Import (sonst ERROR &amp;quot;Objekt unterstützt diese Methode nicht...&amp;quot; o.ä.)&lt;br /&gt;
* Achtung: Inhalt des output-Ordners wird überschrieben!&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
&lt;br /&gt;
Das Zusammenspiel von Postgres und Excel ist aus folgender Graphik ersichtlich:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Excel_postgres.png]]&lt;br /&gt;
&lt;br /&gt;
Zum einen werden die Gemeindedaten aus der Datenbank in eine Vorlage überführt (Pfeile nach rechts) und pro Gemeinde gespeichert. Ausserdem (Pfeil nach links) können gewisse berechnete Daten wieder aus den Gemeinde-Excel-Dateien in die Datenbank abgefüllt werden.&lt;br /&gt;
&lt;br /&gt;
=== Makros und Skripts ===&lt;br /&gt;
&lt;br /&gt;
Die Excel-Vorlage &#039;&#039;*_vorlage_autom_bev_persp.xls&#039;&#039; enthält zwei Makros für die Generierung der Gemeinden-Exceldateien und Diagramme. Ausserdem besteht die Möglichkeit, die generierten Trends (Perspektive nat. Entwicklung, optimistischer- und pessimistischer Trend) aus den Excel-Dateien wieder zurück in die Postgres-Datenbank zu überführen. &lt;br /&gt;
&lt;br /&gt;
==== Trenddaten-Export von Excel nach Postgres ====&lt;br /&gt;
&lt;br /&gt;
Installation/Start: &lt;br /&gt;
* Herunterladen von import_excel_to_postgres.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Zus. Tabellen in RABEST-DB erstellen (siehe unten &#039;Vor dem ersten Durchlauf müssen,...&#039;)&lt;br /&gt;
* Doppelklick auf import_excel_to_postgres.vbs&lt;br /&gt;
** Tipp: Falls &amp;quot;Error &#039;ODBC/.dll nicht gefunden...&#039; PgOleDB.dll und ... herunterladen von [http://pgfoundry.org/frs/?group_id=1000085&amp;amp;release_id=539 pgfoundry]und in $PGHOME/bin-Verzeichnis kopieren.&lt;br /&gt;
* Resultat: die drei unten genannten Tabellen sind (neu) gefüllt mit den Trenddaten.&lt;br /&gt;
&lt;br /&gt;
Vorbereitung: Das &#039;&#039;import_excel_to_postgres.vbs&#039;&#039; Skript, welches einfach ausgeführt werden kann und den Fortschritt in einem Fenster anzeigt, füllt die generierten Daten aus Excel wieder zurück in die Postgres-Datenbank ab. &lt;br /&gt;
&lt;br /&gt;
Vor dem ersten Durchlauf müssen, falls dies nicht bereits geschehen ist, drei Tabellen für die Resultate erstellt werden:&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_natuerlich&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_optimistisch&lt;br /&gt;
 (&lt;br /&gt;
    gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_pessimistisch&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist, dass alle Daten eines früheren Durchlaufs gelöscht werden. Weitere Informationen (Verbindungs-Paramter, etc.) finden sich direkt im Skript (einfach mit Text-Editor öffnen).&lt;br /&gt;
&lt;br /&gt;
  [[Media:Import_excel_to_postgres.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;PostgresImport&#039; ====&lt;br /&gt;
&lt;br /&gt;
Öffnet eine Verbindung zum Postgres-Server und generiert für alle Gemeinden, die durch &#039;&#039;query_gemeinden.txt&#039;&#039; vorgegeben werden. Im Ordner &#039;&#039;output&#039;&#039; wird pro Gemeinde eine Kopie der Vorlage, gefüllt mit den Daten, abgelegt. Ausserdem wird zugleich ein Bild-Export der Diagramm-Varianten durchgeführt. Je nach Anzahl Gemeinden dauert dieser Vorgang einige Minuten, in dieser Zeit sollte mit dem laufenden Excel nicht weitergearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Um allfällige Problemen bei der Weiterverarbeitung auszuschliessen, werden alle Sonderzeichen sowie Klammern aus den Gemeindenamen im Dateinamen ersetzt.&lt;br /&gt;
&lt;br /&gt;
Bereits vorhandene Dateien im &#039;&#039;output&#039;&#039;-Ordner werden ohne Rückfrage überschrieben.&lt;br /&gt;
&lt;br /&gt;
Von den drei existierenden &#039;query_*.txt&#039; Dateien darf nur &#039;&#039;query_gemeinden.txt&#039;&#039; angepasst werden um die betroffenen Gemeinden auszuwählen.&lt;br /&gt;
&lt;br /&gt;
==== &#039;ExportJPG&#039; ====&lt;br /&gt;
&lt;br /&gt;
Falls der bereits erfolgte Export des Diagramms aktualisiert werden soll, kann dies mit dem ExportJPG-Makro gemacht werden.&lt;br /&gt;
&lt;br /&gt;
==== &#039;Export Übersicht&#039;====&lt;br /&gt;
Exportiert Entwicklungsübersicht für einen Ordner voll Excelfiles in neues Excelfile.&lt;br /&gt;
&lt;br /&gt;
Installation/Start:&lt;br /&gt;
* Herunterladen von export_uebersicht.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Doppelklick auf export_uebersicht.vbs&lt;br /&gt;
[[Media:Import_excel_to_postgres.zip‎]]&lt;br /&gt;
[[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23816</id>
		<title>RABEST-Installation</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23816"/>
		<updated>2009-07-22T15:22:12Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* &amp;#039;Export Übersicht&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zurück zu [[RABEST]]&lt;br /&gt;
&lt;br /&gt;
== Uebersicht ==&lt;br /&gt;
&lt;br /&gt;
=== Rohdaten zu DB mit kettle ===&lt;br /&gt;
&lt;br /&gt;
* Input: &lt;br /&gt;
** Gemeinde/Einwohner/Migrations-Rohdaten von Kantonen oder Gemeinde (Excel, CSV oder DUMPs)&lt;br /&gt;
** Daten vom BFS&lt;br /&gt;
** kettle-Skripts&lt;br /&gt;
** Handarbeit! (v.a. Gemeindenamen und Fusionen)&lt;br /&gt;
* Resultat: RABEST-DB (Haupttabelle Bevoelkerung)&lt;br /&gt;
&lt;br /&gt;
tbd.&lt;br /&gt;
&lt;br /&gt;
=== Analyse DB (Gemeindedaten) ===&lt;br /&gt;
&lt;br /&gt;
* Input: RABEST-DB (Statistik/Ist-Zusand)&lt;br /&gt;
* Resultat: je eine Excel- und Chart-Datei pro Gemeinde &lt;br /&gt;
&lt;br /&gt;
=== Bevölkerungs-Entwicklungsprognose ===&lt;br /&gt;
&lt;br /&gt;
* Input: Excel-Datei pro Gemeinde &lt;br /&gt;
* Resultat: RABEST-DB Prognose&lt;br /&gt;
&lt;br /&gt;
Realisiert und auslieferbereit.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation &#039;Analyse DB (Gemeindedaten)&#039; ==&lt;br /&gt;
&lt;br /&gt;
Dieses Programm erstellt aus den in PostgreSQL-DB verwalteten RABEST-Gemeindedaten und einer Vorlage (Fall1 und Fall2) einen Ordner mit je einer Excel- und Chart-Datei pro Gemeinde (Beispiel: Rapperswil_Jona.xls und Rapperswil_Jona.gif). Der Chart entspricht dem Inhalt des Worksheets &amp;quot;Diagramm_allgemein&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Bedienung:&lt;br /&gt;
* Einschränkung der Anfrage: siehe SQL in Datei query_gemeinden.txt z.B. nur Kanton St. Gallen:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE k.ktkz = &#039;SG&#039;::bpchar&lt;br /&gt;
 ORDER BY g.gdename;&lt;br /&gt;
* ... oder nur Rapperswil:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE g.gdename = &#039;Rapperswil (SG)&#039;;&lt;br /&gt;
&lt;br /&gt;
Software:&lt;br /&gt;
* PostgreSQL&lt;br /&gt;
* Excel 2003&lt;br /&gt;
&lt;br /&gt;
Zu beachten:&lt;br /&gt;
* PostgreSQL Server gestartet? (einmalig einrichten)&lt;br /&gt;
* In VB-Editor: Menu Tools &amp;gt; References &amp;gt; Microsoft ActiveX Data Objects 2.8 Library anwählen (einmalig; sonst ERROR &amp;quot;User-defined type not defined&amp;quot; o.ä.) &lt;br /&gt;
* Microsoft Office-Installation &amp;gt; Office Shared Features &amp;gt; Converters and Filter &amp;gt; Graphics Filters &amp;gt; Graphics Interchange Format (GIF) File Import (sonst ERROR &amp;quot;Objekt unterstützt diese Methode nicht...&amp;quot; o.ä.)&lt;br /&gt;
* Achtung: Inhalt des output-Ordners wird überschrieben!&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
&lt;br /&gt;
Das Zusammenspiel von Postgres und Excel ist aus folgender Graphik ersichtlich:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Excel_postgres.png]]&lt;br /&gt;
&lt;br /&gt;
Zum einen werden die Gemeindedaten aus der Datenbank in eine Vorlage überführt (Pfeile nach rechts) und pro Gemeinde gespeichert. Ausserdem (Pfeil nach links) können gewisse berechnete Daten wieder aus den Gemeinde-Excel-Dateien in die Datenbank abgefüllt werden.&lt;br /&gt;
&lt;br /&gt;
=== Makros und Skripts ===&lt;br /&gt;
&lt;br /&gt;
Die Excel-Vorlage &#039;&#039;*_vorlage_autom_bev_persp.xls&#039;&#039; enthält zwei Makros für die Generierung der Gemeinden-Exceldateien und Diagramme. Ausserdem besteht die Möglichkeit, die generierten Trends (Perspektive nat. Entwicklung, optimistischer- und pessimistischer Trend) aus den Excel-Dateien wieder zurück in die Postgres-Datenbank zu überführen. &lt;br /&gt;
&lt;br /&gt;
==== Trenddaten-Export von Excel nach Postgres ====&lt;br /&gt;
&lt;br /&gt;
Installation/Start: &lt;br /&gt;
* Herunterladen von import_excel_to_postgres.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Zus. Tabellen in RABEST-DB erstellen (siehe unten &#039;Vor dem ersten Durchlauf müssen,...&#039;)&lt;br /&gt;
* Doppelklick auf import_excel_to_postgres.vbs&lt;br /&gt;
** Tipp: Falls &amp;quot;Error &#039;ODBC/.dll nicht gefunden...&#039; PgOleDB.dll und ... herunterladen von [http://pgfoundry.org/frs/?group_id=1000085&amp;amp;release_id=539 pgfoundry]und in $PGHOME/bin-Verzeichnis kopieren.&lt;br /&gt;
* Resultat: die drei unten genannten Tabellen sind (neu) gefüllt mit den Trenddaten.&lt;br /&gt;
&lt;br /&gt;
Vorbereitung: Das &#039;&#039;import_excel_to_postgres.vbs&#039;&#039; Skript, welches einfach ausgeführt werden kann und den Fortschritt in einem Fenster anzeigt, füllt die generierten Daten aus Excel wieder zurück in die Postgres-Datenbank ab. &lt;br /&gt;
&lt;br /&gt;
Vor dem ersten Durchlauf müssen, falls dies nicht bereits geschehen ist, drei Tabellen für die Resultate erstellt werden:&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_natuerlich&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_optimistisch&lt;br /&gt;
 (&lt;br /&gt;
    gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_pessimistisch&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist, dass alle Daten eines früheren Durchlaufs gelöscht werden. Weitere Informationen (Verbindungs-Paramter, etc.) finden sich direkt im Skript (einfach mit Text-Editor öffnen).&lt;br /&gt;
&lt;br /&gt;
  [[Media:Import_excel_to_postgres.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;PostgresImport&#039; ====&lt;br /&gt;
&lt;br /&gt;
Öffnet eine Verbindung zum Postgres-Server und generiert für alle Gemeinden, die durch &#039;&#039;query_gemeinden.txt&#039;&#039; vorgegeben werden. Im Ordner &#039;&#039;output&#039;&#039; wird pro Gemeinde eine Kopie der Vorlage, gefüllt mit den Daten, abgelegt. Ausserdem wird zugleich ein Bild-Export der Diagramm-Varianten durchgeführt. Je nach Anzahl Gemeinden dauert dieser Vorgang einige Minuten, in dieser Zeit sollte mit dem laufenden Excel nicht weitergearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Um allfällige Problemen bei der Weiterverarbeitung auszuschliessen, werden alle Sonderzeichen sowie Klammern aus den Gemeindenamen im Dateinamen ersetzt.&lt;br /&gt;
&lt;br /&gt;
Bereits vorhandene Dateien im &#039;&#039;output&#039;&#039;-Ordner werden ohne Rückfrage überschrieben.&lt;br /&gt;
&lt;br /&gt;
Von den drei existierenden &#039;query_*.txt&#039; Dateien darf nur &#039;&#039;query_gemeinden.txt&#039;&#039; angepasst werden um die betroffenen Gemeinden auszuwählen.&lt;br /&gt;
&lt;br /&gt;
==== &#039;ExportJPG&#039; ====&lt;br /&gt;
&lt;br /&gt;
Falls der bereits erfolgte Export des Diagramms aktualisiert werden soll, kann dies mit dem ExportJPG-Makro gemacht werden.&lt;br /&gt;
&lt;br /&gt;
==== &#039;Export Übersicht&#039;====&lt;br /&gt;
Exportiert Entwicklungsübersicht für einen Ordner voll Excelfiles in neues Excelfile.&lt;br /&gt;
&lt;br /&gt;
Installation/Start:&lt;br /&gt;
* Herunterladen von export_uebersicht.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Doppelklick auf export_uebersicht.vbs&lt;br /&gt;
Media:Export_Uebersicht.zip‎&lt;br /&gt;
[[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=Datei:Export_Uebersicht.zip&amp;diff=23815</id>
		<title>Datei:Export Uebersicht.zip</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Datei:Export_Uebersicht.zip&amp;diff=23815"/>
		<updated>2009-07-22T15:21:15Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=Datei:Import_excel_to_postgres.zip&amp;diff=23814</id>
		<title>Datei:Import excel to postgres.zip</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Datei:Import_excel_to_postgres.zip&amp;diff=23814"/>
		<updated>2009-07-22T15:20:50Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: hat eine neue Version von „Bild:Import excel to postgres.zip“ hochgeladen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23813</id>
		<title>RABEST-Installation</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23813"/>
		<updated>2009-07-22T15:17:44Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zurück zu [[RABEST]]&lt;br /&gt;
&lt;br /&gt;
== Uebersicht ==&lt;br /&gt;
&lt;br /&gt;
=== Rohdaten zu DB mit kettle ===&lt;br /&gt;
&lt;br /&gt;
* Input: &lt;br /&gt;
** Gemeinde/Einwohner/Migrations-Rohdaten von Kantonen oder Gemeinde (Excel, CSV oder DUMPs)&lt;br /&gt;
** Daten vom BFS&lt;br /&gt;
** kettle-Skripts&lt;br /&gt;
** Handarbeit! (v.a. Gemeindenamen und Fusionen)&lt;br /&gt;
* Resultat: RABEST-DB (Haupttabelle Bevoelkerung)&lt;br /&gt;
&lt;br /&gt;
tbd.&lt;br /&gt;
&lt;br /&gt;
=== Analyse DB (Gemeindedaten) ===&lt;br /&gt;
&lt;br /&gt;
* Input: RABEST-DB (Statistik/Ist-Zusand)&lt;br /&gt;
* Resultat: je eine Excel- und Chart-Datei pro Gemeinde &lt;br /&gt;
&lt;br /&gt;
=== Bevölkerungs-Entwicklungsprognose ===&lt;br /&gt;
&lt;br /&gt;
* Input: Excel-Datei pro Gemeinde &lt;br /&gt;
* Resultat: RABEST-DB Prognose&lt;br /&gt;
&lt;br /&gt;
Realisiert und auslieferbereit.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation &#039;Analyse DB (Gemeindedaten)&#039; ==&lt;br /&gt;
&lt;br /&gt;
Dieses Programm erstellt aus den in PostgreSQL-DB verwalteten RABEST-Gemeindedaten und einer Vorlage (Fall1 und Fall2) einen Ordner mit je einer Excel- und Chart-Datei pro Gemeinde (Beispiel: Rapperswil_Jona.xls und Rapperswil_Jona.gif). Der Chart entspricht dem Inhalt des Worksheets &amp;quot;Diagramm_allgemein&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Bedienung:&lt;br /&gt;
* Einschränkung der Anfrage: siehe SQL in Datei query_gemeinden.txt z.B. nur Kanton St. Gallen:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE k.ktkz = &#039;SG&#039;::bpchar&lt;br /&gt;
 ORDER BY g.gdename;&lt;br /&gt;
* ... oder nur Rapperswil:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE g.gdename = &#039;Rapperswil (SG)&#039;;&lt;br /&gt;
&lt;br /&gt;
Software:&lt;br /&gt;
* PostgreSQL&lt;br /&gt;
* Excel 2003&lt;br /&gt;
&lt;br /&gt;
Zu beachten:&lt;br /&gt;
* PostgreSQL Server gestartet? (einmalig einrichten)&lt;br /&gt;
* In VB-Editor: Menu Tools &amp;gt; References &amp;gt; Microsoft ActiveX Data Objects 2.8 Library anwählen (einmalig; sonst ERROR &amp;quot;User-defined type not defined&amp;quot; o.ä.) &lt;br /&gt;
* Microsoft Office-Installation &amp;gt; Office Shared Features &amp;gt; Converters and Filter &amp;gt; Graphics Filters &amp;gt; Graphics Interchange Format (GIF) File Import (sonst ERROR &amp;quot;Objekt unterstützt diese Methode nicht...&amp;quot; o.ä.)&lt;br /&gt;
* Achtung: Inhalt des output-Ordners wird überschrieben!&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
&lt;br /&gt;
Das Zusammenspiel von Postgres und Excel ist aus folgender Graphik ersichtlich:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Excel_postgres.png]]&lt;br /&gt;
&lt;br /&gt;
Zum einen werden die Gemeindedaten aus der Datenbank in eine Vorlage überführt (Pfeile nach rechts) und pro Gemeinde gespeichert. Ausserdem (Pfeil nach links) können gewisse berechnete Daten wieder aus den Gemeinde-Excel-Dateien in die Datenbank abgefüllt werden.&lt;br /&gt;
&lt;br /&gt;
=== Makros und Skripts ===&lt;br /&gt;
&lt;br /&gt;
Die Excel-Vorlage &#039;&#039;*_vorlage_autom_bev_persp.xls&#039;&#039; enthält zwei Makros für die Generierung der Gemeinden-Exceldateien und Diagramme. Ausserdem besteht die Möglichkeit, die generierten Trends (Perspektive nat. Entwicklung, optimistischer- und pessimistischer Trend) aus den Excel-Dateien wieder zurück in die Postgres-Datenbank zu überführen. &lt;br /&gt;
&lt;br /&gt;
==== Trenddaten-Export von Excel nach Postgres ====&lt;br /&gt;
&lt;br /&gt;
Installation/Start: &lt;br /&gt;
* Herunterladen von import_excel_to_postgres.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Zus. Tabellen in RABEST-DB erstellen (siehe unten &#039;Vor dem ersten Durchlauf müssen,...&#039;)&lt;br /&gt;
* Doppelklick auf import_excel_to_postgres.vbs&lt;br /&gt;
** Tipp: Falls &amp;quot;Error &#039;ODBC/.dll nicht gefunden...&#039; PgOleDB.dll und ... herunterladen von [http://pgfoundry.org/frs/?group_id=1000085&amp;amp;release_id=539 pgfoundry]und in $PGHOME/bin-Verzeichnis kopieren.&lt;br /&gt;
* Resultat: die drei unten genannten Tabellen sind (neu) gefüllt mit den Trenddaten.&lt;br /&gt;
&lt;br /&gt;
Vorbereitung: Das &#039;&#039;import_excel_to_postgres.vbs&#039;&#039; Skript, welches einfach ausgeführt werden kann und den Fortschritt in einem Fenster anzeigt, füllt die generierten Daten aus Excel wieder zurück in die Postgres-Datenbank ab. &lt;br /&gt;
&lt;br /&gt;
Vor dem ersten Durchlauf müssen, falls dies nicht bereits geschehen ist, drei Tabellen für die Resultate erstellt werden:&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_natuerlich&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_optimistisch&lt;br /&gt;
 (&lt;br /&gt;
    gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_pessimistisch&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist, dass alle Daten eines früheren Durchlaufs gelöscht werden. Weitere Informationen (Verbindungs-Paramter, etc.) finden sich direkt im Skript (einfach mit Text-Editor öffnen).&lt;br /&gt;
&lt;br /&gt;
  [[Media:Import_excel_to_postgres.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;PostgresImport&#039; ====&lt;br /&gt;
&lt;br /&gt;
Öffnet eine Verbindung zum Postgres-Server und generiert für alle Gemeinden, die durch &#039;&#039;query_gemeinden.txt&#039;&#039; vorgegeben werden. Im Ordner &#039;&#039;output&#039;&#039; wird pro Gemeinde eine Kopie der Vorlage, gefüllt mit den Daten, abgelegt. Ausserdem wird zugleich ein Bild-Export der Diagramm-Varianten durchgeführt. Je nach Anzahl Gemeinden dauert dieser Vorgang einige Minuten, in dieser Zeit sollte mit dem laufenden Excel nicht weitergearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Um allfällige Problemen bei der Weiterverarbeitung auszuschliessen, werden alle Sonderzeichen sowie Klammern aus den Gemeindenamen im Dateinamen ersetzt.&lt;br /&gt;
&lt;br /&gt;
Bereits vorhandene Dateien im &#039;&#039;output&#039;&#039;-Ordner werden ohne Rückfrage überschrieben.&lt;br /&gt;
&lt;br /&gt;
Von den drei existierenden &#039;query_*.txt&#039; Dateien darf nur &#039;&#039;query_gemeinden.txt&#039;&#039; angepasst werden um die betroffenen Gemeinden auszuwählen.&lt;br /&gt;
&lt;br /&gt;
==== &#039;ExportJPG&#039; ====&lt;br /&gt;
&lt;br /&gt;
Falls der bereits erfolgte Export des Diagramms aktualisiert werden soll, kann dies mit dem ExportJPG-Makro gemacht werden.&lt;br /&gt;
&lt;br /&gt;
==== &#039;Export Übersicht&#039;====&lt;br /&gt;
Exportiert Entwicklungsübersicht für einen Ordner voll Excelfiles in neues Excelfile.&lt;br /&gt;
&lt;br /&gt;
Installation/Start:&lt;br /&gt;
* Herunterladen von export_uebersicht.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Doppelklick auf export_uebersicht.vbs&lt;br /&gt;
[[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=Datei:Import_excel_to_postgres.zip&amp;diff=23734</id>
		<title>Datei:Import excel to postgres.zip</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Datei:Import_excel_to_postgres.zip&amp;diff=23734"/>
		<updated>2009-07-16T14:06:04Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: hat eine neue Version von „Bild:Import excel to postgres.zip“ hochgeladen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23733</id>
		<title>RABEST-Installation</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23733"/>
		<updated>2009-07-16T14:02:15Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* Trenddaten-Export von Excel nach Postgres */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zurück zu [[RABEST]]&lt;br /&gt;
&lt;br /&gt;
== Uebersicht ==&lt;br /&gt;
&lt;br /&gt;
=== Rohdaten zu DB mit kettle ===&lt;br /&gt;
&lt;br /&gt;
* Input: &lt;br /&gt;
** Gemeinde/Einwohner/Migrations-Rohdaten von Kantonen oder Gemeinde (Excel, CSV oder DUMPs)&lt;br /&gt;
** Daten vom BFS&lt;br /&gt;
** kettle-Skripts&lt;br /&gt;
** Handarbeit! (v.a. Gemeindenamen und Fusionen)&lt;br /&gt;
* Resultat: RABEST-DB (Haupttabelle Bevoelkerung)&lt;br /&gt;
&lt;br /&gt;
tbd.&lt;br /&gt;
&lt;br /&gt;
=== Analyse DB (Gemeindedaten) ===&lt;br /&gt;
&lt;br /&gt;
* Input: RABEST-DB (Statistik/Ist-Zusand)&lt;br /&gt;
* Resultat: je eine Excel- und Chart-Datei pro Gemeinde &lt;br /&gt;
&lt;br /&gt;
=== Bevölkerungs-Entwicklungsprognose ===&lt;br /&gt;
&lt;br /&gt;
* Input: Excel-Datei pro Gemeinde &lt;br /&gt;
* Resultat: RABEST-DB Prognose&lt;br /&gt;
&lt;br /&gt;
Realisiert und auslieferbereit.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation &#039;Analyse DB (Gemeindedaten)&#039; ==&lt;br /&gt;
&lt;br /&gt;
Dieses Programm erstellt aus den in PostgreSQL-DB verwalteten RABEST-Gemeindedaten und einer Vorlage (Fall1 und Fall2) einen Ordner mit je einer Excel- und Chart-Datei pro Gemeinde (Beispiel: Rapperswil_Jona.xls und Rapperswil_Jona.gif). Der Chart entspricht dem Inhalt des Worksheets &amp;quot;Diagramm_allgemein&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Bedienung:&lt;br /&gt;
* Einschränkung der Anfrage: siehe SQL in Datei query_gemeinden.txt z.B. nur Kanton St. Gallen:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE k.ktkz = &#039;SG&#039;::bpchar&lt;br /&gt;
 ORDER BY g.gdename;&lt;br /&gt;
* ... oder nur Rapperswil:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE g.gdename = &#039;Rapperswil (SG)&#039;;&lt;br /&gt;
&lt;br /&gt;
Software:&lt;br /&gt;
* PostgreSQL&lt;br /&gt;
* Excel 2003&lt;br /&gt;
&lt;br /&gt;
Zu beachten:&lt;br /&gt;
* PostgreSQL Server gestartet? (einmalig einrichten)&lt;br /&gt;
* In VB-Editor: Menu Tools &amp;gt; References &amp;gt; Microsoft ActiveX Data Objects 2.8 Library anwählen (einmalig; sonst ERROR &amp;quot;User-defined type not defined&amp;quot; o.ä.) &lt;br /&gt;
* Microsoft Office-Installation &amp;gt; Office Shared Features &amp;gt; Converters and Filter &amp;gt; Graphics Filters &amp;gt; Graphics Interchange Format (GIF) File Import (sonst ERROR &amp;quot;Objekt unterstützt diese Methode nicht...&amp;quot; o.ä.)&lt;br /&gt;
* Achtung: Inhalt des output-Ordners wird überschrieben!&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
&lt;br /&gt;
Das Zusammenspiel von Postgres und Excel ist aus folgender Graphik ersichtlich:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Excel_postgres.png]]&lt;br /&gt;
&lt;br /&gt;
Zum einen werden die Gemeindedaten aus der Datenbank in eine Vorlage überführt (Pfeile nach rechts) und pro Gemeinde gespeichert. Ausserdem (Pfeil nach links) können gewisse berechnete Daten wieder aus den Gemeinde-Excel-Dateien in die Datenbank abgefüllt werden.&lt;br /&gt;
&lt;br /&gt;
=== Makros und Skripts ===&lt;br /&gt;
&lt;br /&gt;
Die Excel-Vorlage &#039;&#039;*_vorlage_autom_bev_persp.xls&#039;&#039; enthält zwei Makros für die Generierung der Gemeinden-Exceldateien und Diagramme. Ausserdem besteht die Möglichkeit, die generierten Trends (Perspektive nat. Entwicklung, optimistischer- und pessimistischer Trend) aus den Excel-Dateien wieder zurück in die Postgres-Datenbank zu überführen. &lt;br /&gt;
&lt;br /&gt;
==== Trenddaten-Export von Excel nach Postgres ====&lt;br /&gt;
&lt;br /&gt;
Installation/Start: &lt;br /&gt;
* Herunterladen von import_excel_to_postgres.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Zus. Tabellen in RABEST-DB erstellen (siehe unten &#039;Vor dem ersten Durchlauf müssen,...&#039;)&lt;br /&gt;
* Doppelklick auf import_excel_to_postgres.vbs&lt;br /&gt;
** Tipp: Falls &amp;quot;Error &#039;ODBC/.dll nicht gefunden...&#039; PgOleDB.dll und ... herunterladen von [http://pgfoundry.org/frs/?group_id=1000085&amp;amp;release_id=539 pgfoundry]und in $PGHOME/bin-Verzeichnis kopieren.&lt;br /&gt;
* Resultat: die drei unten genannten Tabellen sind (neu) gefüllt mit den Trenddaten.&lt;br /&gt;
&lt;br /&gt;
Vorbereitung: Das &#039;&#039;import_excel_to_postgres.vbs&#039;&#039; Skript, welches einfach ausgeführt werden kann und den Fortschritt in einem Fenster anzeigt, füllt die generierten Daten aus Excel wieder zurück in die Postgres-Datenbank ab. &lt;br /&gt;
&lt;br /&gt;
Vor dem ersten Durchlauf müssen, falls dies nicht bereits geschehen ist, drei Tabellen für die Resultate erstellt werden:&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_natuerlich&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_optimistisch&lt;br /&gt;
 (&lt;br /&gt;
    gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_pessimistisch&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist, dass alle Daten eines früheren Durchlaufs gelöscht werden. Weitere Informationen (Verbindungs-Paramter, etc.) finden sich direkt im Skript (einfach mit Text-Editor öffnen).&lt;br /&gt;
&lt;br /&gt;
  [[Media:Import_excel_to_postgres.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;PostgresImport&#039; ====&lt;br /&gt;
&lt;br /&gt;
Öffnet eine Verbindung zum Postgres-Server und generiert für alle Gemeinden, die durch &#039;&#039;query_gemeinden.txt&#039;&#039; vorgegeben werden. Im Ordner &#039;&#039;output&#039;&#039; wird pro Gemeinde eine Kopie der Vorlage, gefüllt mit den Daten, abgelegt. Ausserdem wird zugleich ein Bild-Export der Diagramm-Varianten durchgeführt. Je nach Anzahl Gemeinden dauert dieser Vorgang einige Minuten, in dieser Zeit sollte mit dem laufenden Excel nicht weitergearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Um allfällige Problemen bei der Weiterverarbeitung auszuschliessen, werden alle Sonderzeichen sowie Klammern aus den Gemeindenamen im Dateinamen ersetzt.&lt;br /&gt;
&lt;br /&gt;
Bereits vorhandene Dateien im &#039;&#039;output&#039;&#039;-Ordner werden ohne Rückfrage überschrieben.&lt;br /&gt;
&lt;br /&gt;
Von den drei existierenden &#039;query_*.txt&#039; Dateien darf nur &#039;&#039;query_gemeinden.txt&#039;&#039; angepasst werden um die betroffenen Gemeinden auszuwählen.&lt;br /&gt;
&lt;br /&gt;
==== &#039;ExportJPG&#039; ====&lt;br /&gt;
&lt;br /&gt;
Falls der bereits erfolgte Export des Diagramms aktualisiert werden soll, kann dies mit dem ExportJPG-Makro gemacht werden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23732</id>
		<title>RABEST-Installation</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23732"/>
		<updated>2009-07-16T14:01:52Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* Trenddaten-Export von Excel nach Postgres */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zurück zu [[RABEST]]&lt;br /&gt;
&lt;br /&gt;
== Uebersicht ==&lt;br /&gt;
&lt;br /&gt;
=== Rohdaten zu DB mit kettle ===&lt;br /&gt;
&lt;br /&gt;
* Input: &lt;br /&gt;
** Gemeinde/Einwohner/Migrations-Rohdaten von Kantonen oder Gemeinde (Excel, CSV oder DUMPs)&lt;br /&gt;
** Daten vom BFS&lt;br /&gt;
** kettle-Skripts&lt;br /&gt;
** Handarbeit! (v.a. Gemeindenamen und Fusionen)&lt;br /&gt;
* Resultat: RABEST-DB (Haupttabelle Bevoelkerung)&lt;br /&gt;
&lt;br /&gt;
tbd.&lt;br /&gt;
&lt;br /&gt;
=== Analyse DB (Gemeindedaten) ===&lt;br /&gt;
&lt;br /&gt;
* Input: RABEST-DB (Statistik/Ist-Zusand)&lt;br /&gt;
* Resultat: je eine Excel- und Chart-Datei pro Gemeinde &lt;br /&gt;
&lt;br /&gt;
=== Bevölkerungs-Entwicklungsprognose ===&lt;br /&gt;
&lt;br /&gt;
* Input: Excel-Datei pro Gemeinde &lt;br /&gt;
* Resultat: RABEST-DB Prognose&lt;br /&gt;
&lt;br /&gt;
Realisiert und auslieferbereit.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation &#039;Analyse DB (Gemeindedaten)&#039; ==&lt;br /&gt;
&lt;br /&gt;
Dieses Programm erstellt aus den in PostgreSQL-DB verwalteten RABEST-Gemeindedaten und einer Vorlage (Fall1 und Fall2) einen Ordner mit je einer Excel- und Chart-Datei pro Gemeinde (Beispiel: Rapperswil_Jona.xls und Rapperswil_Jona.gif). Der Chart entspricht dem Inhalt des Worksheets &amp;quot;Diagramm_allgemein&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Bedienung:&lt;br /&gt;
* Einschränkung der Anfrage: siehe SQL in Datei query_gemeinden.txt z.B. nur Kanton St. Gallen:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE k.ktkz = &#039;SG&#039;::bpchar&lt;br /&gt;
 ORDER BY g.gdename;&lt;br /&gt;
* ... oder nur Rapperswil:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE g.gdename = &#039;Rapperswil (SG)&#039;;&lt;br /&gt;
&lt;br /&gt;
Software:&lt;br /&gt;
* PostgreSQL&lt;br /&gt;
* Excel 2003&lt;br /&gt;
&lt;br /&gt;
Zu beachten:&lt;br /&gt;
* PostgreSQL Server gestartet? (einmalig einrichten)&lt;br /&gt;
* In VB-Editor: Menu Tools &amp;gt; References &amp;gt; Microsoft ActiveX Data Objects 2.8 Library anwählen (einmalig; sonst ERROR &amp;quot;User-defined type not defined&amp;quot; o.ä.) &lt;br /&gt;
* Microsoft Office-Installation &amp;gt; Office Shared Features &amp;gt; Converters and Filter &amp;gt; Graphics Filters &amp;gt; Graphics Interchange Format (GIF) File Import (sonst ERROR &amp;quot;Objekt unterstützt diese Methode nicht...&amp;quot; o.ä.)&lt;br /&gt;
* Achtung: Inhalt des output-Ordners wird überschrieben!&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
&lt;br /&gt;
Das Zusammenspiel von Postgres und Excel ist aus folgender Graphik ersichtlich:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Excel_postgres.png]]&lt;br /&gt;
&lt;br /&gt;
Zum einen werden die Gemeindedaten aus der Datenbank in eine Vorlage überführt (Pfeile nach rechts) und pro Gemeinde gespeichert. Ausserdem (Pfeil nach links) können gewisse berechnete Daten wieder aus den Gemeinde-Excel-Dateien in die Datenbank abgefüllt werden.&lt;br /&gt;
&lt;br /&gt;
=== Makros und Skripts ===&lt;br /&gt;
&lt;br /&gt;
Die Excel-Vorlage &#039;&#039;*_vorlage_autom_bev_persp.xls&#039;&#039; enthält zwei Makros für die Generierung der Gemeinden-Exceldateien und Diagramme. Ausserdem besteht die Möglichkeit, die generierten Trends (Perspektive nat. Entwicklung, optimistischer- und pessimistischer Trend) aus den Excel-Dateien wieder zurück in die Postgres-Datenbank zu überführen. &lt;br /&gt;
&lt;br /&gt;
==== Trenddaten-Export von Excel nach Postgres ====&lt;br /&gt;
&lt;br /&gt;
Installation/Start: &lt;br /&gt;
* Herunterladen von import_excel_to_postgres.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Zus. Tabellen in RABEST-DB erstellen (siehe unten &#039;Vor dem ersten Durchlauf müssen,...&#039;)&lt;br /&gt;
* Doppelklick auf import_excel_to_postgres.vbs&lt;br /&gt;
** Tipp: Falls &amp;quot;Error &#039;ODBC/.dll nicht gefunden...&#039; PgOleDB.dll und ... herunterladen von [http://pgfoundry.org/frs/?group_id=1000085&amp;amp;release_id=539 pgfoundry]und in $PGHOME/bin-Verzeichnis kopieren.&lt;br /&gt;
* Resultat: die drei unten genannten Tabellen sind (neu) gefüllt mit den Trenddaten.&lt;br /&gt;
&lt;br /&gt;
Vorbereitung: Das &#039;&#039;import_excel_to_postgres.vbs&#039;&#039; Skript, welches einfach ausgeführt werden kann und den Fortschritt in einem Fenster anzeigt, füllt die generierten Daten aus Excel wieder zurück in die Postgres-Datenbank ab. &lt;br /&gt;
&lt;br /&gt;
Vor dem ersten Durchlauf müssen, falls dies nicht bereits geschehen ist, drei Tabellen für die Resultate erstellt werden:&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_natuerlich&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
 &lt;br /&gt;
 CREATE TABLE trend_optimistisch&lt;br /&gt;
 (&lt;br /&gt;
    gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_pessimistisch&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist, dass alle Daten eines früheren Durchlaufs gelöscht werden. Weitere Informationen (Verbindungs-Paramter, etc.) finden sich direkt im Skript (einfach mit Text-Editor öffnen).&lt;br /&gt;
&lt;br /&gt;
  [[Media:Import_excel_to_postgres.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;PostgresImport&#039; ====&lt;br /&gt;
&lt;br /&gt;
Öffnet eine Verbindung zum Postgres-Server und generiert für alle Gemeinden, die durch &#039;&#039;query_gemeinden.txt&#039;&#039; vorgegeben werden. Im Ordner &#039;&#039;output&#039;&#039; wird pro Gemeinde eine Kopie der Vorlage, gefüllt mit den Daten, abgelegt. Ausserdem wird zugleich ein Bild-Export der Diagramm-Varianten durchgeführt. Je nach Anzahl Gemeinden dauert dieser Vorgang einige Minuten, in dieser Zeit sollte mit dem laufenden Excel nicht weitergearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Um allfällige Problemen bei der Weiterverarbeitung auszuschliessen, werden alle Sonderzeichen sowie Klammern aus den Gemeindenamen im Dateinamen ersetzt.&lt;br /&gt;
&lt;br /&gt;
Bereits vorhandene Dateien im &#039;&#039;output&#039;&#039;-Ordner werden ohne Rückfrage überschrieben.&lt;br /&gt;
&lt;br /&gt;
Von den drei existierenden &#039;query_*.txt&#039; Dateien darf nur &#039;&#039;query_gemeinden.txt&#039;&#039; angepasst werden um die betroffenen Gemeinden auszuwählen.&lt;br /&gt;
&lt;br /&gt;
==== &#039;ExportJPG&#039; ====&lt;br /&gt;
&lt;br /&gt;
Falls der bereits erfolgte Export des Diagramms aktualisiert werden soll, kann dies mit dem ExportJPG-Makro gemacht werden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23731</id>
		<title>RABEST-Installation</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=RABEST-Installation&amp;diff=23731"/>
		<updated>2009-07-16T14:00:04Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* Trenddaten-Export von Excel nach Postgres */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zurück zu [[RABEST]]&lt;br /&gt;
&lt;br /&gt;
== Uebersicht ==&lt;br /&gt;
&lt;br /&gt;
=== Rohdaten zu DB mit kettle ===&lt;br /&gt;
&lt;br /&gt;
* Input: &lt;br /&gt;
** Gemeinde/Einwohner/Migrations-Rohdaten von Kantonen oder Gemeinde (Excel, CSV oder DUMPs)&lt;br /&gt;
** Daten vom BFS&lt;br /&gt;
** kettle-Skripts&lt;br /&gt;
** Handarbeit! (v.a. Gemeindenamen und Fusionen)&lt;br /&gt;
* Resultat: RABEST-DB (Haupttabelle Bevoelkerung)&lt;br /&gt;
&lt;br /&gt;
tbd.&lt;br /&gt;
&lt;br /&gt;
=== Analyse DB (Gemeindedaten) ===&lt;br /&gt;
&lt;br /&gt;
* Input: RABEST-DB (Statistik/Ist-Zusand)&lt;br /&gt;
* Resultat: je eine Excel- und Chart-Datei pro Gemeinde &lt;br /&gt;
&lt;br /&gt;
=== Bevölkerungs-Entwicklungsprognose ===&lt;br /&gt;
&lt;br /&gt;
* Input: Excel-Datei pro Gemeinde &lt;br /&gt;
* Resultat: RABEST-DB Prognose&lt;br /&gt;
&lt;br /&gt;
Realisiert und auslieferbereit.&lt;br /&gt;
&lt;br /&gt;
== Dokumentation &#039;Analyse DB (Gemeindedaten)&#039; ==&lt;br /&gt;
&lt;br /&gt;
Dieses Programm erstellt aus den in PostgreSQL-DB verwalteten RABEST-Gemeindedaten und einer Vorlage (Fall1 und Fall2) einen Ordner mit je einer Excel- und Chart-Datei pro Gemeinde (Beispiel: Rapperswil_Jona.xls und Rapperswil_Jona.gif). Der Chart entspricht dem Inhalt des Worksheets &amp;quot;Diagramm_allgemein&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Bedienung:&lt;br /&gt;
* Einschränkung der Anfrage: siehe SQL in Datei query_gemeinden.txt z.B. nur Kanton St. Gallen:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE k.ktkz = &#039;SG&#039;::bpchar&lt;br /&gt;
 ORDER BY g.gdename;&lt;br /&gt;
* ... oder nur Rapperswil:&lt;br /&gt;
 SELECT g.gdeid, g.gdenr, g.gdename&lt;br /&gt;
 FROM gemeinden g&lt;br /&gt;
 JOIN kantone k ON g.ktid = k.ktid&lt;br /&gt;
 WHERE g.gdename = &#039;Rapperswil (SG)&#039;;&lt;br /&gt;
&lt;br /&gt;
Software:&lt;br /&gt;
* PostgreSQL&lt;br /&gt;
* Excel 2003&lt;br /&gt;
&lt;br /&gt;
Zu beachten:&lt;br /&gt;
* PostgreSQL Server gestartet? (einmalig einrichten)&lt;br /&gt;
* In VB-Editor: Menu Tools &amp;gt; References &amp;gt; Microsoft ActiveX Data Objects 2.8 Library anwählen (einmalig; sonst ERROR &amp;quot;User-defined type not defined&amp;quot; o.ä.) &lt;br /&gt;
* Microsoft Office-Installation &amp;gt; Office Shared Features &amp;gt; Converters and Filter &amp;gt; Graphics Filters &amp;gt; Graphics Interchange Format (GIF) File Import (sonst ERROR &amp;quot;Objekt unterstützt diese Methode nicht...&amp;quot; o.ä.)&lt;br /&gt;
* Achtung: Inhalt des output-Ordners wird überschrieben!&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
&lt;br /&gt;
Das Zusammenspiel von Postgres und Excel ist aus folgender Graphik ersichtlich:&lt;br /&gt;
&lt;br /&gt;
[[Bild:Excel_postgres.png]]&lt;br /&gt;
&lt;br /&gt;
Zum einen werden die Gemeindedaten aus der Datenbank in eine Vorlage überführt (Pfeile nach rechts) und pro Gemeinde gespeichert. Ausserdem (Pfeil nach links) können gewisse berechnete Daten wieder aus den Gemeinde-Excel-Dateien in die Datenbank abgefüllt werden.&lt;br /&gt;
&lt;br /&gt;
=== Makros und Skripts ===&lt;br /&gt;
&lt;br /&gt;
Die Excel-Vorlage &#039;&#039;*_vorlage_autom_bev_persp.xls&#039;&#039; enthält zwei Makros für die Generierung der Gemeinden-Exceldateien und Diagramme. Ausserdem besteht die Möglichkeit, die generierten Trends (Perspektive nat. Entwicklung, optimistischer- und pessimistischer Trend) aus den Excel-Dateien wieder zurück in die Postgres-Datenbank zu überführen. &lt;br /&gt;
&lt;br /&gt;
==== Trenddaten-Export von Excel nach Postgres ====&lt;br /&gt;
&lt;br /&gt;
Installation/Start: &lt;br /&gt;
* Herunterladen von import_excel_to_postgres.vbs (siehe unten) und in den normalen RABEST-Ordner (oberhal ./out) kopieren.&lt;br /&gt;
* Zus. Tabellen in RABEST-DB erstellen (siehe unten &#039;Vor dem ersten Durchlauf müssen,...&#039;)&lt;br /&gt;
* Doppelklick auf import_excel_to_postgres.vbs&lt;br /&gt;
** Tipp: Falls &amp;quot;Error &#039;ODBC/.dll nicht gefunden...&#039; PgOleDB.dll und ... herunterladen von [http://pgfoundry.org/frs/?group_id=1000085&amp;amp;release_id=539 pgfoundry]und in $PGHOME/bin-Verzeichnis kopieren.&lt;br /&gt;
* Resultat: die drei unten genannten Tabellen sind (neu) gefüllt mit den Trenddaten.&lt;br /&gt;
&lt;br /&gt;
Vorbereitung: Das &#039;&#039;import_excel_to_postgres.vbs&#039;&#039; Skript, welches einfach ausgeführt werden kann und den Fortschritt in einem Fenster anzeigt, füllt die generierten Daten aus Excel wieder zurück in die Postgres-Datenbank ab. &lt;br /&gt;
&lt;br /&gt;
Vor dem ersten Durchlauf müssen, falls dies nicht bereits geschehen ist, drei Tabellen für die Resultate erstellt werden:&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_natuerlich&lt;br /&gt;
(&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
);&lt;br /&gt;
 &lt;br /&gt;
 CREATE TABLE trend_optimistisch&lt;br /&gt;
 (&lt;br /&gt;
    gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE trend_pessimistisch&lt;br /&gt;
 (&lt;br /&gt;
   gdenr integer NOT NULL,&lt;br /&gt;
   gdname character varying(100) NOT NULL,&lt;br /&gt;
   geschlecht character(1),&lt;br /&gt;
   jahr integer,&lt;br /&gt;
   alterstart integer,&lt;br /&gt;
   alterend integer,&lt;br /&gt;
   anzahl integer&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist, dass alle Daten eines früheren Durchlaufs gelöscht werden. Weitere Informationen (Verbindungs-Paramter, etc.) finden sich direkt im Skript (einfach mit Text-Editor öffnen).&lt;br /&gt;
&lt;br /&gt;
  [[Media:Import_excel_to_postgres.zip‎]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;PostgresImport&#039; ====&lt;br /&gt;
&lt;br /&gt;
Öffnet eine Verbindung zum Postgres-Server und generiert für alle Gemeinden, die durch &#039;&#039;query_gemeinden.txt&#039;&#039; vorgegeben werden. Im Ordner &#039;&#039;output&#039;&#039; wird pro Gemeinde eine Kopie der Vorlage, gefüllt mit den Daten, abgelegt. Ausserdem wird zugleich ein Bild-Export der Diagramm-Varianten durchgeführt. Je nach Anzahl Gemeinden dauert dieser Vorgang einige Minuten, in dieser Zeit sollte mit dem laufenden Excel nicht weitergearbeitet werden.&lt;br /&gt;
&lt;br /&gt;
Um allfällige Problemen bei der Weiterverarbeitung auszuschliessen, werden alle Sonderzeichen sowie Klammern aus den Gemeindenamen im Dateinamen ersetzt.&lt;br /&gt;
&lt;br /&gt;
Bereits vorhandene Dateien im &#039;&#039;output&#039;&#039;-Ordner werden ohne Rückfrage überschrieben.&lt;br /&gt;
&lt;br /&gt;
Von den drei existierenden &#039;query_*.txt&#039; Dateien darf nur &#039;&#039;query_gemeinden.txt&#039;&#039; angepasst werden um die betroffenen Gemeinden auszuwählen.&lt;br /&gt;
&lt;br /&gt;
==== &#039;ExportJPG&#039; ====&lt;br /&gt;
&lt;br /&gt;
Falls der bereits erfolgte Export des Diagramms aktualisiert werden soll, kann dies mit dem ExportJPG-Makro gemacht werden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=Kurs_QGIS_Einf%C3%BChrung&amp;diff=23520</id>
		<title>Kurs QGIS Einführung</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=Kurs_QGIS_Einf%C3%BChrung&amp;diff=23520"/>
		<updated>2009-06-09T12:59:26Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Einführung in Quantum GIS (QGIS)&lt;br /&gt;
&lt;br /&gt;
Version 1.0.2 Standalone (Windows) von http://qgis.org/de/herunterladen/binaerpakete.html&lt;br /&gt;
&lt;br /&gt;
Workshop anlässlich des 3. UNIGIS-Tags 2009.&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[QGIS]].&lt;br /&gt;
&lt;br /&gt;
* WFS-Quelle: http://www.sogis1.so.ch/cgi-bin/sogis/wfs/fossgis2009.wfs&lt;br /&gt;
* Strassenkarte: http://www.sogis1.so.ch/cgi-bin/sogis/sogis_strassenkarte.wms&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=DesktopWMS&amp;diff=23514</id>
		<title>DesktopWMS</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=DesktopWMS&amp;diff=23514"/>
		<updated>2009-06-08T11:47:28Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* running DesktopWMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;A tiny local Web Map Server&#039;&#039;&#039; - serving OpenStreetMap, Google Maps, Yahoo Maps and local image maps.&lt;br /&gt;
&lt;br /&gt;
== About... ==&lt;br /&gt;
Many GIS/geodata editors nowadays include the Web Map Server protocol ([[WMS]]) from OGC, but often they lack support of free map services like OpenStreetMap and local images. OpenStreetMap serves as a free background map and it&#039;s cached, tiled and remote. Georeferenced local images very handy for getting special local knowledge into one&#039;s own geodata. &lt;br /&gt;
&lt;br /&gt;
Note that local images need to be georeferenced and aligned to north before hand. See [[WorldFileTool]] for more information about georeferencing.&lt;br /&gt;
&lt;br /&gt;
DesktopWMS has been reported to work with the following GIS and map viewer:&lt;br /&gt;
* [[JOSM]]&lt;br /&gt;
* [[OpenJUMP]] nightly builds (doesn&#039;t work with stable version)&lt;br /&gt;
* [[uDig]]&lt;br /&gt;
* [[GvSIG]]&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
Basic features:&lt;br /&gt;
* Runs locally in the background as a server.&lt;br /&gt;
* Can be accessed as a WMS service version 1.1.1.&lt;br /&gt;
* Contains the following predefined layers (from remote tile server (requires internet access, see [[Tiling]])):&lt;br /&gt;
** OpenStreetMap&lt;br /&gt;
** Google Maps&lt;br /&gt;
**Yahoo! Maps&lt;br /&gt;
* Serves local images:&lt;br /&gt;
** &#039;Ad-hoc&#039; image layer (file); requires one image file (no tiling) and a [[World file]] as configuration (use e.g. [[WorldFileTool]] to georeference]).&lt;br /&gt;
** Supported formats: jpg, gif, png.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
=== running DesktopWMS ===&lt;br /&gt;
after starting the application with &amp;quot;java -jar desktopwms.jar&amp;quot; the server will start automatically.&lt;br /&gt;
If you use big images, then start the desktopwms with &amp;quot;java -Xmx512M -jar desktopwms.jar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== available commands ===&lt;br /&gt;
you could use following commands:&lt;br /&gt;
*&amp;quot;start&amp;quot; to start the server&lt;br /&gt;
*&amp;quot;stop&amp;quot; to stop the server&lt;br /&gt;
*&amp;quot;restart&amp;quot; to restart the server&lt;br /&gt;
*&amp;quot;isrunning&amp;quot; to check if the server is running&lt;br /&gt;
*&amp;quot;exit&amp;quot; to exit the application&lt;br /&gt;
*&amp;quot;help&amp;quot; to get a list of all available commands with description&lt;br /&gt;
&lt;br /&gt;
=== change capabilities ===&lt;br /&gt;
adjust the files in the folder capabilities&lt;br /&gt;
&lt;br /&gt;
=== change settings ===&lt;br /&gt;
adjust the properties in the file desktopwms.config in the folder config&lt;br /&gt;
&lt;br /&gt;
=== Demo/test with WMS calls (default port is 8998) ===&lt;br /&gt;
* GetMap:&lt;br /&gt;
** with layer name &#039;openstreetmap&#039;: [http://localhost:8998/?service=WMS&amp;amp;version=1.1.1&amp;amp;request=getmap&amp;amp;bbox=8.815067,47.224381,8.817712,47.226178&amp;amp;width=250&amp;amp;height=250&amp;amp;format=image/png&amp;amp;layers=osm]&lt;br /&gt;
** with layer name &#039;google&#039;: [http://localhost:8998/?service=WMS&amp;amp;version=1.1.1&amp;amp;request=getmap&amp;amp;bbox=8.815067,47.224381,8.817712,47.226178&amp;amp;width=250&amp;amp;height=250&amp;amp;format=image/png&amp;amp;layers=google]&lt;br /&gt;
** with layer name &#039;yahoo&#039;: [http://localhost:8998/?service=WMS&amp;amp;version=1.1.1&amp;amp;request=getmap&amp;amp;bbox=8.815067,47.224381,8.817712,47.226178&amp;amp;width=250&amp;amp;height=250&amp;amp;format=image/png&amp;amp;layers=yahoo]&lt;br /&gt;
** with layer name &#039;myimage.jpg&#039; (= local image file in ./data directory of DesktopWMS): [http://localhost:8998/?service=WMS&amp;amp;version=1.1.1&amp;amp;request=getmap&amp;amp;bbox=8.815067,47.224381,8.817712,47.226178&amp;amp;width=250&amp;amp;height=250&amp;amp;format=image/jpeg&amp;amp;layers=myimage.jpg]&lt;br /&gt;
* GetCapabilities: [http://localhost:8998/?request=getcapabilities].&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
* Download: http://dev.ifs.hsr.ch/releases/desktopwms/&lt;br /&gt;
* SVN desktopwms: http://dev.ifs.hsr.ch/svn/desktopwms/&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
* sfkeller(ät)hsr.ch&lt;br /&gt;
* mpaulait(ät)hsr.ch&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[WorldFileTool]]&lt;br /&gt;
*[[WMS]] (de)&lt;br /&gt;
*[[Georeferenzieren von Bildern]] (de)&lt;br /&gt;
*[http://sifsv002.hsr.ch/desktopwms DesktopWMS Trac]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=DesktopWMS&amp;diff=23513</id>
		<title>DesktopWMS</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=DesktopWMS&amp;diff=23513"/>
		<updated>2009-06-08T11:46:12Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;A tiny local Web Map Server&#039;&#039;&#039; - serving OpenStreetMap, Google Maps, Yahoo Maps and local image maps.&lt;br /&gt;
&lt;br /&gt;
== About... ==&lt;br /&gt;
Many GIS/geodata editors nowadays include the Web Map Server protocol ([[WMS]]) from OGC, but often they lack support of free map services like OpenStreetMap and local images. OpenStreetMap serves as a free background map and it&#039;s cached, tiled and remote. Georeferenced local images very handy for getting special local knowledge into one&#039;s own geodata. &lt;br /&gt;
&lt;br /&gt;
Note that local images need to be georeferenced and aligned to north before hand. See [[WorldFileTool]] for more information about georeferencing.&lt;br /&gt;
&lt;br /&gt;
DesktopWMS has been reported to work with the following GIS and map viewer:&lt;br /&gt;
* [[JOSM]]&lt;br /&gt;
* [[OpenJUMP]] nightly builds (doesn&#039;t work with stable version)&lt;br /&gt;
* [[uDig]]&lt;br /&gt;
* [[GvSIG]]&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
Basic features:&lt;br /&gt;
* Runs locally in the background as a server.&lt;br /&gt;
* Can be accessed as a WMS service version 1.1.1.&lt;br /&gt;
* Contains the following predefined layers (from remote tile server (requires internet access, see [[Tiling]])):&lt;br /&gt;
** OpenStreetMap&lt;br /&gt;
** Google Maps&lt;br /&gt;
**Yahoo! Maps&lt;br /&gt;
* Serves local images:&lt;br /&gt;
** &#039;Ad-hoc&#039; image layer (file); requires one image file (no tiling) and a [[World file]] as configuration (use e.g. [[WorldFileTool]] to georeference]).&lt;br /&gt;
** Supported formats: jpg, gif, png.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
=== running DesktopWMS ===&lt;br /&gt;
after starting the application with &amp;quot;java -jar desktopwms.jar&amp;quot; the server will start automatically.&lt;br /&gt;
&lt;br /&gt;
=== available commands ===&lt;br /&gt;
you could use following commands:&lt;br /&gt;
*&amp;quot;start&amp;quot; to start the server&lt;br /&gt;
*&amp;quot;stop&amp;quot; to stop the server&lt;br /&gt;
*&amp;quot;restart&amp;quot; to restart the server&lt;br /&gt;
*&amp;quot;isrunning&amp;quot; to check if the server is running&lt;br /&gt;
*&amp;quot;exit&amp;quot; to exit the application&lt;br /&gt;
*&amp;quot;help&amp;quot; to get a list of all available commands with description&lt;br /&gt;
&lt;br /&gt;
=== change capabilities ===&lt;br /&gt;
adjust the files in the folder capabilities&lt;br /&gt;
&lt;br /&gt;
=== change settings ===&lt;br /&gt;
adjust the properties in the file desktopwms.config in the folder config&lt;br /&gt;
&lt;br /&gt;
=== Demo/test with WMS calls (default port is 8998) ===&lt;br /&gt;
* GetMap:&lt;br /&gt;
** with layer name &#039;openstreetmap&#039;: [http://localhost:8998/?service=WMS&amp;amp;version=1.1.1&amp;amp;request=getmap&amp;amp;bbox=8.815067,47.224381,8.817712,47.226178&amp;amp;width=250&amp;amp;height=250&amp;amp;format=image/png&amp;amp;layers=osm]&lt;br /&gt;
** with layer name &#039;google&#039;: [http://localhost:8998/?service=WMS&amp;amp;version=1.1.1&amp;amp;request=getmap&amp;amp;bbox=8.815067,47.224381,8.817712,47.226178&amp;amp;width=250&amp;amp;height=250&amp;amp;format=image/png&amp;amp;layers=google]&lt;br /&gt;
** with layer name &#039;yahoo&#039;: [http://localhost:8998/?service=WMS&amp;amp;version=1.1.1&amp;amp;request=getmap&amp;amp;bbox=8.815067,47.224381,8.817712,47.226178&amp;amp;width=250&amp;amp;height=250&amp;amp;format=image/png&amp;amp;layers=yahoo]&lt;br /&gt;
** with layer name &#039;myimage.jpg&#039; (= local image file in ./data directory of DesktopWMS): [http://localhost:8998/?service=WMS&amp;amp;version=1.1.1&amp;amp;request=getmap&amp;amp;bbox=8.815067,47.224381,8.817712,47.226178&amp;amp;width=250&amp;amp;height=250&amp;amp;format=image/jpeg&amp;amp;layers=myimage.jpg]&lt;br /&gt;
* GetCapabilities: [http://localhost:8998/?request=getcapabilities].&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
* Download: http://dev.ifs.hsr.ch/releases/desktopwms/&lt;br /&gt;
* SVN desktopwms: http://dev.ifs.hsr.ch/svn/desktopwms/&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
* sfkeller(ät)hsr.ch&lt;br /&gt;
* mpaulait(ät)hsr.ch&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[WorldFileTool]]&lt;br /&gt;
*[[WMS]] (de)&lt;br /&gt;
*[[Georeferenzieren von Bildern]] (de)&lt;br /&gt;
*[http://sifsv002.hsr.ch/desktopwms DesktopWMS Trac]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=WorldFileTool&amp;diff=23512</id>
		<title>WorldFileTool</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=WorldFileTool&amp;diff=23512"/>
		<updated>2009-06-08T11:45:07Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:worldfiletool_swing.png|thumb|WorldFileTool in Swing]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A metadata management tool for georeferenced images.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See also [[World file]], [[IndoorWPS_Locator]], [[Google Earth]], [[DesktopWMS]].&lt;br /&gt;
&lt;br /&gt;
== About... ==&lt;br /&gt;
The WorldFileTool is an interactive tool and a library to georeference images using free and open source software.&lt;br /&gt;
Both, the [[World file]] and the [[KML]] file (&#039;GroundOverlay&#039; tag), enable GIS programs to read georeferenced images.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* Loads, edits and saves KML with its linked image&lt;br /&gt;
* If needed, rotates an image to be north aligned and saves it back (and rotating raster images is NOT trivial and at least time consuming!)&lt;br /&gt;
* Supports following graphic file formats: jpg, (jpeg), png, gif, (tiff)&lt;br /&gt;
* Imports and exports a [[World file]] with its corresponding image&lt;br /&gt;
&lt;br /&gt;
Limitations:&lt;br /&gt;
* The rotation of an image can degrade its resolution (which in turn makes its size at least smaller). The rotation of an image outside 0, 90, 180 and 270 degree has some fundamental implications - aside a double memory consumption: (i.e. how to deal with clipped regions of a rotated square pixel?).&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Prepare the image. In order to minimize the system strain, keep the image size smaller than 2000 x 2000 pixels. If the image is larger then that, start WorldFile Tool in Terminal with &amp;quot;java -Xmx256M -jar WorldFileTool.jar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
# Open [[Google Earth]], use &amp;quot;Add Image Overlay&amp;quot;, save it and export it as .kml in a local directory.&lt;br /&gt;
# Start WorldFileTool, import KML and export it either again KML or as world file. &lt;br /&gt;
# Done.&lt;br /&gt;
&lt;br /&gt;
Now you can use the image e.g. in [[GIS]] tools like [[UMN Mapserver]] (based on the world file) or in [[IndoorWPS Locator]] (based on the KML).&lt;br /&gt;
&lt;br /&gt;
For bugs and feature requests see [http://sifsv002.hsr.ch/worldfiletool Developer&#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
== How to transform a World file into WGS84? ==&lt;br /&gt;
&lt;br /&gt;
The WorldFileTool currently can&#039;t reproject coordinates, e.g. from local to other [[CRS]]s. But Google Earth for example expects image overlays unprojected with lat/long extents.&lt;br /&gt;
&lt;br /&gt;
Use gdalwarp (see [[GDAL]]) to convert each world file into an unprojected GeoTiff, and then gdal_translate to produce a jpeg compatible with Google Earth, along with another worldfile listing in lat/lon. &lt;br /&gt;
&lt;br /&gt;
  % gdalwarp -s_srs EPSG:21781 -t_srs EPSG:4326 switzerland.jpg switzerland_wgs84.tif&lt;br /&gt;
  % gdal_translate -outsize 13% 13% -of JPEG -co WORLDFILE=YES switzerland_wgs84.tif switzerland_wgs84.jpg&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
* Download: [http://gis.hsr.ch/wiki/images/a/ad/Worldfiletool_0_3_6.zip WorldFileTool]&lt;br /&gt;
* SVN: http://sifsv002.hsr.ch/svn/worldfiletool ([http://sifsv002.hsr.ch/worldfiletool/browser Browse source on SVN])&lt;br /&gt;
* [http://sifsv002.hsr.ch/worldfiletool/newticket Bug Report]&lt;br /&gt;
* Full deliverable contains Java (inc. Javadoc), Swing, SWT and test cases (JUnit).&lt;br /&gt;
&lt;br /&gt;
== Other software to convert World files ==&lt;br /&gt;
&lt;br /&gt;
* [[ArcGIS]]&lt;br /&gt;
* The TatukGIS Viewer can open a raster image file in several different formats (JPG, BMP, PNG, TIF, ECW, SID, JP2), use the world file to georeference it, and then export it to the GeoTiff format with the georeferencing data embedded in it.&lt;br /&gt;
* See also http://freegeographytools.com&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=WorldFileTool&amp;diff=23511</id>
		<title>WorldFileTool</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=WorldFileTool&amp;diff=23511"/>
		<updated>2009-06-08T11:43:13Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Bild:worldfiletool_swing.png|thumb|WorldFileTool in Swing]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A metadata management tool for georeferenced images.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See also [[World file]], [[IndoorWPS_Locator]], [[Google Earth]], [[DesktopWMS]].&lt;br /&gt;
&lt;br /&gt;
== About... ==&lt;br /&gt;
The WorldFileTool is an interactive tool and a library to georeference images using free and open source software.&lt;br /&gt;
Both, the [[World file]] and the [[KML]] file (&#039;GroundOverlay&#039; tag), enable GIS programs to read georeferenced images.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* Loads, edits and saves KML with its linked image&lt;br /&gt;
* If needed, rotates an image to be north aligned and saves it back (and rotating raster images is NOT trivial and at least time consuming!)&lt;br /&gt;
* Supports following graphic file formats: jpg, (jpeg), png, gif, (tiff)&lt;br /&gt;
* Imports and exports a [[World file]] with its corresponding image&lt;br /&gt;
&lt;br /&gt;
Limitations:&lt;br /&gt;
* The rotation of an image can degrade its resolution (which in turn makes its size at least smaller). The rotation of an image outside 0, 90, 180 and 270 degree has some fundamental implications - aside a double memory consumption: (i.e. how to deal with clipped regions of a rotated square pixel?).&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Prepare the image. In order to minimize the system strain, keep the image size smaller than 2000 x 2000 pixels.&lt;br /&gt;
&lt;br /&gt;
# Open [[Google Earth]], use &amp;quot;Add Image Overlay&amp;quot;, save it and export it as .kml in a local directory.&lt;br /&gt;
# Start WorldFileTool, import KML and export it either again KML or as world file. &lt;br /&gt;
# Done.&lt;br /&gt;
&lt;br /&gt;
Now you can use the image e.g. in [[GIS]] tools like [[UMN Mapserver]] (based on the world file) or in [[IndoorWPS Locator]] (based on the KML).&lt;br /&gt;
&lt;br /&gt;
For bugs and feature requests see [http://sifsv002.hsr.ch/worldfiletool Developer&#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
== How to transform a World file into WGS84? ==&lt;br /&gt;
&lt;br /&gt;
The WorldFileTool currently can&#039;t reproject coordinates, e.g. from local to other [[CRS]]s. But Google Earth for example expects image overlays unprojected with lat/long extents.&lt;br /&gt;
&lt;br /&gt;
Use gdalwarp (see [[GDAL]]) to convert each world file into an unprojected GeoTiff, and then gdal_translate to produce a jpeg compatible with Google Earth, along with another worldfile listing in lat/lon. &lt;br /&gt;
&lt;br /&gt;
  % gdalwarp -s_srs EPSG:21781 -t_srs EPSG:4326 switzerland.jpg switzerland_wgs84.tif&lt;br /&gt;
  % gdal_translate -outsize 13% 13% -of JPEG -co WORLDFILE=YES switzerland_wgs84.tif switzerland_wgs84.jpg&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
* Download: [http://gis.hsr.ch/wiki/images/a/ad/Worldfiletool_0_3_6.zip WorldFileTool]&lt;br /&gt;
* SVN: http://sifsv002.hsr.ch/svn/worldfiletool ([http://sifsv002.hsr.ch/worldfiletool/browser Browse source on SVN])&lt;br /&gt;
* [http://sifsv002.hsr.ch/worldfiletool/newticket Bug Report]&lt;br /&gt;
* Full deliverable contains Java (inc. Javadoc), Swing, SWT and test cases (JUnit).&lt;br /&gt;
&lt;br /&gt;
== Other software to convert World files ==&lt;br /&gt;
&lt;br /&gt;
* [[ArcGIS]]&lt;br /&gt;
* The TatukGIS Viewer can open a raster image file in several different formats (JPG, BMP, PNG, TIF, ECW, SID, JP2), use the world file to georeference it, and then export it to the GeoTiff format with the georeferencing data embedded in it.&lt;br /&gt;
* See also http://freegeographytools.com&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=OpenStreetMap-Workshop&amp;diff=23490</id>
		<title>OpenStreetMap-Workshop</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=OpenStreetMap-Workshop&amp;diff=23490"/>
		<updated>2009-06-04T07:00:19Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Workshop &amp;quot;OpenStreetMap im eigenen GIS-Projekt sinnvoll nutzen&amp;quot; im Rahmen des 3. [[UNIGIS-Tag_Schweiz]] 2009.&lt;br /&gt;
&lt;br /&gt;
Organistorisches:&lt;br /&gt;
* Teilnehmer: ca. 12. &lt;br /&gt;
* Zeitbedarf: ca. 60 min, zwei Durchführungen 14 und 15 Uhr.&lt;br /&gt;
* Voraussetzungen: Kenntnisse eines GIS, insbesondere Shapefiles und GPS; keine Kenntnisse der OSM-Tools.&lt;br /&gt;
&lt;br /&gt;
Ziel: Die Teilnehmer sehen wie ein Shapefile erzeugt werden kann. Die Teilnehmer haben eine Vorstellung, was es für Tools gibt, wie diese eingesetzt werden und was der Inhalt von OSM ist.&lt;br /&gt;
&lt;br /&gt;
Vorbereitung (Leitung/Vortrag): &lt;br /&gt;
* Dokumentation zur Abgabe: Ein A4-Blatt&lt;br /&gt;
* Diese Seite ergänzen&lt;br /&gt;
* Bei Bedarf betroffene Seiten, insbesondere [[HowTo_OpenStreetMap]] anpassen&lt;br /&gt;
&lt;br /&gt;
Ablauf:&lt;br /&gt;
* Einen Plan mit Google Earth ([[Georeferenzieren von Bildern]])&lt;br /&gt;
* [[WorldFileTool]] installieren und Plan vorbereiten&lt;br /&gt;
* [[DesktopWMS]] starten&lt;br /&gt;
* [[JOSM]] mit WMS-Plugins installieren&lt;br /&gt;
* Editieren und nach OSM hochladen&lt;br /&gt;
* OSM-Ausschnitt von OSM herunterladen &lt;br /&gt;
* Nach Shapefile konvertieren mit [[GeoConverter]]&lt;br /&gt;
* Ausblick: OSM als WMS nutzen (siehe )&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=OpenStreetMap-Workshop&amp;diff=23489</id>
		<title>OpenStreetMap-Workshop</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=OpenStreetMap-Workshop&amp;diff=23489"/>
		<updated>2009-06-04T06:59:48Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Workshop &amp;quot;OpenStreetMap im eigenen GIS-Projekt sinnvoll nutzen&amp;quot; im Rahmen des 3. [[UNIGIS-Tag_Schweiz]] 2009.&lt;br /&gt;
&lt;br /&gt;
Organistorisches:&lt;br /&gt;
* Teilnehmer: ca. 12. &lt;br /&gt;
* Zeitbedarf: ca. 60 min, zwei Durchführungen 14 und 15 Uhr.&lt;br /&gt;
* Voraussetzungen: Kenntnisse eines GIS, insbesondere Shapefiles und GPS; keine Kenntnisse der OSM-Tools.&lt;br /&gt;
&lt;br /&gt;
Ziel: Die Teilnehmer sehen wie ein Shapefile erzeugt werden kann. Die Teilnehmer haben eine Vorstellung, was es für Tools gibt, wie diese eingesetzt werden und was der Inhalt von OSM ist.&lt;br /&gt;
&lt;br /&gt;
Vorbereitung (Leitung/Vortrag): &lt;br /&gt;
* Dokumentation zur Abgabe: Ein A4-Blatt&lt;br /&gt;
* Diese Seite ergänzen&lt;br /&gt;
* Bei Bedarf betroffene Seiten, insbesondere [[HowTo_OpenStreetMap]] anpassen&lt;br /&gt;
&lt;br /&gt;
Ablauf:&lt;br /&gt;
* Einen Plan mit Google Earth ([[Georeferenzieren von Bildern]])&lt;br /&gt;
* [[WorldFileTool]] installieren und Plan vorbereiten&lt;br /&gt;
* [[DesktopWMS]] starten&lt;br /&gt;
* JOSM mit Plugins installieren&lt;br /&gt;
* Editieren und nach OSM hochladen&lt;br /&gt;
* OSM-Ausschnitt von OSM herunterladen &lt;br /&gt;
* Nach Shapefile konvertieren mit [[GeoConverter]]&lt;br /&gt;
* Ausblick: OSM als WMS nutzen (siehe )&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=OpenStreetMap-Workshop&amp;diff=23488</id>
		<title>OpenStreetMap-Workshop</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=OpenStreetMap-Workshop&amp;diff=23488"/>
		<updated>2009-06-04T06:59:17Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Workshop &amp;quot;OpenStreetMap im eigenen GIS-Projekt sinnvoll nutzen&amp;quot; im Rahmen des 3. [[UNIGIS-Tag_Schweiz]] 2009.&lt;br /&gt;
&lt;br /&gt;
Organistorisches:&lt;br /&gt;
* Teilnehmer: ca. 12. &lt;br /&gt;
* Zeitbedarf: ca. 60 min, zwei Durchführungen 14 und 15 Uhr.&lt;br /&gt;
* Voraussetzungen: Kenntnisse eines GIS, insbesondere Shapefiles und GPS; keine Kenntnisse der OSM-Tools.&lt;br /&gt;
&lt;br /&gt;
Ziel: Die Teilnehmer sehen wie ein Shapefile erzeugt werden kann. Die Teilnehmer haben eine Vorstellung, was es für Tools gibt, wie diese eingesetzt werden und was der Inhalt von OSM ist.&lt;br /&gt;
&lt;br /&gt;
Vorbereitung (Leitung/Vortrag): &lt;br /&gt;
* Dokumentation zur Abgabe: Ein A4-Blatt&lt;br /&gt;
* Diese Seite ergänzen&lt;br /&gt;
* Bei Bedarf betroffene Seiten, insbesondere [[HowTo_OpenStreetMap]] anpassen&lt;br /&gt;
&lt;br /&gt;
Ablauf:&lt;br /&gt;
* Einen Plan mit Google Earth [[georeferenzieren]] ([[Bilder georeferenzieren]])&lt;br /&gt;
* [[WorldFileTool]] installieren und Plan vorbereiten&lt;br /&gt;
* [[DesktopWMS]] starten&lt;br /&gt;
* JOSM mit Plugins installieren&lt;br /&gt;
* Editieren und nach OSM hochladen&lt;br /&gt;
* OSM-Ausschnitt von OSM herunterladen &lt;br /&gt;
* Nach Shapefile konvertieren mit [[GeoConverter]]&lt;br /&gt;
* Ausblick: OSM als WMS nutzen (siehe )&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=OpenStreetMap-Workshop&amp;diff=23487</id>
		<title>OpenStreetMap-Workshop</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=OpenStreetMap-Workshop&amp;diff=23487"/>
		<updated>2009-06-04T06:58:58Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Workshop &amp;quot;OpenStreetMap im eigenen GIS-Projekt sinnvoll nutzen&amp;quot; im Rahmen des 3. [[UNIGIS-Tag_Schweiz]] 2009.&lt;br /&gt;
&lt;br /&gt;
Organistorisches:&lt;br /&gt;
* Teilnehmer: ca. 12. &lt;br /&gt;
* Zeitbedarf: ca. 60 min, zwei Durchführungen 14 und 15 Uhr.&lt;br /&gt;
* Voraussetzungen: Kenntnisse eines GIS, insbesondere Shapefiles und GPS; keine Kenntnisse der OSM-Tools.&lt;br /&gt;
&lt;br /&gt;
Ziel: Die Teilnehmer sehen wie ein Shapefile erzeugt werden kann. Die Teilnehmer haben eine Vorstellung, was es für Tools gibt, wie diese eingesetzt werden und was der Inhalt von OSM ist.&lt;br /&gt;
&lt;br /&gt;
Vorbereitung (Leitung/Vortrag): &lt;br /&gt;
* Dokumentation zur Abgabe: Ein A4-Blatt&lt;br /&gt;
* Diese Seite ergänzen&lt;br /&gt;
* Bei Bedarf betroffene Seiten, insbesondere [[HowTo_OpenStreetMap]] anpassen&lt;br /&gt;
&lt;br /&gt;
Ablauf:&lt;br /&gt;
* Einen Plan mit Google Earth georeferenzieren ([[Bilder georeferenzieren]]&lt;br /&gt;
* [[WorldFileTool]] installieren und Plan vorbereiten&lt;br /&gt;
* [[DesktopWMS]] starten&lt;br /&gt;
* JOSM mit Plugins installieren&lt;br /&gt;
* Editieren und nach OSM hochladen&lt;br /&gt;
* OSM-Ausschnitt von OSM herunterladen &lt;br /&gt;
* Nach Shapefile konvertieren mit [[GeoConverter]]&lt;br /&gt;
* Ausblick: OSM als WMS nutzen (siehe )&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=GeoJSON&amp;diff=23332</id>
		<title>GeoJSON</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=GeoJSON&amp;diff=23332"/>
		<updated>2009-05-25T08:31:57Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Geo-Dialekt des Text-Formats &amp;quot;JavaScript Object Notation&amp;quot; (JSON).&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[OGR]]-Konverter.&lt;br /&gt;
&lt;br /&gt;
Currently, GeoJSON is supported as output format of services implemented by FeatureServer, GeoServer and CartoWeb3.&lt;br /&gt;
&lt;br /&gt;
Ein einfacher GPX zu GeoJSON Konverter: [http://gpx2geojson.appspot.com/?gpxurl= gpx2GeoJSON]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Dateiformat]]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=GeoJSON&amp;diff=23331</id>
		<title>GeoJSON</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=GeoJSON&amp;diff=23331"/>
		<updated>2009-05-25T08:31:38Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Geo-Dialekt des Text-Formats &amp;quot;JavaScript Object Notation&amp;quot; (JSON).&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[OGR]]-Konverter.&lt;br /&gt;
&lt;br /&gt;
Currently, GeoJSON is supported as output format of services implemented by FeatureServer, GeoServer and CartoWeb3.&lt;br /&gt;
Ein einfacher GPX zu GeoJSON Konverter: [http://gpx2geojson.appspot.com/?gpxurl= gpx2GeoJSON]&lt;br /&gt;
[[Kategorie:Dateiformat]]&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=OpenLayers&amp;diff=22889</id>
		<title>OpenLayers</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=OpenLayers&amp;diff=22889"/>
		<updated>2009-04-21T08:18:43Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Webmapping Client Framework.&lt;br /&gt;
&lt;br /&gt;
Startseite: [http://www.openlayers.org OpenLayers.org].&lt;br /&gt;
&lt;br /&gt;
Open Source, Ajax.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://swm.wald.intevation.org/ Stand der Technik am Beispiel OpenLayers (Diplomarbeit)]&lt;br /&gt;
* [http://shpuroff.com/maps/ Howto mashup... (shpuroff.com)]&lt;br /&gt;
* Bücher: &lt;br /&gt;
** Siehe [[Online-Karten]]&lt;br /&gt;
* Tutorials:&lt;br /&gt;
** [http://www.fossgis.de/konferenz/wiki/OpenLayers FOSSGIS2009]&lt;br /&gt;
** [http://www.bostongis.com/?content_name=openlayers_tut_01#48 BostonGIS]&lt;br /&gt;
** [http://www.cognitiones.de/doku.php/osm_openlayers_test Openlayers&amp;amp;OpenstreetMap]&lt;br /&gt;
** [http://workshops.opengeo.org/openlayers/intro/doc/en/index.html OpenGeo]&lt;br /&gt;
&lt;br /&gt;
== OpenLayers Converter ==&lt;br /&gt;
&lt;br /&gt;
Startseite: [http://dev.openlayers.org/sandbox/crschmidt/projection/examples/convert-data.html OpenLayers Format Conversion]. &lt;br /&gt;
&lt;br /&gt;
Eine freie Webapplikation, die eine einfache Konversion aller GIS-Daten-Formate anbietet. Zurzeit sind dies [[GeoJSON]], [[GML]], [[KML]], [[WKT]]. Ist eine Alternative z.B. zu [[GeoConverter]], geeignet für kleinere Dateien; kein Zwischenspeichern der Quelldaten nötig.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Simply paste your data, choose your format, and hit convert. Additionally, this tool supports reprojection to and from Spherical Mercator, the internal coordinate system used in Google Maps.&amp;quot;&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
	<entry>
		<id>https://giswiki.ch/index.php?title=OpenLayers&amp;diff=22877</id>
		<title>OpenLayers</title>
		<link rel="alternate" type="text/html" href="https://giswiki.ch/index.php?title=OpenLayers&amp;diff=22877"/>
		<updated>2009-04-16T10:17:32Z</updated>

		<summary type="html">&lt;p&gt;Sbichsel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Webmapping Client Framework.&lt;br /&gt;
&lt;br /&gt;
Startseite: [http://www.openlayers.org OpenLayers.org].&lt;br /&gt;
&lt;br /&gt;
Open Source, Ajax.&lt;br /&gt;
&lt;br /&gt;
Weblinks:&lt;br /&gt;
* [http://swm.wald.intevation.org/ Stand der Technik am Beispiel OpenLayers (Diplomarbeit)]&lt;br /&gt;
* [http://shpuroff.com/maps/ Howto mashup... (shpuroff.com)]&lt;br /&gt;
* Bücher: &lt;br /&gt;
** Siehe [[Online-Karten]]&lt;br /&gt;
* Tutorials:&lt;br /&gt;
** [http://www.fossgis.de/konferenz/wiki/OpenLayers FOSSGIS2009]&lt;br /&gt;
** [http://www.bostongis.com/?content_name=openlayers_tut_01#48 BostonGIS]&lt;br /&gt;
** [http://www.cognitiones.de/doku.php/osm_openlayers_test Openlayers&amp;amp;OpenstreetMap]&lt;br /&gt;
&lt;br /&gt;
== OpenLayers Converter ==&lt;br /&gt;
&lt;br /&gt;
Startseite: [http://dev.openlayers.org/sandbox/crschmidt/projection/examples/convert-data.html OpenLayers Format Conversion]. &lt;br /&gt;
&lt;br /&gt;
Eine freie Webapplikation, die eine einfache Konversion aller GIS-Daten-Formate anbietet. Zurzeit sind dies [[GeoJSON]], [[GML]], [[KML]], [[WKT]]. Ist eine Alternative z.B. zu [[GeoConverter]], geeignet für kleinere Dateien; kein Zwischenspeichern der Quelldaten nötig.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Simply paste your data, choose your format, and hit convert. Additionally, this tool supports reprojection to and from Spherical Mercator, the internal coordinate system used in Google Maps.&amp;quot;&lt;/div&gt;</summary>
		<author><name>Sbichsel</name></author>
	</entry>
</feed>