Recorder mit QGIS verbinden

Aus Recorder-Wiki
Version vom 20. Januar 2014, 16:15 Uhr von Thomas Schneider (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „'''Dieses Tutorial ist zur Zeit in Bearbeitung''' [http://de.wikipedia.org/wiki/Quantum_GIS QGis] oder [http://de.wikipedia.org/wiki/Quantum_GIS Quantum Gis] …“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

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. Diese kann Geometrie-Daten nutzen und verwalten.

Vorgehensweise. Installieren Sie QGIS von der offiziellen Website des Projektes.

Unter 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. Straten 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 Qunatum Gis mit dem SQL-Server verbinden zu können, müssen Sie zunächst eine DNS erstellen. Jetzt müssen Sie


Wechseln Sie zu Quantum GIS und