[FOSSGIS-Talk] MS Access an QGOS
"Sebastian Teßmer"
SebastianTessmer at gmx.de
Di Mär 8 15:09:11 CET 2016
Hallo Maximillian,
vielen Dank, das macht Mut uns ist genau das, was ich suche.
Leider bin ich ein absoluter Python Neuling (deswegen auch VBA
Programmierung),
wenn du mir da vielleicht noch etwas konkreteren Code machen könntest,
wäre ich dir sehr zu Dank verpflichtet.
Die Voraussetzung mit PostGIS ist gegeben, da ja auch mein Access
darauf aufbaut.
Schön wäre es schon, wenn QGIS im laufenden Betrieb genutzt werden
würde,
aufgrund der Perfomance :)
Zu schreibendes Skript in Access bekomme ich hin, nur beim Rest brauch
ich schon Hilfe.
Vielen Dank dir erstmal.
MfG Sebastian
Gesendet: Dienstag, 08. März 2016 um 14:56 Uhr
Von: "Maximilian Krambach" <Maximilian.Krambach at gmx.de>
An: "Sebastian Teßmer" <SebastianTessmer at gmx.de>
Cc: "FOSSGIS FOSS-GIS Community" <fossgis-talk-liste at fossgis.de>
Betreff: Aw: [FOSSGIS-Talk] MS Access an QGOS
Hallo Sebastian,
ich stell mir das (relativ) einfach vor. Ein Access- Makro erstellen,
was die eingetragene Zeile per ID ausliest (kenne mich da noch nicht
aus), und dann ein python-skript ausführt, dass 1. den Layer lädt, 2.
die übergebenen Argumente liest und 3. auf die gewählten Features
zoomt. (wenn es ein bisschen Zeit hat, könnte ich heut abend mal
versuchen, was konkretes zu schreiben, unten nur eine nicht wirklich
funktionierende erste Skizze).
Die Voraussetzung: Hinter der Access-Datenbank steckt wirklich was für
QGIS abfragbares (z.B. eine PostGIS-Datenbank)
Grüße, Maximilian.
----
1. Skript/Makro in Access:
a) Lese die ID des jeweiligen Eintrages
b) führe aus: "qgis.exe --code python.py ID1 ID2 ... IDn ".
#TODO: Startet derzeit QGIS jedes Mal neu, was wohl das flüssige
Arbeiten stören dürfte
---
2. python.py
import sys
#oeffne layer von postgis, wenn der nicht schon offen ist
if vlayer == None:
uri = QgsDataSourceURI()
uri.setConnection("localhost", "5432", "DBNAME", "USER",
"PASSWORD")
uri.setDataSource("public", "FLURSTÜCKE", "the_geom")
vlayer = QgsVectorLayer(uri.uri(), "LAYER NAME", "postgres")
QgsMapLayerRegistry.instance().addMapLayer(vlayer)
#lese IDS von der Kommandozeile
expression = "ID = " + sys.argv
#Waehle IDS aus
ids = request = QgsFeatureRequest().setFilterExpression( expression )
it = l.getFeatures( request )
vlayer.setSelectedFeatures(ids)
#zoom zu gewaehlten Stuecken
box = vlayer.boundingBoxOfSelected()
iface.mapCanvas().setExtent(box)
iface.mapCanvas().refresh()
Gesendet: Dienstag, 08. März 2016 um 14:02 Uhr
Von: "Sebastian Teßmer" <SebastianTessmer at gmx.de>
An: "FOSSGIS FOSS-GIS Community" <fossgis-talk-liste at fossgis.de>
Betreff: [FOSSGIS-Talk] MS Access an QGOS
Hallo zusammen,
heute mal wieder was ganz anderes zum Nachfragen.
Ich habe eine Access - Datenbank, die mit einer PostGIS Datenbank
hinterlegt ist.
Sie dient quasi als FrontEnd. Nun m�chte ich ein
Flurst�ck in einem
Formular ausw�hlen
und dann direkt in QGIS dahin springen.
Eventuell m�chte ich auch mehrere Flurstr�cke im Formular
w�hlen,
welche dann in QGIS
hervorgehoben werden sollen.
Ich wei�, das klingt sehr utopisch, aber vielleicht hat
irgendwer eine
Idee, wie das gehen kann
oder vielleicht einen anderen Vorschlag, wie man das umsetzen kann.
Vielen Dank!
MfG Sebastian
--
....................................................................
FOSSGIS 2016, Die Konferenz f�r Open Source GIS mit OpenData und
OpenStreetMap in Zusammenarbeit mit der AGIT 2016!
4.-6. Juli 2016 in Salzburg (3. Juli OpenStreetMap Workshoptag)
[1]http://www.fossgis.de/konferenz/2016/
AGIT 2016 vom 6.-8. Juli 2016
[2]http://agit.at/
FOSS4G 2016 Bonn - annual global event of the Open Source Geospatial
Foundation (OSGeo) - 24.-26. August 2016 in Bonn (zus�tzlich
noch
FOSS4G Hacking Event und Workshops)
[3]http://2016.foss4g.org
FOSSGIS e.V, der Verein zur F�rderung von Freier Software aus
dem
GIS-Bereich und Freier Geodaten!
[4]http://www.fossgis.de/ [5]https://twitter.com/fossgis_eV
____________________________________________________________________
FOSSGIS-Talk-Liste mailing list
FOSSGIS-Talk-Liste at fossgis.de
[6]https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste
References
1. http://www.fossgis.de/konferenz/2016/
2. http://agit.at/
3. http://2016.foss4g.org/
4. http://www.fossgis.de/
5. https://twitter.com/fossgis_eV
6. https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste