<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>QGis on Mein Blog</title>
    <link>https://blog.velocarte66.fr/tags/qgis/</link>
    <description>Recent content in QGis on Mein Blog</description>
    <image>
      <title>Mein Blog</title>
      <url>https://blog.velocarte66.fr/images/papermod-cover.png</url>
      <link>https://blog.velocarte66.fr/images/papermod-cover.png</link>
    </image>
    <generator>Hugo</generator>
    <language>de</language>
    <lastBuildDate>Sat, 09 May 2026 12:49:21 +0200</lastBuildDate>
    <atom:link href="https://blog.velocarte66.fr/tags/qgis/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>QGIS: Geocodierte Fotos auf einer Karte anzeigen</title>
      <link>https://blog.velocarte66.fr/posts/qgis-georeferenzierte-fotos-auf-einer-karte-anzeigen/</link>
      <pubDate>Sat, 09 May 2026 12:49:21 +0200</pubDate>
      <guid>https://blog.velocarte66.fr/posts/qgis-georeferenzierte-fotos-auf-einer-karte-anzeigen/</guid>
      <description>&lt;p&gt;Hier wird ein Verfahren beschrieben, mit dem man unter Linux eine Sammlung geocodierter Fotos mit QGis auf einer Karte darstellen kann. Die Fotos können in beliebig geschachtelten Unterverzeichnissen liegen. Ausgewertet werden die EXIF-Tags &lt;em&gt;GPSLongitude&lt;/em&gt; und &lt;em&gt;GPSLatitude&lt;/em&gt;. In einem ersten Schritt werden die Fotos analysiert und eine SQLite/SpatiaLite-Datenbank erstellt. Im zweiten Schritt wird diese Datei in einen QGis-Layer geladen und der Layer so konfiguriert, dass  beim Überfahren der Position eines Fotos mit der Maus das Foto angezeigt wird.&lt;/p&gt;</description>
    </item>
    <item>
      <title>QGis: Animation von GPX-Tracks mit Heatmap</title>
      <link>https://blog.velocarte66.fr/posts/qgis-tracks-heatmap/</link>
      <pubDate>Thu, 07 May 2026 08:20:14 +0100</pubDate>
      <guid>https://blog.velocarte66.fr/posts/qgis-tracks-heatmap/</guid>
      <description>Mit QGis ist es recht einfach, Geodaten auf der Zeitachse zu animieren. Hier beschreibe ich, wie ich das nutze, um meine Radtouren dynamisch darzustellen.</description>
    </item>
    <item>
      <title>QGis: Nicht befahrene Straßen ermitteln</title>
      <link>https://blog.velocarte66.fr/posts/qgis-nicht-befahrene-strassen/</link>
      <pubDate>Sun, 23 Nov 2025 08:20:14 +0100</pubDate>
      <guid>https://blog.velocarte66.fr/posts/qgis-nicht-befahrene-strassen/</guid>
      <description>Inspiriert von wandrer.earth habe ich nach einer Möglichkeit gesucht - ohne Strava und Wandrer zu nutzen - von mir noch nicht mit dem Fahrrad befahrene Straßen in meiner Umgebung zu visualisieren, um dann gezielt neue Strecken zu erkunden. Hier beschreibe ich eine lokale Lösung mit QGIS.</description>
    </item>
    <item>
      <title>GeoActivityPlayground: Tiles innerhalb eines Gebiets</title>
      <link>https://blog.velocarte66.fr/posts/missing-tiles-innerhalb-gebiet/</link>
      <pubDate>Fri, 08 Aug 2025 10:11:00 +0200</pubDate>
      <guid>https://blog.velocarte66.fr/posts/missing-tiles-innerhalb-gebiet/</guid>
      <description>&lt;p&gt;Seitdem ich &lt;em&gt;Geo Activity Playground&lt;/em&gt; entdeckt habe , versuche ich, meine persönliche Missing-Tiles-Statistik zu verbessern. &lt;em&gt;GeoActivityPlayground&lt;/em&gt; unterstützt dabei, indem es die befahrenen und nicht befahrenen Tiles auf der Karte anzeigt und Tile-Cluster markiert. Da ich mit dem Cluster in dem Gebiet, das ich von zu Hause aus oder mit einer akzeptablen Bahnfahrt erreichen kann, so langsam an meine Grenzen stoße, habe ich mich nach einer anderen Herausforderung umgeschaut. Dabei habe ich festgestellt, dass mir noch Tiles in einigen entfernten Ecken des Landkreises fehlen. Ich habe darauf hin nach einer Möglichkeit gesucht, diese Tiles zu zu identifizieren. Eine Lösung mit &lt;em&gt;QGis&lt;/em&gt; beschreibe ich hier.&lt;/p&gt;</description>
    </item>
    <item>
      <title>QGIS: &#34;Traveling Salesman&#34;-Routing mit den ORS Tools</title>
      <link>https://blog.velocarte66.fr/posts/qgis-traveling-salesman-routing/</link>
      <pubDate>Fri, 18 Jul 2025 17:51:00 +0200</pubDate>
      <guid>https://blog.velocarte66.fr/posts/qgis-traveling-salesman-routing/</guid>
      <description>&lt;p&gt;Im Umfeld von OpenStreetMap kommt es immer wieder mal vor, dass man eine Reihe von Objekten erkunden möchte, z.B. alle seit Jahren nicht mehr überprüften Geschäfte einer Stadt. Es ist recht einfach, solche Objekte aus der OSM-Datenbank zu extrahieren. Einen GPX-Track zu erstellen, mit dem man alle gefundenen Objekte auf optimale Weise abfahren kann, ist dagegen recht mühsam. Diese Aufgabenstellung, also den optimalen Weg zu ermitteln, auf dem eine Menge von geografischen Punkten besucht werden kann, wird &lt;a href=&#34;https://de.wikipedia.org/wiki/Problem_des_Handlungsreisenden&#34;&gt;Traveling Salesman Problem&lt;/a&gt; genannt, auf deutsch &lt;em&gt;Problem des Handlungsreisenden&lt;/em&gt;. Das Problem kann im Prinzip nur durch Ausprobieren aller Möglichkeiten gelöst werden, so dass der Aufwand mit der Zahl der Punkte exponentiell ansteigt. Die meisten verfügbaren Lösungen sind daher nicht perfekt, aber für den Hausgebrauch ausreichend. Neben OsmAnd und QMapShack bietet &lt;a href=&#34;https://openrouteservice.org/&#34;&gt;openrouteservice.org&lt;/a&gt; über sein API ein Traveling-Salesman-Routing an. Dieses kann auch über das QGis-Plugin &lt;em&gt;ORS Tools&lt;/em&gt; genutzt werden.&lt;/p&gt;</description>
    </item>
    <item>
      <title>QGIS: GUI-Problem unter unter Linux</title>
      <link>https://blog.velocarte66.fr/posts/qgis-gui-problem-unter-linux/</link>
      <pubDate>Mon, 22 Jul 2024 08:38:55 +0200</pubDate>
      <guid>https://blog.velocarte66.fr/posts/qgis-gui-problem-unter-linux/</guid>
      <description>&lt;p&gt;Ich nutze nach Möglichkeit das mit dem von mir eingesetzten Debian-Release ausgelieferte QGIS. Dass es dabei immer wieder mal zu Problemen kommt, bin ich gewohnt und ist bei einem Entwicklungs-Release wie Debian Testing nicht ungewöhnlich. Als bei der QGIS-Version 3.34 die Fenster und Icons der Bedienoberfläche unvollständig und überlappt angezeigt wurden, bin ich daher zunächst auf ein Flatpak-Paket der QGIS-Version 3.28 umgestiegen. Als die störenden Effekte in der Debian-Version auch nach längerer Zeit nicht verschwunden sind, habe ich mich an die Fehlersuche gemacht.




   
      
         
      
      
            
      
   




 
