QGIS meets MapProxy

 Python

 7 views
of 15
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Description
QGIS meets MapProxy Karten im Einsatz Gliederung  Vorstellung TopDeutschland  QGIS portabel  MapProxy  Plugin Entwicklung  Präsentation Plugin…
Share
Transcript
QGIS meets MapProxy Karten im Einsatz Gliederung  Vorstellung TopDeutschland  QGIS portabel  MapProxy  Plugin Entwicklung  Präsentation Plugin  Konfigurationsdateien  Plugin Fall Rechteck Sara Biesel ‫ ׀‬QGIS meets MapProxy ‫ ׀‬03.07.2016 ‫ ׀‬Seite 2 TopDeutschland  QGIS portabel  keine Installation  Sicherheitsbehörden Abbildung: Funktionsübersicht TopDeutschland Sara Biesel ‫ ׀‬QGIS meets MapProxy ‫ ׀‬03.07.2016 ‫ ׀‬Seite 3 QGIS portable  QGIS Desktop 2.6 Windows  C:\Users\xxxx\.qgis2\ -> Config Ordner  qgis.bat • path %PATH%;%OSGEO4W_ROOT%\config\python\plugins\ • start "Quantum GIS" /B %OSGEO4W_ROOT%\bin\qgis-bin.exe -- configpath "%OSGEO4W_ROOT%"\config %*  start.bat • call %DRV_LTR%\qgis\qgis.bat  QGIS Upgrade 2.14 • Python 2.7 Sara Biesel ‫ ׀‬QGIS meets MapProxy ‫ ׀‬03.07.2016 ‫ ׀‬Seite 4 Definition und Entwicklung  MapProxy • Kartenkacheln lokal speichern • vorgenerierte Speicherung -> Offline Modus Abbildung 2: Funktionsweise MapProxy Copyright © 2015 Omniscale GmbH & Co. KG Sara Biesel ‫ ׀‬QGIS meets MapProxy ‫ ׀‬03.07.2016 ‫ ׀‬Seite 5 Definition und Entwicklung  Qgis Plugin • view cache and seed extent: − Github • https://github.com/tmizu23/mapproxy_plugin − Python Paket • https://pypi.python.org/pypi/MapProxy • Bereiche seeden: − wms_updater Sara Biesel ‫ ׀‬QGIS meets MapProxy ‫ ׀‬03.07.2016 ‫ ׀‬Seite 6 wms_updater Abbildung 3: GUI wms_updater Sara Biesel ‫ ׀‬QGIS meets MapProxy ‫ ׀‬03.07.2016 ‫ ׀‬Seite 7 Yaml (Yet Another Markup Language)  cache: type: mbtiles filename: K:\Karten\eigene_Karten\DOP_BRD_gecacht.sqlite  layers: - name: '0' sources: [cache_DOP_sqlite_25832] title: DOP Deutschland  DOP_grid_25832: srs: 'EPSG:25832' bbox: [228121.057496, 5201997.75773, 1016511.43706, 6135486.33096] Sara Biesel ‫ ׀‬QGIS meets MapProxy ‫ ׀‬03.07.2016 ‫ ׀‬Seite 8 Yaml (Yet Another Markup Language)  sources: DOP_wms: coverage: datasource: 'Deutschland.shp' srs: EPSG:4326 req: layers: 'rgb' transparent: true url: http://sg.geodatenzentrum.de/wms_dop__XXXXXXX supported_srs: ['EPSG:25832'] type: wms Sara Biesel ‫ ׀‬QGIS meets MapProxy ‫ ׀‬03.07.2016 ‫ ׀‬Seite 9 seed  seeds: myseed1: caches: [cache_DOP_sqlite_25832] grids: [DOP_grid_25832] levels: from: 2 to: 2 mapproxy-seed –f wms_dop_sqlite_shape.yaml –s wms_dop_seed_sqlite_shape.yaml Sara Biesel ‫ ׀‬QGIS meets MapProxy ‫ ׀‬03.07.2016 ‫ ׀‬Seite 10 wms_updater (Fall Rechteck) def handleMouseDown(self, point, button): if button == Qt.LeftButton: self.rubberBand.addPoint(QgsPoint(float(point.x()),float(point.y()))) if self.count_point == 4: self.bbox = str("[" + str(round(self.min_x,2)) + "," + str(round(self.min_y,2)) + "," + str(round(self.max_x,2)) + "," + str(round(self.max_y,2)) + "]") canvas = qgis.utils.iface.mapCanvas() layers = canvas.layers() for layer in layers: if 'TopPlus' in layer.name(): kartenhintergrund = 't' Sara Biesel ‫ ׀‬QGIS meets MapProxy ‫ ׀‬03.07.2016 ‫ ׀‬Seite 11 wms_updater (Fall Rechteck) if kartenhintergrund == 't': yaml = open(str(path_ini + '\qgis\config\python\plugins\mapproxy_plugin\project\wms_topplus_sq lite_rechteck_selbst.yaml'), 'r') filedaten = yaml.read() ianfang = filedaten.index('title: ') iende = filedaten.index('services:') for i in range(ianfang,iende-1): old += filedaten[i] newdata = filedaten.replace(old, str('title: '+name_yaml.encode('utf- 8'))) anfang_coverage = newdata.index('coverage:') + 22 ende_coverage = newdata.index('srs: EPSG:25832') -8 Sara Biesel ‫ ׀‬QGIS meets MapProxy ‫ ׀‬03.07.2016 ‫ ׀‬Seite 12 wms_updater (Fall Rechteck) for l in range(anfang_coverage,ende_coverage+1): old_coverage += newdata[l] newdata_coverage = newdata.replace(old_coverage, self.bbox) k = open(str(path_ini + '\qgis\config\python\plugins\mapproxy_plugin\project\wms_topplus_ sqlite_rechteck_selbst.yaml'), 'w') k.write(newdata_coverage) massstab = canvas.scale() -> zoomlevel (seed.yaml) Laden der Kartenkacheln -> massstab Sara Biesel ‫ ׀‬QGIS meets MapProxy ‫ ׀‬03.07.2016 ‫ ׀‬Seite 13 Ausblick  Auswahl der Zoomlevel (mehrere)  Seeden beschleunigen (-c)  Formen transparent  automatisches Ableiten EPSG Code (Shapefile laden)  automatische Anpassung der Zoomlevel an Moinitorgröße Sara Biesel ‫ ׀‬QGIS meets MapProxy ‫ ׀‬03.07.2016 ‫ ׀‬Seite 14 Vielen Dank für Ihre Aufmerksamkeit! Kontakt Bundesamt für Kartographie und Geodäsie Referat GI2 Richard-Strauss-Allee 11 60598 Frankfurt Ansprechpartner Sara Biesel sara.biesel@bkg.bund.de www.bkg.bund.de Tel. +49 (0) 69 6333-260 Sara Biesel ‫ ׀‬QGIS meets MapProxy ‫ ׀‬03.07.2016 ‫ ׀‬Seite 15
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks