Recorder mit QGIS verbinden: Unterschied zwischen den Versionen
K (verschob „Recorder mit QGIS binden“ nach „Recorder mit QGIS verbinden“) |
|||
Zeile 3: | Zeile 3: | ||
[http://de.wikipedia.org/wiki/Quantum_GIS QGis] oder [http://de.wikipedia.org/wiki/Quantum_GIS Quantum Gis] ist ein benutzerfreundliches, frei verfügbares und quelloffenes Geoinformationssystem zum Betrachten, Bearbeiten und Erfassen von räumlichen Daten. Seit Erscheinen der Version Dufor 2.0 ist es besonders gut geeignet, Beobachtungsdaten der Recorder-Datenbank in einem GIS-System darzustellen. | [http://de.wikipedia.org/wiki/Quantum_GIS QGis] oder [http://de.wikipedia.org/wiki/Quantum_GIS Quantum Gis] ist ein benutzerfreundliches, frei verfügbares und quelloffenes Geoinformationssystem zum Betrachten, Bearbeiten und Erfassen von räumlichen Daten. Seit Erscheinen der Version Dufor 2.0 ist es besonders gut geeignet, Beobachtungsdaten der Recorder-Datenbank in einem GIS-System darzustellen. | ||
− | Vorausetzung dafür ist, dass die Recorder-Datenbank auf dem Microsoft SQL Server 2008 oder 2012 eingebunden ist. | + | Vorausetzung dafür ist, dass die Recorder-Datenbank auf dem Microsoft SQL Server 2008 oder 2012 eingebunden ist. Dieser kann Geometrie-Daten nutzen und verwalten. |
− | + | ===Vorbereitende Arbeiten=== | |
+ | |||
+ | ====1. Schritt: QGIS installieren==== | ||
Installieren Sie QGIS von der [http://www.qgis.org/de/site offiziellen Website des Projektes]. | Installieren Sie QGIS von der [http://www.qgis.org/de/site offiziellen Website des Projektes]. | ||
− | + | ====2. Schritt: Recorder Datenbank für QGIS optimieren==== | |
− | Öffnen Sie dazu das SQL Server Management Studio und verbinden Sie sich mit der Datenbank-Instanz, auf der Ihre Recorder Datenbank liegt. | + | |
− | Wählen Sie die Recorder-Datenbank im Objekt-Explorer aus. | + | Um die Recorder-Datenbank effektiv unter QGIS einbinden zu könnenUnter Recorder müssen sei mindestens ein zusätzliches View erstellen. Öffnen Sie dazu das SQL Server Management Studio und verbinden Sie sich mit der Datenbank-Instanz, auf der Ihre Recorder Datenbank liegt. |
− | Kopieren Sie den folgenden Quellcode in das Abfragefenster: | + | |
+ | Wählen Sie die Recorder-Datenbank im Objekt-Explorer aus. Starten Sie eine neue Abfrage mit '''Datei→Neu→Abfrage mit aktueller Verbindung''' (Strg+N). Kopieren Sie den folgenden Quellcode in das Abfragefenster: | ||
IF EXISTS (SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'[dbo].[bfn_sample_spatial_ref]') AND type in (N'V')) | IF EXISTS (SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'[dbo].[bfn_sample_spatial_ref]') AND type in (N'V')) | ||
Zeile 66: | Zeile 69: | ||
GRANT SELECT ON [dbo].[bfn_sample_spatial_ref] TO PUBLIC | GRANT SELECT ON [dbo].[bfn_sample_spatial_ref] TO PUBLIC | ||
− | Führen Sie das Script aus. Drücken Sie dazu den Ausführen-Knopf auf der SQL-Editor-Symbolleite, oder wählen Sie | + | |
+ | Führen Sie das Script aus. Drücken Sie dazu den Ausführen-Knopf auf der SQL-Editor-Symbolleite, oder wählen Sie '''Abfrage→Ausführen'''. | ||
Der Code erstellt ein neues View in Ihrer Recorder Datenbank. Dabei werden aus den Recorder Raumreferenzen der Aufnahmen (Tabelle Sample) Geometrien erzeugt und gleichzeitig Koordinaten von Rasterpunkten der deutschen Rastersysteme in das Zentrum des Rasters verlegt. | Der Code erstellt ein neues View in Ihrer Recorder Datenbank. Dabei werden aus den Recorder Raumreferenzen der Aufnahmen (Tabelle Sample) Geometrien erzeugt und gleichzeitig Koordinaten von Rasterpunkten der deutschen Rastersysteme in das Zentrum des Rasters verlegt. | ||
− | Schritt 3: DNS erstellen | + | ====Schritt 3: DNS erstellen==== |
+ | |||
Um Quantum GIS mit dem SQL-Server verbinden zu können, müssen Sie zunächst eine DNS erstellen. | Um Quantum GIS mit dem SQL-Server verbinden zu können, müssen Sie zunächst eine DNS erstellen. | ||
− | + | =====Windows 7===== | |
− | Klicken Sie im Menü Start auf Systemsteuerung, in der Systemsteuerung auf Verwaltung und dort auf Datenquellen (ODBC); alternativ geben Sie im Startmenü "Datenquellen | + | Klicken Sie im Menü '''Start''' auf '''Systemsteuerung''', in der Systemsteuerung auf '''Verwaltung''' und dort auf '''Datenquellen (ODBC)'''; alternativ geben Sie im Startmenü "'''Datenquellen''' ein und wählen den gefundenen Eintrag "Datenquellen (ODBC)" aus. |
− | + | Wählen Sie den Reiter "Benutzer-DSN". Klicken Sie auf '''[Hinzufügen]''' Wählen Sie den Treiber "''SQL Server''" aus der Treiberliste aus (es sind auch andere möglich, gegebenenfalls müssen Sie das austesten. Vergeben Sie einen '''Namen''' für die DSN (z.B. ''Recorder'' und geben Sie unter '''Server''' die SQL-Server Instanz Ihrer Recorder-Datenbank an. Diese setzt sich aus em Computernamen + dem Instanznamen susammen also MeinPC/Instanz. Im Zweifelsfall nutzen Sie das kleine Tool '''RecorderInfo'''. Sie finden es unter Ihrer Recorder Installation im Ordner '''Helferlein'''. Starten Sie das Programm mit Doppelklick, wählen Sie {{Taste|Recorder 6 Infos holen}}. Suchen Sie den Eintrag unter Server Name: und kopieren Sie den Inhalt. | |
− | Schritt 4: | + | Bestätigen Sie mit {{Taste|Fertigstellen}}. Die neu erstellte Datenbankverbindung kann jetzt genutzt werden. |
− | Wählen Sie aus dem Hauptmenü | + | |
− | Name: Recorder (frei wählbar!) | + | |
− | Lieferant/DSN: RecorderTestdb (Name der soeben erstellten DSN) | + | ====Schritt 4: Verbindung zu Recorder in QGIS erstellen.==== |
− | Host: (kein Eintrag!) | + | |
− | Datenbank: NBNData (abweichenden Datenbanknamen mit RecorderInfo erfragen) | + | Wählen Sie aus dem Hauptmenü '''Layer→Räumlichen MSSQL Layer hinzufügen'''. Klicken Sie auf '''Neu''' und erstellen Sie eine neue Verbindung mit folgenden Daten: |
− | Vertrauenswürdige | + | :'''Name:''' ''Recorder'' (frei wählbar!) |
+ | :'''Lieferant/DSN:''' '''RecorderTestdb''' (Name der soeben erstellten DSN) | ||
+ | :'''Host:''' (kein Eintrag!) | ||
+ | :'''Datenbank:''' ''NBNData'' (abweichenden Datenbanknamen mit RecorderInfo erfragen) | ||
+ | :'''Vertrauenswürdige Verbindung:''' ausgewählt | ||
Zeile 114: | Zeile 123: | ||
GRANT SELECT ON [dbo].[v_cts_qgis_link] TO PUBLIC | GRANT SELECT ON [dbo].[v_cts_qgis_link] TO PUBLIC | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Version vom 22. Januar 2014, 17:32 Uhr
Dieses Tutorial ist zur Zeit in Bearbeitung
QGis oder Quantum Gis ist ein benutzerfreundliches, frei verfügbares und quelloffenes Geoinformationssystem zum Betrachten, Bearbeiten und Erfassen von räumlichen Daten. Seit Erscheinen der Version Dufor 2.0 ist es besonders gut geeignet, Beobachtungsdaten der Recorder-Datenbank in einem GIS-System darzustellen.
Vorausetzung dafür ist, dass die Recorder-Datenbank auf dem Microsoft SQL Server 2008 oder 2012 eingebunden ist. Dieser kann Geometrie-Daten nutzen und verwalten.
Inhaltsverzeichnis
Vorbereitende Arbeiten
1. Schritt: QGIS installieren
Installieren Sie QGIS von der offiziellen Website des Projektes.
2. Schritt: Recorder Datenbank für QGIS optimieren
Um die Recorder-Datenbank effektiv unter QGIS einbinden zu könnenUnter Recorder müssen sei mindestens ein zusätzliches View erstellen. Öffnen Sie dazu das SQL Server Management Studio und verbinden Sie sich mit der Datenbank-Instanz, auf der Ihre Recorder Datenbank liegt.
Wählen Sie die Recorder-Datenbank im Objekt-Explorer aus. Starten Sie eine neue Abfrage mit Datei→Neu→Abfrage mit aktueller Verbindung (Strg+N). Kopieren Sie den folgenden Quellcode in das Abfragefenster:
IF EXISTS (SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'[dbo].[bfn_sample_spatial_ref]') AND type in (N'V')) DROP VIEW [dbo].[bfn_sample_spatial_ref] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE VIEW [dbo].[bfn_sample_spatial_ref] AS select sample_key, case when Spatial_ref_system = 'QQQ' and len(spatial_ref) = 8 then lat + 0.00625 --'qqq' when Spatial_ref_system = 'QQQ' and len(spatial_ref) = 7 then lat + 0.0125 --'qq' when Spatial_ref_system = 'QQQ' and len(spatial_ref) = 6 then lat + 0.025 --'q' when Spatial_ref_system = 'QQQ' and len(spatial_ref) = 4 then lat + 0.05 --'m' when Spatial_ref_system = 'QYX' and len(spatial_ref) = 8 then lat + 0.00833333333333333 --'qyx' when Spatial_ref_system = 'QYX' and len(spatial_ref) = 6 then lat + 0.025 --'q' when Spatial_ref_system = 'QYX' and len(spatial_ref) = 4 then lat + 0.05 --'m' else lat end as lat_center, case when Spatial_ref_system = 'QQQ' and len(spatial_ref) = 8 then long + 0.01041666666666666 --'qqq' when Spatial_ref_system = 'QQQ' and len(spatial_ref) = 7 then long + 0.02083333333333333 --'qq' when Spatial_ref_system = 'QQQ' and len(spatial_ref) = 6 then long + 0.02083333333333333 --'q' when Spatial_ref_system = 'QQQ' and len(spatial_ref) = 4 then long + 0.08333333333333333 --'m' when Spatial_ref_system = 'QYX' and len(spatial_ref) = 8 then long + 0.00833333333333333 --'qyx' when Spatial_ref_system = 'QYX' and len(spatial_ref) = 6 then long + 0.02083333333333333 --'q' when Spatial_ref_system = 'QYX' and len(spatial_ref) = 4 then long + 0.08333333333333333 --'m' else LONG end as long_center, case when Spatial_ref_system = 'QQQ' and len(spatial_ref) = 8 then geography::Point(lat + 0.00625, long + 0.01041666666666666, 4326) --'qqq' when Spatial_ref_system = 'QQQ' and len(spatial_ref) = 7 then geography::Point(lat + 0.0125, long + 0.02083333333333333, 4326) --'qq' when Spatial_ref_system = 'QQQ' and len(spatial_ref) = 6 then geography::Point(lat + 0.025, long + 0.02083333333333333, 4326) --'q' when Spatial_ref_system = 'QQQ' and len(spatial_ref) = 4 then geography::Point(lat + 0.05, long + 0.08333333333333333, 4326) --'m' when Spatial_ref_system = 'QYX' and len(spatial_ref) = 8 then geography::Point(lat + 0.00833333333333333, long + 0.00833333333333333, 4326) --'qyx' when Spatial_ref_system = 'QYX' and len(spatial_ref) = 6 then geography::Point(lat + 0.025, long + 0.02083333333333333, 4326) --'q' when Spatial_ref_system = 'QYX' and len(spatial_ref) = 4 then geography::Point(lat + 0.05, long + 0.08333333333333333, 4326) --'m' else geography::Point(lat, long, 4326) end as center_geom from SAMPLE where LAT is not null GO GRANT SELECT ON [dbo].[bfn_sample_spatial_ref] TO PUBLIC
Führen Sie das Script aus. Drücken Sie dazu den Ausführen-Knopf auf der SQL-Editor-Symbolleite, oder wählen Sie Abfrage→Ausführen.
Der Code erstellt ein neues View in Ihrer Recorder Datenbank. Dabei werden aus den Recorder Raumreferenzen der Aufnahmen (Tabelle Sample) Geometrien erzeugt und gleichzeitig Koordinaten von Rasterpunkten der deutschen Rastersysteme in das Zentrum des Rasters verlegt.
Schritt 3: DNS erstellen
Um Quantum GIS mit dem SQL-Server verbinden zu können, müssen Sie zunächst eine DNS erstellen.
Windows 7
Klicken Sie im Menü Start auf Systemsteuerung, in der Systemsteuerung auf Verwaltung und dort auf Datenquellen (ODBC); alternativ geben Sie im Startmenü "Datenquellen ein und wählen den gefundenen Eintrag "Datenquellen (ODBC)" aus.
Wählen Sie den Reiter "Benutzer-DSN". Klicken Sie auf [Hinzufügen] Wählen Sie den Treiber "SQL Server" aus der Treiberliste aus (es sind auch andere möglich, gegebenenfalls müssen Sie das austesten. Vergeben Sie einen Namen für die DSN (z.B. Recorder und geben Sie unter Server die SQL-Server Instanz Ihrer Recorder-Datenbank an. Diese setzt sich aus em Computernamen + dem Instanznamen susammen also MeinPC/Instanz. Im Zweifelsfall nutzen Sie das kleine Tool RecorderInfo. Sie finden es unter Ihrer Recorder Installation im Ordner Helferlein. Starten Sie das Programm mit Doppelklick, wählen Sie Recorder 6 Infos holen. Suchen Sie den Eintrag unter Server Name: und kopieren Sie den Inhalt.
Bestätigen Sie mit Fertigstellen. Die neu erstellte Datenbankverbindung kann jetzt genutzt werden.
Schritt 4: Verbindung zu Recorder in QGIS erstellen.
Wählen Sie aus dem Hauptmenü Layer→Räumlichen MSSQL Layer hinzufügen. Klicken Sie auf Neu und erstellen Sie eine neue Verbindung mit folgenden Daten:
- Name: Recorder (frei wählbar!)
- Lieferant/DSN: RecorderTestdb (Name der soeben erstellten DSN)
- Host: (kein Eintrag!)
- Datenbank: NBNData (abweichenden Datenbanknamen mit RecorderInfo erfragen)
- Vertrauenswürdige Verbindung: ausgewählt
IF EXISTS (SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'[dbo].[v_qgis_link]') AND type in (N'V')) DROP VIEW [dbo].[v_cts_qgis_link] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE VIEW [dbo].[v_cts_qgis_link] as select bssr.center_geom, itn.ACTUAL_NAME, s.SAMPLE_REFERENCE, itn.SORT_ORDER, ldf.datestring from bfn_sample_spatial_ref bssr inner join SAMPLE s on bssr.sample_key = s.SAMPLE_KEY join taxon_occurrence toc on toc.SAMPLE_KEY = s.SAMPLE_KEY join LC_DATE_FILTER ldf on ldf.TAXON_OCCURRENCE_KEY = toc.TAXON_OCCURRENCE_KEY left join TAXON_DETERMINATION td on td.TAXON_OCCURRENCE_KEY = toc.TAXON_OCCURRENCE_KEY join INDEX_TAXON_NAME itn on itn.TAXON_LIST_ITEM_KEY = td.TAXON_LIST_ITEM_KEY where td.PREFERRED = 1 GO GRANT SELECT ON [dbo].[v_cts_qgis_link] TO PUBLIC