&lt;figure&gt;
   &lt;a href=&#34;https://blog.velocarte66.fr/images/2024-07-22-qgis-ui/2024-07-22_01.png&#34;&gt;
       &lt;img src=&#34;https://blog.velocarte66.fr/images/2024-07-22-qgis-ui/2024-07-22_01_hu_da20efb583ec0e15.webp&#34;
            alt=&#34;Werkzeugleiste&#34;/&gt;
    &lt;/a&gt;
  
  &lt;figcaption&gt;&lt;p&gt;Werkzeugleiste&lt;/p&gt;</description>
    </item>
    <item>
      <title>Digitale Geländedaten im 5m-Raster von IGN France mit QMapShack nutzen</title>
      <link>https://blog.velocarte66.fr/posts/dtm_5m_ign_france/</link>
      <pubDate>Mon, 08 May 2023 19:47:55 +0200</pubDate>
      <guid>https://blog.velocarte66.fr/posts/dtm_5m_ign_france/</guid>
      <description>&lt;h2 id=&#34;ign-rge-alti-digitale-höhendaten&#34;&gt;IGN RGE Alti Digitale Höhendaten&lt;/h2&gt;
&lt;p&gt;Das französische &lt;em&gt;Institut national de l’information géographique et forestière (IGN)&lt;/em&gt; bietet unter dem Produktnamen &lt;em&gt;RGE ALTI®&lt;/em&gt; digitale Höhendaten (DTM. &lt;strong&gt;D&lt;/strong&gt;igital &lt;strong&gt;T&lt;/strong&gt;errain &lt;strong&gt;M&lt;/strong&gt;odel) im 5m- und 1m-Raster zum freien Download an. Die Daten stehen als Kacheln mit 1000x1000 Pixeln, also 5kmx5km beim 5m-Raster, zur Verfügung. Die Kacheln sind im &lt;a href=&#34;https://en.wikipedia.org/wiki/Esri_grid&#34;&gt;Esri ASCII Grid Format&lt;/a&gt; codiert. Um sie in QMapShack nutzen zu können, müssen sie in das &lt;a href=&#34;https://de.wikipedia.org/wiki/GeoTIFF&#34;&gt;GeoTIFF-Format&lt;/a&gt; umgewandelt werden. Ein einfacher Workflow dafür wird nachfolgend für Linux Debian beschrieben.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mit dem Fahrrad befahrene Departements in Frankreich</title>
      <link>https://blog.velocarte66.fr/posts/befahrene_departements/</link>
      <pubDate>Mon, 18 Jul 2022 20:57:38 +0200</pubDate>
      <guid>https://blog.velocarte66.fr/posts/befahrene_departements/</guid>
      <description>&lt;p&gt;Auf dieser Karte sind alle Departements eingefärbt, die ich in den letzten zehn Jahren mit dem Fahrrad bereist habe:&lt;/p&gt;
   &lt;script&gt;
      
      
         const trackFile = [];
         const trackName = [];
         const trackColor = [];
         const trackPage = [];
         const trackWpt = [];
      
        trackFile[ 0 ]=&#34;/files/dep2026.geojson&#34; ;
      ;
        trackColor[ 0 ]=&#34;#ff0000&#34; ;
      ;
       trackWpt[ 0 ]=&#34;yes&#34; ;
  &lt;/script&gt;

   &lt;link rel=&#34;stylesheet&#34; href=&#34;https://blog.velocarte66.fr/css/index.css&#34;&gt;
   &lt;div id=&#34;map&#34; &gt;&lt;/div&gt;
   &lt;div id=&#34;hover&#34; class=&#34;ol-popup&#34;&gt;
      &lt;div id=&#34;hover-content&#34;&gt;&lt;/div&gt;
   &lt;/div&gt;
   &lt;script type=&#34;module&#34; crossorigin src=&#34;https://blog.velocarte66.fr/js/index.js&#34;&gt;&lt;/script&gt;

