RABEST-Installation

Aus Geoinformation HSR
Version vom 20. April 2009, 11:35 Uhr von Misto (Diskussion | Beiträge) (Trenddaten-Export von Excel nach Postgres)

Wechseln zu: Navigation, Suche

Zurück zu RABEST

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 "Diagramm_allgemein".

Bedienung:

  • Einschränkung der Anfrage: siehe SQL in Datei query_gemeinden.txt z.B. nur Kanton St. Gallen:
SELECT g.gdeid, g.gdenr, g.gdename
FROM gemeinden g
JOIN kantone k ON g.ktid = k.ktid
WHERE k.ktkz = 'SG'::bpchar
ORDER BY g.gdename;
  • ... oder nur Rapperswil:
SELECT g.gdeid, g.gdenr, g.gdename
FROM gemeinden g
JOIN kantone k ON g.ktid = k.ktid
WHERE g.gdename = 'Rapperswil (SG)';

Software:

  • PostgreSQL
  • Excel 2003

Zu beachten:

  • PostgreSQL Server gestartet? (einmalig einrichten)
  • In VB-Editor: Menu Tools > References > Microsoft ActiveX Data Objects 2.8 Library anwählen (einmalig; sonst ERROR "User-defined type not defined" o.ä.)
  • Microsoft Office-Installation > Office Shared Features > Converters and Filter > Graphics Filters > Graphics Interchange Format (GIF) File Import (sonst ERROR "Objekt unterstützt diese Methode nicht..." o.ä.)
  • Achtung: Inhalt des output-Ordners wird überschrieben!


Funktionsweise

Das Zusammenspiel von Postgres und Excel ist aus folgender Graphik ersichtlich:

Excel postgres.png

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.

Makros und Skripts

Die Excel-Vorlage *_vorlage_autom_bev_persp.xls 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.

Trenddaten-Export von Excel nach Postgres

Das import_excel_to_postgres.vbs 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. Vor dem ersten Durchlauf müssen, falls dies nicht bereits geschehen ist, drei Tabellen für die Resultate erstellt werden:

CREATE TABLE bev_nat
(
  gdenr integer NOT NULL,
  gdname character varying(100) NOT NULL,
  geschlecht character(1),
  jahr integer,
  "alter" integer,
  anzahl integer
);
CREATE TABLE trend_optimistisch
(
  gdenr integer NOT NULL,
  gdname character varying(100) NOT NULL,
  geschlecht character(1),
  jahr integer,
  "alter" integer,
  anzahl integer
);
CREATE TABLE trend_pessimistisch
(
  gdenr integer NOT NULL,
  gdname character varying(100) NOT NULL,
  geschlecht character(1),
  jahr integer,
  "alter" integer,
  anzahl integer
);

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).

Media:Import_excel_to_postgres.zip‎

'PostgresImport'

Öffnet eine Verbindung zum Postgres-Server und generiert für alle Gemeinden, die durch query_gemeinden.txt vorgegeben werden. Im Ordner output 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.

Um allfällige Problemen bei der Weiterverarbeitung auszuschliessen, werden alle Sonderzeichen sowie Klammern aus den Gemeindenamen im Dateinamen ersetzt.

Bereits vorhandene Dateien im output-Ordner werden ohne Rückfrage überschrieben.

Von den drei existierenden 'query_*.txt' Dateien darf nur query_gemeinden.txt angepasst werden um die betroffenen Gemeinden auszuwählen.

'ExportJPG'

Falls der bereits erfolgte Export des Diagramms aktualisiert werden soll, kann dies mit dem ExportJPG-Makro gemacht werden.