[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&#65533;chte ich ein
   Flurst&#65533;ck in einem
   Formular ausw&#65533;hlen
   und dann direkt in QGIS dahin springen.
   Eventuell m&#65533;chte ich auch mehrere Flurstr&#65533;cke im Formular
   w&#65533;hlen,
   welche dann in QGIS
   hervorgehoben werden sollen.
   Ich wei&#65533;, 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&#65533;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&#65533;tzlich
   noch
   FOSS4G Hacking Event und Workshops)
   [3]http://2016.foss4g.org
   FOSSGIS e.V, der Verein zur F&#65533;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