&lt;p&gt;Die angezeigten Daten wurden mit QGIS nach der &lt;a href=&#34;https://blog.velocarte66.fr/posts/qgis-verwaltungseinheiten-ermitteln-durch-die-ein-gpx-track-fuhrt/&#34;&gt;in diesem Post&lt;/a&gt; beschriebenen Methode erstellt.&lt;/p&gt;</description>
    </item>
    <item>
      <title>QGIS: Karte mit den Verwaltungseinheiten erstellen, durch die ein GPX-Track führt</title>
      <link>https://blog.velocarte66.fr/posts/qgis-verwaltungseinheiten-ermitteln-durch-die-ein-gpx-track-fuhrt/</link>
      <pubDate>Tue, 02 Jul 2019 19:42:56 +0200</pubDate>
      <guid>https://blog.velocarte66.fr/posts/qgis-verwaltungseinheiten-ermitteln-durch-die-ein-gpx-track-fuhrt/</guid>
      <description>Hier wird gezeigt, wie man mit QGIS auf sehr einfache Weise eine Karte der Verwaltungseinheiten (Landkreise, Departements) erzeugen kann, durch welche ein GPX-Track führt.</description>
    </item>
    <item>
      <title>Georeferenziertes Rasterbild aus OSM-Daten erstellen</title>
      <link>https://blog.velocarte66.fr/posts/georeferenziertes-rasterbild-aus-osm-daten-erstellen/</link>
      <pubDate>Mon, 05 Dec 2016 16:29:17 +0100</pubDate>
      <guid>https://blog.velocarte66.fr/posts/georeferenziertes-rasterbild-aus-osm-daten-erstellen/</guid>
      <description>&lt;p&gt;Hier wird beschrieben, wie man mit Hilfe des Overpass-API, QGIS und GDAL auf der Grundlage der Openstreetmap-Daten ein georeferenziertes Rasterbild erstellen kann.  Als Beispiel wird das Radwegenetz der Städe Ulm und Neu-Ulm verwendet.&lt;/p&gt;
&lt;h1 id=&#34;extrahieren-der-openstreetmap-daten&#34;&gt;Extrahieren der Openstreetmap-Daten&lt;/h1&gt;
&lt;p&gt;Dies geschieht am einfachsten mit dem QGIS-Plugin QuickOSM. Dieses Plugin ermöglicht es, Openstreetmap-Daten über das &lt;a href=&#34;https://wiki.openstreetmap.org/wiki/Overpass_API&#34;&gt;Overpass-API&lt;/a&gt; mit der Abfragesprache &lt;a href=&#34;https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL&#34;&gt;Overpass QL&lt;/a&gt; herunter zu laden und in QGIS als Layer anzuzeigen. Nach Installation des Plugins wird es über &lt;em&gt;Vektor-&amp;gt;QuickOSM-&amp;gt;QuickOSM&lt;/em&gt; gestartet. Für das Beispiel wird die folgende Overpass-Abfrage verwendet:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Animierte Tracks erstellen mit QGIS</title>
      <link>https://blog.velocarte66.fr/posts/animierte-tracks-erstellen-mit-qgis/</link>
      <pubDate>Thu, 14 Apr 2016 14:01:15 +0200</pubDate>
      <guid>https://blog.velocarte66.fr/posts/animierte-tracks-erstellen-mit-qgis/</guid>
      <description>&lt;p&gt;Hier wird beschrieben, wie man aus einem GPX-Track eine Animation der Strecke erstellen kann. Die Animation besteht darin, dass der Track abschnittsweise oder punktweise gezeichnet wird.&lt;/p&gt;
&lt;h1 id=&#34;punktweise-animation&#34;&gt;Punktweise Animation&lt;/h1&gt;
&lt;p&gt;Für die Animation des Tracks wird das QGIS-Plugin &lt;em&gt;TimeManager&lt;/em&gt; verwendet. Dieses Plugin stellt die Objekte eines Layers zeitlich verzögert entsprechend einem Zeitstempel aus den Objektattributen dar.  Da GPX-Dateien für Tracks keinen Zeitstempel und auch kein anderes als Zeitstempel interpretierbares Attribut enthalten, wird die GPX-Datei mit dem Programm &lt;em&gt;gpx2shp&lt;/em&gt; in eine ESRI-Shape-Datei konvertiert:&lt;/p&gt;</description>
    </item>
    <item>
      <title>OSM: Zugriff auf die Attribute des Admin_Centre beim Rendern von Verwaltungsgrenzen</title>
      <link>https://blog.velocarte66.fr/posts/osm-zugriff-auf-die-attribute-des-admin_centre-beim-rendern-von-verwaltungsgrenzen/</link>
      <pubDate>Fri, 04 Oct 2013 15:16:16 +0200</pubDate>
      <guid>https://blog.velocarte66.fr/posts/osm-zugriff-auf-die-attribute-des-admin_centre-beim-rendern-von-verwaltungsgrenzen/</guid>
      <description>&lt;div class=&#39;drupal-import&#39;&gt;
In der OpenStreetMap-Datenbank sind die Informationen über Verwaltungseinheiten (Gemeinden, Kreise, Länder) meist auf die Grenzrelation und den Knoten mit der Rolle &lt;em&gt;admin_centre&lt;/em&gt; verteilt. Will man zum Rendern der Grenze oder Fläche einer Verwaltungseinheit auf Informationen zurückgreifen, die beim Knoten gespeichert sind, z.B. das Attribut &lt;em&gt;population&lt;/em&gt; oder &lt;em&gt;name:xx&lt;/em&gt;, dann stellt man fest, dass üblichen Werkzeuge diese Informationen nicht bereit stellen. Nachfolgend werden Methoden beschrieben, wie man dieses Problem bei mit osm2pgsql erstellten Datenbanken und bei aus OSM erzeugten Shape-Dateien lösen kann.
&lt;!--break--&gt;
&lt;h1&gt;PostGis / osm2pgsql&lt;/h1&gt;
osm2pgsql überträgt zwar Attribute der äußeren Wege, also der Wege mit Rolle outer, auf das für die Relation erzeugte Polygon, für den Knoten mit der Rolle admin_centre wird nichts vergleichbares gemacht. Es wird auch kein Link vom Polygon zum Knoten erzeugt. Die im Slim-Modus von osm2pgsql erzeugte Tabelle &lt;code&gt;&amp;lt;prefix&amp;gt;_rels&lt;/code&gt; enthält zwar in der Spalte &lt;em&gt;members&lt;/em&gt; sämtliche Mitglieder der Relation und deren OSM-ID, aber leider in einer nicht direkt und effizient mit SQL auswertbaren Form. Beispiel:
&lt;code&gt;&lt;pre&gt;
psql -d osm -c  &#34;select members from planet_osm_rels\
                     where hstore(tags)-&gt;&#39;name&#39;=&#39;Corneilla-la-Rivière&#39;;&#34;
                               members
----------------------------------------------------------------------------
{w121772197,outer,w100006391,outer,w121772204,outer,n287557758,admin_centre}
&lt;/pre&gt;&lt;/code&gt;
Die Member der Relation werden also in einem Array abgelegt, zwei aufeinander folgende Array-Elemente pro Member. Mit einer kleinen Funktion kann man die Node-Id des Admin_Centre extrahieren:
&lt;pre&gt;
CREATE OR REPLACE FUNCTION admin_centre(anyarray)
   RETURNS bigint
   LANGUAGE sql
   AS $function$
      SELECT cast(substring($1[i] from 2) as bigint)
         FROM generate_series(array_lower($1,1),array_upper($1,1),2) i 
         WHERE $1[i+1]=&#39;admin_centre&#39;;$function$
&lt;/pre&gt;
Damit kann man nun die Polygone der Verwaltungsgrenzen zusammen mit den Attributen des Admin_Centre abfragen:
&lt;pre&gt;
select poly.name, point.name, point.&#34;name:ca&#34;, point.population 
   from planet_osm_rels r, 
        planet_osm_polygon poly, 
        planet_osm_point point 
   where poly.admin_level=&#39;8&#39; 
         and admin_centre(r.members) = point.osm_id 
         and r.id = -poly.osm_id ;
&lt;/pre&gt;
Je nach Anwendungsfall und Performanceanforderung kann man damit auch die benötigten Attribute in die jeweils andere Tabelle übertragen oder eine Tabelle mit der Zuordnung von Knoten zu Relationen erstellen:
&lt;pre&gt;
create table admin_rel 
   as select -id as rel_id,
             admin_centre(members) as admin_centre
        from planet_osm_rels 
        where hstore(tags)-&gt;&#39;boundary&#39;=&#39;administrative&#39; and 
              hstore(tags)-&gt;&#39;admin_level&#39;  in (&#39;8&#39;,&#39;6&#39;,&#39;4&#39;);
&lt;/pre&gt;
&lt;h1&gt;Shape-Dateien&lt;/h1&gt;
Hierfür wird die Osmium-Bibliothek, das darauf basierende Javascript-Tool &lt;code&gt;osmjs&lt;/code&gt; und QGis benutzt. Mit &lt;code&gt;osmjs&lt;/code&gt; können auf einfache Weise Shape-Dateien aus den Objekten einer OSM-Datei zu erzeugt werden. Wie bei &lt;code&gt;osm2pgsql&lt;/code&gt; werden dabei zwar Polygone aus Grenzrelationen erstellt, aber ohne Bezug zum &lt;code&gt;admin_centre&lt;/code&gt;. Es ist jedoch möglich, eine CSV-Datei zu erstellen, welche diesen Bezug enthält:
&lt;pre&gt;
/*
  Osmium Javascript Example:  shape_export.js

  run with: osmjs -2 -m -l sparsetable -j shape_export.js OSMFILE
*/

var shp_places = Osmium.Output.Shapefile.open(&#39;./places&#39;, &#39;point&#39;);
shp_places.add_field(&#39;id&#39;, &#39;string&#39;, 12);
shp_places.add_field(&#39;type&#39;, &#39;string&#39;, 32);
shp_places.add_field(&#39;name&#39;, &#39;string&#39;, 32);

var shp_boundaries = Osmium.Output.Shapefile.open(&#39;./boundaries&#39;, &#39;polygon&#39;);
shp_boundaries.add_field(&#39;id&#39;, &#39;integer&#39;, 10);
shp_boundaries.add_field(&#39;type&#39;, &#39;string&#39;, 32);
shp_boundaries.add_field(&#39;boundary&#39;, &#39;string&#39;, 255);
shp_boundaries.add_field(&#39;admin_level&#39;, &#39;string&#39;, 255);

var csv_file = Osmium.Output.CSV.open(&#34;./rels.csv&#34;);

var node_tags = {
    place: { village: &#39;villaget&#39;, city: &#39;city&#39;, town: &#39;town&#39;} //,
    //shop: { supermarket: &#39;supermarket&#39; }
}

Osmium.Callbacks.init = function() {
    print(&#34;Init&#34;);
}
Osmium.Callbacks.node = function() {
    for (var key in this.tags) {
        if (node_tags[key]) {
            var type = node_tags[key][this.tags[key]];
            if (type) {
                shp_places.add(this.geom, { id: this.id, type: type, name: this.tags.name });
            }
        }
    }
}
Osmium.Callbacks.area = function() {
    if (this.tags.boundary) {
        shp_boundaries.add(this.geom, { id: this.id, type: this.tags.boundary, admin_level: this.tags.admin_level});
    }
}
Osmium.Callbacks.relation = function() {
   for (var key in this.members) {
      for (var key2 in this.members[key]) {
         if (key2==&#39;role&#39; &amp;&amp; this.members[key].role==&#39;admin_centre&#39;){
            csv_file.print(this.id*2+1, this.members[key].ref, 
                           this.members[key].role, this.members[key].type);
         }
      }
   }
}
Osmium.Callbacks.end = function() {
    shp_places.close();
    shp_boundaries.close();
    csv_file.close();
    print(&#34;Done&#34;);
}
&lt;/pre&gt;
Das Skript erstellt eine Shape-Datei mit den Grenzpolygonen, eine Shape-Datei mit den Place-Knoten und eine CSV-Datei, welche die Ids der Grenzpolygone und der zugehörigen Place-Knoten enthält. Dabei wird berücksichtigt, dass &lt;code&gt;osmjs&lt;/code&gt;  den Polygonen eine Pseudo-ID mit dem Wert &lt;code&gt;[2 * OSM-ID der Relation + 1&lt;/code&gt; zuweist.

Diese drei Dateien lädt man als Layer in QGis. Dann verknüpft man den CSV-Daten-Layer über die Knoten-ID mit dem Knoten-Layer und anschliessend den Polygon-Layer über die Pseudo-ID mit dem Knoten-Layer. Will man die Daten mit Tilemill / Mapnik verenden, kann man die Polygon-Layer als Shape-Datei speichern.


&lt;/div&gt;</description>
    </item>
    <item>
      <title>QGIS mit Python-Unterstützung unter Debian Jessie</title>
      <link>https://blog.velocarte66.fr/posts/qgis-mit-python-unterstutzung-unter-debian-jessie/</link>
      <pubDate>Tue, 09 Jul 2013 14:22:37 +0200</pubDate>
      <guid>https://blog.velocarte66.fr/posts/qgis-mit-python-unterstutzung-unter-debian-jessie/</guid>
      <description>&lt;div class=&#39;drupal-import&#39;&gt;
Derzeit funktioniert die Python-Einbindung von QGis in Debian Jessie/Testing nicht. Das liegt daran, dass QGIS 1.7 die Version 8.1 des SIP-Interfaces unterstützt, in Jessie aber bereits auf SIP Version 10 umgestellt wurde. Versuche mit den Debian-Paketen für QGIS 1.8 von https://qgis.org/debian/ haben das Problem nicht behoben. Letztendlich habe ich QGIS 2.0 aus den Quellen erzeugt.
&lt;!--break--&gt;
&lt;ul&gt;
  &lt;li&gt;Quellen von &lt;a href=&#34;https://qgis.org/downloads/&#34;&gt;qgis.org&lt;/a&gt;  herunterladen.&lt;/li&gt;
  &lt;li&gt;Quellarchiv in ein Verzeichnis entpacken&lt;/li&gt;
  &lt;li&gt;Compilieren entsprechend der Anleitung in der Datei &lt;code&gt;INSTALL&lt;/code&gt;. Bei mir waren nur die Schritte aus Abschnitt 3.3. und 3.7. notwendig.&lt;/li&gt;
  &lt;li&gt;Beim Konfigurieren mit ccmake wird der Pfad &lt;code&gt;PYTHON_LIBRARY&lt;/code&gt; nicht automatisch gesetzt und muss daher von Hand eingetragen werden (in ccmake), z.B. &lt;code&gt;/usr/lib/x86_64-linux-gnu/libpython2.7.so&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;ldconfig&lt;/code&gt; ausführen. &lt;/li&gt;
&lt;/ul&gt;
(Stand: 14.09.2013)


&lt;/div&gt;</description>
    </item>
    <item>
      <title>GPX-Track auf OpenStreetMap-Karte anzeigen und ausdrucken</title>
      <link>https://blog.velocarte66.fr/posts/gpx-track-auf-openstreetmap-karte-anzeigen-und-ausdrucken/</link>
      <pubDate>Tue, 09 Jul 2013 08:49:01 +0200</pubDate>
      <guid>https://blog.velocarte66.fr/posts/gpx-track-auf-openstreetmap-karte-anzeigen-und-ausdrucken/</guid>
      <description>&lt;div class=&#39;drupal-import&#39;&gt;
Es gibt eine Reihe von Tools und Online-Diensten, mit denen man GPX-Tracks auf einer OpenStreetMap-Karte anzeigen kann: QLandkarteGT, GpsPrune, gpsies.com,... Beim Ausdrucken bzw. Erzeugen einer Vektorgrafik stößt man allerdings schnell an Grenzen. Die Darstellung der Tracks (Farbe, Breite, Transparenz) ist nicht konfigurierbar und der Zoomlevel wird anhand des Kartenausschnitts gewählt, usw. &lt;a href=&#34;https://www.youtube.com/watch?v=iBpScHEbX94&#34;&gt;Dieses Video&lt;/a&gt; hat mir einen Weg zur Lösung aufgezeigt: Quantum GIS (QGIS) mit OpenLayers-Plugin.
&lt;!--break--&gt;
&lt;h2&gt;OpenLayers-Plugin&lt;/h2&gt;
&lt;h3&gt;Installation&lt;/h3&gt;
Das &lt;em&gt;OpenLayers-Plugin&lt;/em&gt; ermöglicht es, OSM-Kacheln und Kacheln aus anderen mit OpenLayers darstellbaren Quellen (Google, Bing) in einem QGIS-Layer anzuzeigen. Dazu muss zunächst das Plugin installiert werden. Bis &lt;em&gt;QGIS 1.8&lt;/em&gt; funktioniert das problemlos mit mit dem Plugin Installer. Zunächst muss im Menü &#34;Erweiterungen&#34; der Plugin Installer installiert werden, dann kann mit diesem das OpenLayers-Plugin installiert werden. &lt;em&gt;QGIS 1.9/2.0&lt;/em&gt; ist mit dem Plugin nicht kompatibel. Es existiert aber ein Workaround, der hier beschrieben ist: [node:254].
&lt;h3&gt;Layer hinzufügen&lt;/h3&gt;
Danach erscheint im Menü &#34;Erweiterungen&#34; ein Untermenu &#34;Openlayers Plugin&#34;, über das eine Kachelquelle ausgewählt und mit einem Layer verknüpft werden kann.

Die Kacheln werden entsprechend dem Zoomlevel geschrumpft bzw, gedehnt, was zu einer unscharfen Darstellung führt. Ein Workaround besteht darin, den Maßstab explizit so einzustellen, dass die Kacheln in Original-Auflösung angezeigt werden. Stellt man den Maßstab 1:2257 ein, erhält man die Kacheln des Zoomlevels 18. Durch Zoomen mit der Maus bekommt man dann die Kacheln in den OSM-Zoomleveln angezeigt.
&lt;h3&gt;Weitere Kachelquelle hinzufügen&lt;/h3&gt;
Eine zusätzliche Kachequelle kann auf einfache Weise Hinzugefügt werden. Im Verzeichnis &lt;code&gt;~/.qgis2/python/plugins/openlayers_plugin/html&lt;/code&gt; existiert für jede Kachelquelle eine HTML-Datei, die den Javascript-Code enthält, mit dem der entsprechende OpenLayers-Layer erzeugt wird. Man erstellt nun eine Kopie einer dieser Dateien und passt den Code entsprechend an. Für OSM-kompatible Kachelquellen genügt es in der Regel, die Datei osm.html zu kopieren und den URL anzupassen.

Anschließend muss noch in &lt;code&gt;~/.qgis2/python/plugins/openlayers_plugin/openlayers_plugin.py&lt;/code&gt;, etwa bei Zeile 120, ein Eintrag für die neue Kachelquelle nach diesem Muster eingefügt werden:

&lt;code&gt;&lt;pre&gt;self.olLayerTypeRegistry.add( OlLayerType(self, &#39;OpenStreetMap&#39;, &#39;osm_icon.png&#39;, &#39;osm.html&#39;, True) )&lt;/pre&gt;&lt;/code&gt;

nach einem Neustart von QGIS ist die neue Kachelquelle verfügbar.

&lt;h2&gt;Alternative Methode&lt;/h2&gt; 
Ein anderer Weg zur Anzeige der OSM-Kacheln in QGIS ist &lt;a href=&#34;https://www.3liz.com/blog/rldhont/index.php?post/2012/07/17/OpenStreetMap-Tiles-in-QGIS&#34;&gt;hier&lt;/a&gt; beschrieben. 
&lt;h2&gt;GPX-Track&lt;/h2&gt;
Ein GPX-Track kann als Vektor-Layer angezeigt werden:
&lt;ul&gt;
   &lt;li&gt;Menüpunkt &lt;em&gt;Vektorlayer hinzufügen&lt;/em&gt; anwählen&lt;/li&gt;
   &lt;li&gt;im Dialog die GPX-Datei auswählen und öffen&lt;/li&gt;
   &lt;li&gt;im anschliessenden Auswahlfenster den Layer &lt;em&gt;tracks&lt;/em&gt; und ggf. weitere Layer auswählen und mit &lt;em&gt;OK&lt;/em&gt; bestätigen&lt;/li&gt;
   &lt;li&gt;im Layer-Fenster die Eigenschaften der Track-Linie festlegen: Farbe, Breite,...&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Karte drucken / Grafik erzeugen&lt;/h2&gt;
Hierzu wird der Dialog &lt;em&gt;Neue Druckzusammenstellung&lt;/em&gt; geöffnet und mit &lt;em&gt;neue Karte hinzufügen&lt;/em&gt; ein Kartenauschnit in das Druckblatt eingefügt. Dabei wird der Kartenausschnitt aus dem Hauptfenster übernommen. Dieser kann im Modus &lt;em&gt;Inhalt verschieben&lt;/em&gt; nach Belieben gezoomt und verschoben werden

Die so erzeugten Ausdrucke haben eine &lt;strong&gt;miserable Qualität&lt;/strong&gt;. Der Zoomlevel der Kacheln wird entsprechend Auflösung des Ausdrucks und der Größe des Kartenauschnitts automatisch gewählt. Dann werden die Kacheln skaliert um den gewählten Kartenausschnitt zu erhalten. Das Ergebnis ist in den meisten Fällen ziemlich unscharf und für den Druck in der Regel nicht verwendbar. 

Durch geeignete Wahl der Druckgröße und des Maßstabs des Kartenausschnitts kann man trotzdem eine akzeptable Bildqualität erreichen. Beispiele:

&lt;table&gt;
&lt;tr&gt;&lt;th&gt;Format&lt;/th&gt; &lt;th&gt;Auflösung (dpi)&lt;/th&gt; &lt;th&gt;Maßstab&lt;/th&gt; &lt;th&gt;Zoomlevel&lt;/th&gt; &lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;A4&lt;/td&gt;&lt;td&gt;300&lt;/td&gt;&lt;td&gt;57250&lt;/td&gt;&lt;td&gt;15&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;A4&lt;/td&gt;&lt;td&gt;150&lt;/td&gt;&lt;td&gt;57250&lt;/td&gt;&lt;td&gt;14&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;A4&lt;/td&gt;&lt;td&gt;72&lt;/td&gt;&lt;td&gt;57250&lt;/td&gt;&lt;td&gt;13&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;A1&lt;/td&gt;&lt;td&gt;72&lt;/td&gt;&lt;td&gt;57.250&lt;/td&gt;&lt;td&gt;13&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;A1&lt;/td&gt;&lt;td&gt;72&lt;/td&gt;&lt;td&gt;144.448&lt;/td&gt;&lt;td&gt;12&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;A1&lt;/td&gt;&lt;td&gt;300&lt;/td&gt;&lt;td&gt;144.448&lt;/td&gt;&lt;td&gt;14&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;A1&lt;/td&gt;&lt;td&gt;300&lt;/td&gt;&lt;td&gt;2.311.168&lt;/td&gt;&lt;td&gt;10&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;A1&lt;/td&gt;&lt;td&gt;72&lt;/td&gt;&lt;td&gt;577.792&lt;/td&gt;&lt;td&gt;10&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

Das beste Ergebnis erziele ich allerdings mit einer &lt;strong&gt;Bildschirmkopie&lt;/strong&gt;, da die Kacheln auf dem Bildschirm unskaliert dargestellt werden.


&lt;/div&gt;</description>
    </item>
  </channel>
</rss>
